taxtank-core 0.17.14 → 0.18.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 (116) hide show
  1. package/bundles/taxtank-core.umd.js +5717 -5317
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +2 -2
  4. package/esm2015/lib/collections/bank.collection.js +15 -0
  5. package/esm2015/lib/collections/collection-dictionary.js +1 -1
  6. package/esm2015/lib/collections/collection.js +41 -56
  7. package/esm2015/lib/collections/exportable.collection.js +1 -1
  8. package/esm2015/lib/collections/property/property.collection.js +3 -3
  9. package/esm2015/lib/collections/vehicle-logbook.collection.js +2 -2
  10. package/esm2015/lib/db/Models/abstract-model.js +1 -1
  11. package/esm2015/lib/db/Models/bank/bank.js +1 -1
  12. package/esm2015/lib/forms/abstract.form.js +18 -3
  13. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +19 -0
  14. package/esm2015/lib/forms/bank/bank-account-loan.form.js +20 -0
  15. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +15 -0
  16. package/esm2015/lib/forms/bank/bank-account-properties.form.js +15 -0
  17. package/esm2015/lib/forms/bank/bank-account-property.form.js +13 -0
  18. package/esm2015/lib/forms/bank/bank-account.form.js +53 -0
  19. package/esm2015/lib/forms/bank/bank-login.form.js +19 -0
  20. package/esm2015/lib/forms/client/client-income-types.form.js +2 -8
  21. package/esm2015/lib/forms/index.js +8 -1
  22. package/esm2015/lib/forms/login/login.form.js +1 -1
  23. package/esm2015/lib/forms/register/register-client.form.js +4 -3
  24. package/esm2015/lib/forms/register/register-firm.form.js +2 -9
  25. package/esm2015/lib/forms/user/password.form.js +6 -6
  26. package/esm2015/lib/forms/user/reset-password.form.js +1 -1
  27. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +2 -2
  28. package/esm2015/lib/forms/vehicle/vehicle.form.js +6 -12
  29. package/esm2015/lib/interceptors/basiq.interceptor.js +35 -0
  30. package/esm2015/lib/interceptors/financial-year-interceptor.js +15 -4
  31. package/esm2015/lib/interceptors/interceptors.module.js +12 -1
  32. package/esm2015/lib/models/account-setup/account-setup-item.js +4 -2
  33. package/esm2015/lib/models/bank/bank-account-property.js +6 -2
  34. package/esm2015/lib/models/bank/bank-account.js +2 -1
  35. package/esm2015/lib/models/bank/bank-connection.js +18 -3
  36. package/esm2015/lib/models/bank/bank-login-data.js +6 -0
  37. package/esm2015/lib/models/bank/bank.js +6 -1
  38. package/esm2015/lib/models/client/client-portfolio-report.js +3 -2
  39. package/esm2015/lib/models/endpoint/endpoints.const.js +3 -1
  40. package/esm2015/lib/models/event/app-event-type.enum.js +39 -37
  41. package/esm2015/lib/models/loan/loan-payment.js +3 -2
  42. package/esm2015/lib/models/loan/loan.js +1 -6
  43. package/esm2015/lib/models/report/property/property-report-item.js +4 -2
  44. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +4 -2
  45. package/esm2015/lib/models/tax-summary/report-item-details.js +3 -2
  46. package/esm2015/lib/models/tax-summary/report-item.js +3 -2
  47. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  48. package/esm2015/lib/services/auth/auth.service.js +20 -4
  49. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +2 -5
  50. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +57 -2
  51. package/esm2015/lib/services/http/bank/basiq/basiq-connections-response.interface.js +2 -0
  52. package/esm2015/lib/services/http/bank/basiq/basiq-token-response.interface.js +2 -0
  53. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +42 -0
  54. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +35 -44
  55. package/esm2015/lib/services/http/rest/rest.service.js +1 -12
  56. package/esm2015/lib/services/http/user/user.service.js +7 -15
  57. package/esm2015/lib/validators/date-range.validator.js +22 -0
  58. package/esm2015/lib/validators/index.js +2 -1
  59. package/esm2015/lib/validators/password.validator.js +16 -3
  60. package/esm2015/lib/validators/require-autocomplete.js +14 -0
  61. package/esm2015/public-api.js +7 -1
  62. package/fesm2015/taxtank-core.js +6088 -5763
  63. package/fesm2015/taxtank-core.js.map +1 -1
  64. package/lib/collections/bank.collection.d.ts +7 -0
  65. package/lib/collections/collection-dictionary.d.ts +2 -1
  66. package/lib/collections/collection.d.ts +18 -31
  67. package/lib/collections/exportable.collection.d.ts +2 -1
  68. package/lib/db/Models/abstract-model.d.ts +1 -0
  69. package/lib/db/Models/bank/bank.d.ts +4 -0
  70. package/lib/forms/abstract.form.d.ts +18 -3
  71. package/lib/forms/bank/bank-account-add-manual.form.d.ts +10 -0
  72. package/lib/forms/bank/bank-account-loan.form.d.ts +5 -0
  73. package/lib/forms/bank/bank-account-migrate.form.d.ts +9 -0
  74. package/lib/forms/bank/bank-account-properties.form.d.ts +8 -0
  75. package/lib/forms/bank/bank-account-property.form.d.ts +5 -0
  76. package/lib/forms/bank/bank-account.form.d.ts +21 -0
  77. package/lib/forms/bank/bank-login.form.d.ts +11 -0
  78. package/lib/forms/client/client-income-types.form.d.ts +1 -2
  79. package/lib/forms/index.d.ts +7 -0
  80. package/lib/forms/login/login.form.d.ts +4 -1
  81. package/lib/forms/register/register-client.form.d.ts +1 -1
  82. package/lib/forms/register/register-firm.form.d.ts +2 -2
  83. package/lib/forms/user/password.form.d.ts +4 -1
  84. package/lib/forms/user/reset-password.form.d.ts +3 -1
  85. package/lib/forms/vehicle/vehicle-claim.form.d.ts +1 -1
  86. package/lib/forms/vehicle/vehicle.form.d.ts +3 -7
  87. package/lib/interceptors/basiq.interceptor.d.ts +15 -0
  88. package/lib/interceptors/financial-year-interceptor.d.ts +2 -0
  89. package/lib/models/account-setup/account-setup-item.d.ts +2 -1
  90. package/lib/models/bank/bank-account-property.d.ts +1 -0
  91. package/lib/models/bank/bank-account.d.ts +2 -0
  92. package/lib/models/bank/bank-connection.d.ts +8 -1
  93. package/lib/models/bank/bank-login-data.d.ts +17 -0
  94. package/lib/models/bank/bank.d.ts +1 -0
  95. package/lib/models/client/client-portfolio-report.d.ts +2 -1
  96. package/lib/models/event/app-event-type.enum.d.ts +38 -36
  97. package/lib/models/loan/loan-payment.d.ts +2 -1
  98. package/lib/models/loan/loan.d.ts +0 -2
  99. package/lib/models/report/property/property-report-item.d.ts +2 -1
  100. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +2 -1
  101. package/lib/models/tax-summary/report-item-details.d.ts +2 -1
  102. package/lib/models/tax-summary/report-item.d.ts +2 -1
  103. package/lib/services/auth/auth.service.d.ts +13 -2
  104. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +13 -1
  105. package/lib/services/http/bank/basiq/basiq-connections-response.interface.d.ts +9 -0
  106. package/lib/services/http/bank/basiq/basiq-token-response.interface.d.ts +9 -0
  107. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +17 -0
  108. package/lib/services/http/bank/basiq/basiq.service.d.ts +20 -11
  109. package/lib/services/http/rest/rest.service.d.ts +0 -5
  110. package/lib/services/http/user/user.service.d.ts +0 -1
  111. package/lib/validators/date-range.validator.d.ts +5 -0
  112. package/lib/validators/index.d.ts +1 -0
  113. package/lib/validators/password.validator.d.ts +6 -0
  114. package/lib/validators/require-autocomplete.d.ts +5 -0
  115. package/package.json +1 -1
  116. package/public-api.d.ts +6 -0
@@ -5,7 +5,6 @@ import { AppEvent } from '../../../models/event/app-event';
5
5
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
6
6
  import { map } from 'rxjs/operators';
7
7
  import { plainToClass } from 'class-transformer';
8
- import clone from 'lodash/clone';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "@angular/common/http";
11
10
  import * as i2 from "../../auth/jwt.service";
@@ -26,11 +25,15 @@ export class UserService {
26
25
  }
27
26
  listenEvents() {
28
27
  this.listenServiceSubscriptionUpdated();
29
- this.listenBasiqConcentUpdated();
30
28
  }
31
29
  get() {
32
30
  if (!this.cache) {
33
- this.fetch().subscribe();
31
+ this.fetch().subscribe(() => { }, (error) => {
32
+ // force logout user (clear localStorage) when get current user return error
33
+ if (error.status === 500) {
34
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CURRENT_USER_GET_FAILED, null));
35
+ }
36
+ });
34
37
  }
35
38
  return this.cacheSubject.asObservable();
36
39
  }
@@ -137,17 +140,6 @@ export class UserService {
137
140
  listenServiceSubscriptionUpdated() {
138
141
  this.eventDispatcherService.on(AppEventTypeEnum.SERVICE_SUBSCRIPTION_UPDATED).subscribe(() => this.resetCache());
139
142
  }
140
- listenBasiqConcentUpdated() {
141
- this.eventDispatcherService.on(AppEventTypeEnum.BASIQ_CONSENT_UPDATED).subscribe((isConfirmed) => {
142
- if (!isConfirmed) {
143
- return;
144
- }
145
- const user = clone(this.cache);
146
- user.clientDetails.basiqConsentExist = true;
147
- this.cache = user;
148
- this.cacheSubject.next(this.cache);
149
- });
150
- }
151
143
  }
152
144
  UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: i4.SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
153
145
  UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserService, providedIn: 'root' });
@@ -160,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
160
152
  type: Inject,
161
153
  args: ['environment']
162
154
  }] }]; } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFLakM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUNVLElBQWdCLEVBQ2hCLFVBQXNCLEVBQ3RCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUNDLFdBQWdCO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVBqRCxpQkFBWSxHQUF3QixJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQVM3RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJB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TCxDQUFDOzt5R0F2S1UsV0FBVyxzSUFTWixhQUFhOzZHQVRaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyIGFzIFVzZXJCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnd0U2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGgvand0LnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5pbXBvcnQge1NlcnZpY2VTdWJzY3JpcHRpb259IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQge1NzZVNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50L3NzZS5zZXJ2aWNlJztcbmltcG9ydCB7SUV2ZW50TGlzdGVuZXJ9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCB1c2VyXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVXNlcjtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFVzZXI+ID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlcj4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpO1xuICAgIHRoaXMubGlzdGVuQmFzaXFDb25jZW50VXBkYXRlZCgpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3VycmVudCB1c2VyXG4gICAqL1xuICBmZXRjaCgpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jdXJyZW50YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVzZXI6IFVzZXIgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJJZCcsIHVzZXIuaWQudG9TdHJpbmcoKSk7XG4gICAgICAgICAgLy8gQFRPRE8gcmVtb3ZlXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZpbmFuY2lhbFllYXInLCB1c2VyLmZpbmFuY2lhbFllYXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcblxuICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBuZXcgdXNlclxuICAgKi9cbiAgcmVnaXN0ZXIoZGF0YTogb2JqZWN0KTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcmVnaXN0cmF0aW9uYCwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHVzZXJcbiAgICovXG4gIHVwZGF0ZSh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvJHt1c2VyLmlkfWAsIHVzZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVVNFUl9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIGNoYW5nZVBhc3N3b3JkKGN1cnJlbnRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9jaGFuZ2VgLCB7Y3VycmVudFBhc3N3b3JkLCBuZXdQYXNzd29yZH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY292ZXJ5IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlY292ZXJ5UGFzc3dvcmQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVjb3ZlcnlgLCB7ZW1haWx9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB1c2VyIHBhc3N3b3JkXG4gICAqL1xuICByZXNldFBhc3N3b3JkKG5ld1Bhc3N3b3JkOiBzdHJpbmcsIHJlc2V0VG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGFzc3dvcmQvcmVzZXRgLCB7bmV3UGFzc3dvcmQsIHJlc2V0VG9rZW59KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maXJtIHJlZ2lzdGVyZWQgdXNlclxuICAgKi9cbiAgY29uZmlybSh2ZXJpZmljYXRpb25Db2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9jb25maXJtYXRpb25gLCB7dmVyaWZpY2F0aW9uQ29kZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBleGlzdGluZyB1c2VyXG4gICAqL1xuICBzZWFyY2goZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3NlYXJjaD9lbWFpbD0ke2VtYWlsfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1c2VyQmFzZTogVXNlckJhc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXIsIHVzZXJCYXNlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluaXNoIG9uYm9hcmRpbmcgcHJvY2Vzc1xuICAgKi9cbiAgZmluaXNoT25ib2FyZGluZyh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc3RhdHVzYCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB1c2VyO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB1c2VyIHBob3RvXG4gICAqL1xuICB1cGRhdGVQaG90byhwaG90bzogRm9ybURhdGEpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90bylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHBob3RvVXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcGxhaW5Ub0NsYXNzKFVzZXIsIE9iamVjdC5hc3NpZ24odGhpcy5jYWNoZSwge3Bob3RvOiBwaG90b1VybH0pKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gZm9yZWNhc3QgdXBkYXRlIHNjcmlwdCBvbiBiYWNrZW5kIHdoZW4gdXNlciBzd2l0Y2hlZCBmaW5hbmNpYWwgeWVhclxuICAgKi9cbiAgc3dpdGNoRmluYW5jaWFsWWVhcigpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2ZpbmFuY2lhbC15ZWFyL3N3aXRjaGApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHVzZXIncyBzZXJ2aWNlIHN1YnNjcmlwdGlvbiBpcyB1cGRhdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNlcnZpY2VTdWJzY3JpcHRpb25VcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkJhc2lxQ29uY2VudFVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfQ09OU0VOVF9VUERBVEVEKS5zdWJzY3JpYmUoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoIWlzQ29uZmlybWVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlciA9IGNsb25lKHRoaXMuY2FjaGUpO1xuICAgICAgdXNlci5jbGllbnREZXRhaWxzLmJhc2lxQ29uc2VudEV4aXN0ID0gdHJ1ZTtcblxuICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQU9qRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBSXRCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDdEIsc0JBQThDLEVBQzlDLFVBQXNCLEVBQ0MsV0FBZ0I7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNDLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBUGpELGlCQUFZLEdBQXdCLElBQUksYUFBYSxDQUFPLENBQUMsQ0FBQyxDQUFDO1FBUzdELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFL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QUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssMEJBQTBCLEVBQUUsS0FBSyxDQUFDO2FBQzlFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0NBQWdDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbkgsQ0FBQzs7eUdBN0pVLFdBQVcsc0lBU1osYUFBYTs2R0FUWixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciBhcyBVc2VyQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy91c2VyL3VzZXInO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy91c2VyL3VzZXInO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEp3dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL2p3dC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9ufSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtTc2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQge0lFdmVudExpc3RlbmVyfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCB1c2VyXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVXNlcjtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFVzZXI+ID0gbmV3IFJlcGxheVN1YmplY3Q8VXNlcj4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TZXJ2aWNlU3Vic2NyaXB0aW9uVXBkYXRlZCgpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoKSA9PiB7fSwgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAvLyBmb3JjZSBsb2dvdXQgdXNlciAoY2xlYXIgbG9jYWxTdG9yYWdlKSB3aGVuIGdldCBjdXJyZW50IHVzZXIgcmV0dXJuIGVycm9yXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DVVJSRU5UX1VTRVJfR0VUX0ZBSUxFRCwgbnVsbCkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IHVzZXJcbiAgICovXG4gIGZldGNoKCk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2N1cnJlbnRgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXNlckJhc2U6IFVzZXJCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlcjogVXNlciA9IHBsYWluVG9DbGFzcyhVc2VyLCB1c2VyQmFzZSk7XG5cbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgdXNlci5pZC50b1N0cmluZygpKTtcbiAgICAgICAgICAvLyBAVE9ETyByZW1vdmVcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZmluYW5jaWFsWWVhcicsIHVzZXIuZmluYW5jaWFsWWVhci50b1N0cmluZygpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdXNlcjtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIG5ldyB1c2VyXG4gICAqL1xuICByZWdpc3RlcihkYXRhOiBvYmplY3QpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9yZWdpc3RyYXRpb25gLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdXNlclxuICAgKi9cbiAgdXBkYXRlKHVzZXI6IFVzZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy8ke3VzZXIuaWR9YCwgdXNlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5VU0VSX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQoY3VycmVudFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL3Bhc3N3b3JkL2NoYW5nZWAsIHtjdXJyZW50UGFzc3dvcmQsIG5ld1Bhc3N3b3JkfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb3ZlcnkgdXNlciBwYXNzd29yZFxuICAgKi9cbiAgcmVjb3ZlcnlQYXNzd29yZChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZWNvdmVyeWAsIHtlbWFpbH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHVzZXIgcGFzc3dvcmRcbiAgICovXG4gIHJlc2V0UGFzc3dvcmQobmV3UGFzc3dvcmQ6IHN0cmluZywgcmVzZXRUb2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9wYXNzd29yZC9yZXNldGAsIHtuZXdQYXNzd29yZCwgcmVzZXRUb2tlbn0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpcm0gcmVnaXN0ZXJlZCB1c2VyXG4gICAqL1xuICBjb25maXJtKHZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2NvbmZpcm1hdGlvbmAsIHt2ZXJpZmljYXRpb25Db2RlfSk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGV4aXN0aW5nIHVzZXJcbiAgICovXG4gIHNlYXJjaChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdXNlcnMvc2VhcmNoP2VtYWlsPSR7ZW1haWx9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVzZXJCYXNlOiBVc2VyQmFzZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoVXNlciwgdXNlckJhc2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5pc2ggb25ib2FyZGluZyBwcm9jZXNzXG4gICAqL1xuICBmaW5pc2hPbmJvYXJkaW5nKHVzZXI6IFVzZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9zdGF0dXNgLCB1c2VyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHVzZXI7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHVzZXIgcGhvdG9cbiAgICovXG4gIHVwZGF0ZVBob3RvKHBob3RvOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy9waG90bz9fbWV0aG9kPVBVVGAsIHBob3RvKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGhvdG9Vcmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBwbGFpblRvQ2xhc3MoVXNlciwgT2JqZWN0LmFzc2lnbih0aGlzLmNhY2hlLCB7cGhvdG86IHBob3RvVXJsfSkpO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1biBmb3JlY2FzdCB1cGRhdGUgc2NyaXB0IG9uIGJhY2tlbmQgd2hlbiB1c2VyIHN3aXRjaGVkIGZpbmFuY2lhbCB5ZWFyXG4gICAqL1xuICBzd2l0Y2hGaW5hbmNpYWxZZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vZmluYW5jaWFsLXllYXIvc3dpdGNoYCk7XG4gIH1cblxuICAvKipcbiAgICogY2xlYXIgc2VydmljZSBjYWNoZVxuICAgKi9cbiAgcmVzZXRDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHdoZW4gdXNlcidzIHNlcnZpY2Ugc3Vic2NyaXB0aW9uIGlzIHVwZGF0ZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2VydmljZVN1YnNjcmlwdGlvblVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uU0VSVklDRV9TVUJTQ1JJUFRJT05fVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Validate date value. Date calue should be in passed dateRange
3
+ */
4
+ export function dateRangeValidator(dateStart, dateEnd) {
5
+ // Avoid timezone hours problem when converts to UTC
6
+ // dateStart.setHours(0, 0, 0, 0);
7
+ // dateEnd.setHours(0, 0, 0, 0);
8
+ return (control) => {
9
+ // Skip empty value
10
+ if (!control.value) {
11
+ return null;
12
+ }
13
+ if (control.value < dateStart) {
14
+ return { dateRangeStart: dateStart };
15
+ }
16
+ if (control.value > dateEnd) {
17
+ return { dateRangeEnd: dateEnd };
18
+ }
19
+ return null;
20
+ };
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9kYXRlLXJhbmdlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFlLEVBQUUsT0FBYTtJQUMvRCxvREFBb0Q7SUFDcEQsa0NBQWtDO0lBQ2xDLGdDQUFnQztJQUVoQyxPQUFPLENBQUMsT0FBb0IsRUFBb0IsRUFBRTtRQUNoRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUU7WUFDN0IsT0FBTyxFQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUMsQ0FBQztTQUNwQztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUU7WUFDM0IsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsQ0FBQztTQUNoQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBWYWxpZGF0ZSBkYXRlIHZhbHVlLiBEYXRlIGNhbHVlIHNob3VsZCBiZSBpbiBwYXNzZWQgZGF0ZVJhbmdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRlUmFuZ2VWYWxpZGF0b3IoZGF0ZVN0YXJ0OiBEYXRlLCBkYXRlRW5kOiBEYXRlKTogVmFsaWRhdG9yRm4ge1xuICAvLyBBdm9pZCB0aW1lem9uZSBob3VycyBwcm9ibGVtIHdoZW4gY29udmVydHMgdG8gVVRDXG4gIC8vIGRhdGVTdGFydC5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgLy8gZGF0ZUVuZC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblxuICByZXR1cm4gKGNvbnRyb2w6IEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgLy8gU2tpcCBlbXB0eSB2YWx1ZVxuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPCBkYXRlU3RhcnQpIHtcbiAgICAgIHJldHVybiB7ZGF0ZVJhbmdlU3RhcnQ6IGRhdGVTdGFydH07XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPiBkYXRlRW5kKSB7XG4gICAgICByZXR1cm4ge2RhdGVSYW5nZUVuZDogZGF0ZUVuZH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './at-least-one.validator';
2
+ export * from './require-autocomplete';
2
3
  export * from './password.validator';
3
4
  export * from './password-match.validator';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXQtbGVhc3Qtb25lLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3N3b3JkLW1hdGNoLnZhbGlkYXRvcic7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdC1sZWFzdC1vbmUudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZS1hdXRvY29tcGxldGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZC1tYXRjaC52YWxpZGF0b3InO1xuIl19
@@ -1,7 +1,20 @@
1
- const passwordPattern = /^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})./;
1
+ /**
2
+ * Regular expressions that are used to check password strength and valid values
3
+ */
4
+ export const PASSWORD_REGEXPS = {
5
+ medium: /(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})/,
6
+ strong: /(((?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]))|((?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*]))|((?=.*[A-Z])(?=.*[0-9]))(?=.*[!@#$%^&*]))(?=.{8,})/,
7
+ format: /^[0-9a-zA-Z!@$!%*?&#]*$/
8
+ };
2
9
  export function passwordValidator() {
3
10
  return (control) => {
4
- return passwordPattern.test(control.value) ? null : { passwordInvalid: true };
11
+ if (!PASSWORD_REGEXPS.format.test(control.value)) {
12
+ return { passwordInvalid: true };
13
+ }
14
+ if (!PASSWORD_REGEXPS.medium.test(control.value)) {
15
+ return { passwordWeak: true };
16
+ }
17
+ return null;
5
18
  };
6
19
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvcGFzc3dvcmQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sZUFBZSxHQUFXLHlGQUF5RixDQUFDO0FBRTFILE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hGLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBwYXNzd29yZFBhdHRlcm46IFJlZ0V4cCA9IC9eKCgoPz0uKlthLXpdKSg/PS4qW0EtWl0pKXwoKD89LipbYS16XSkoPz0uKlswLTldKSl8KCg/PS4qW0EtWl0pKD89LipbMC05XSkpKSg/PS57Nix9KS4vO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFzc3dvcmRWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIHJldHVybiBwYXNzd29yZFBhdHRlcm4udGVzdChjb250cm9sLnZhbHVlKSA/IG51bGwgOiB7IHBhc3N3b3JkSW52YWxpZDogdHJ1ZSB9O1xuICB9O1xufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvcGFzc3dvcmQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQThCO0lBQ3pELE1BQU0sRUFBRSx1RkFBdUY7SUFDL0YsTUFBTSxFQUFFLHVJQUF1STtJQUMvSSxNQUFNLEVBQUUseUJBQXlCO0NBQ2xDLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sQ0FBQyxPQUFvQixFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUE7U0FDakM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQTtTQUM5QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBSZWd1bGFyIGV4cHJlc3Npb25zIHRoYXQgYXJlIHVzZWQgdG8gY2hlY2sgcGFzc3dvcmQgc3RyZW5ndGggYW5kIHZhbGlkIHZhbHVlc1xuICovXG5leHBvcnQgY29uc3QgUEFTU1dPUkRfUkVHRVhQUzogeyBba2V5OiBzdHJpbmddOiBSZWdFeHAgfSA9IHtcbiAgbWVkaXVtOiAvKCgoPz0uKlthLXpdKSg/PS4qW0EtWl0pKXwoKD89LipbYS16XSkoPz0uKlswLTldKSl8KCg/PS4qW0EtWl0pKD89LipbMC05XSkpKSg/PS57Nix9KS8sXG4gIHN0cm9uZzogLygoKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qWyFAIyQlXiYqXSkpfCgoPz0uKlthLXpdKSg/PS4qWzAtOV0pKD89LipbIUAjJCVeJipdKSl8KCg/PS4qW0EtWl0pKD89LipbMC05XSkpKD89LipbIUAjJCVeJipdKSkoPz0uezgsfSkvLFxuICBmb3JtYXQ6IC9eWzAtOWEtekEtWiFAJCElKj8mI10qJC9cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZFZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogRm9ybUNvbnRyb2wpID0+IHtcbiAgICBpZiAoIVBBU1NXT1JEX1JFR0VYUFMuZm9ybWF0LnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IHBhc3N3b3JkSW52YWxpZDogdHJ1ZSB9XG4gICAgfVxuXG4gICAgaWYgKCFQQVNTV09SRF9SRUdFWFBTLm1lZGl1bS50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4geyBwYXNzd29yZFdlYWs6IHRydWUgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuIl19
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
3
+ */
4
+ export function requireAutocomplete() {
5
+ return (control) => {
6
+ if (typeof control.value === 'string' && !!control.value) {
7
+ return { notFromList: true };
8
+ }
9
+ else {
10
+ return null;
11
+ }
12
+ };
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1hdXRvY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9yZXF1aXJlLWF1dG9jb21wbGV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtRQUM5QixJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgYXV0b2NvbXBsZXRlIGZpZWxkcy4gQ2hlY2tzIHRoYXQgdGhlIHVzZXIgc2hvdWxkIHNlbGVjdCBhIHZhbHVlIGZyb20gYSBsaXN0IHJhdGhlciB0aGFuIHR5cGUgaW4gaW5wdXQgZmllbGRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVBdXRvY29tcGxldGUoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEZvcm1Db250cm9sKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnc3RyaW5nJyAmJiAhIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiB7IG5vdEZyb21MaXN0OiB0cnVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,9 +1,13 @@
1
+ /**
2
+ * Public API Surface of tt-core
3
+ */
1
4
  export * from './lib/tt-core.module';
2
5
  /**
3
6
  * Collections
4
7
  */
5
8
  export * from './lib/collections/collection';
6
9
  export * from './lib/collections/account-setup-item.collection';
10
+ export * from './lib/collections/bank.collection';
7
11
  export * from './lib/collections/bank-account.collection';
8
12
  export * from './lib/collections/bank-transaction.collection';
9
13
  export * from './lib/collections/client.collection';
@@ -38,6 +42,7 @@ export * from './lib/collections/exportable.collection';
38
42
  /**
39
43
  * DB models
40
44
  */
45
+ export * from './lib/db/Models/abstract-model';
41
46
  export * from './lib/db/Models/transaction/transaction-base';
42
47
  /**
43
48
  * DB enums
@@ -139,6 +144,7 @@ export * from './lib/models/bank/bank-account-chart-data';
139
144
  export * from './lib/models/bank/bank-account-property';
140
145
  export * from './lib/models/bank/bank-account-types.const';
141
146
  export * from './lib/models/bank/bank-connection';
147
+ export * from './lib/models/bank/bank-login-data';
142
148
  export * from './lib/models/bank/bank-transaction';
143
149
  export * from './lib/models/bank/bank-transaction-chart-data';
144
150
  export * from './lib/models/bank/bank-transaction-summary-fields.enum';
@@ -392,4 +398,4 @@ export * from './lib/interceptors/interceptors.module';
392
398
  */
393
399
  export * from './lib/forms';
394
400
  export * from './lib/validators';
395
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQzs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FB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QUF3QyxDQUFDO0FBQ3ZELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRDs7R0FFRztBQUNILGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVCQUF1QixDQUFDO0FBRXRDOztHQUVHO0FBQ0gsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RDs7R0FFRztBQUNILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dC1jb3JlXG4gKi9cbmltcG9ydCB7TG9hblBheW1lbnRDb2xsZWN0aW9ufSBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9sb2FuL2xvYW4tcGF5bWVudC5jb2xsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHQtY29yZS5tb2R1bGUnO1xuXG4vKipcbiAqIENvbGxlY3Rpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2RlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2RlcHJlY2lhdGlvbi1mb3JlY2FzdC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2VtcGxveWVlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvaW5jb21lLXNvdXJjZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2xvYW4vbG9hbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2xvYW4vbG9hbi1wYXltZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbWVzc2FnZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UtZG9jdW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC92ZWhpY2xlLWV4cGVuc2UvdmVoaWNsZS1leHBlbnNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3JpZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXJldmlldy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3VzZXItZXZlbnQtc2V0dGluZy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3ZlaGljbGUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9leHBvcnRhYmxlLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIERCIG1vZGVsc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZSc7XG5cbi8qKlxuICogREIgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWFjY291bnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWNvbm5lY3Rpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWV0cC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXZlaGljbGUtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtZGV0YWlscy13b3JraW5nLWhvbGlkYXktbWFrZXIuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWludml0ZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24tcGVyY2VudC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLXdyaXRlLW9mZi1hbW91bnQuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtb3RoZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9pbmNvbWUtc291cmNlLXR5cGUtbGlzdC1zb2xlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtd29yay5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1iYW5rLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4taW50ZXJlc3QtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tcGF5b3V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi12ZWhpY2xlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Bob25lLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS1hY2Nlc3MuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3JlZ2lzdHJhdGlvbi1pbnZpdGUtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zYWxhcnktZm9yZWNhc3QtZnJlcXVlbmN5LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLW5vdGlmaWNhdGlvbi1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLW5vdGlmaWNhdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wYXltZW50LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UtcmVjdXJyaW5nLWludGVydmFsLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3Qtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdC1pZC5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3BhcmUtZG9jdW1lbnQtc3BhcmUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtY2FsY3VsYXRpb24tbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LWNhbGN1bGF0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktc2VjdGlvbi5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXJldmlldy1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS1zZWN0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktdGF4LXN1bW1hcnkuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1mZWVkYmFjay5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtdHlwZXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXNvdXJjZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS11c2VyLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtZW1wbG95ZWUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1tZWRpY2FyZS1leGVtcHRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXRpdGxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci13b3JrLWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWNsYWltLW1ldGhvZC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3ZlaGljbGUtbG9nYm9vay1wdXJwb3NlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24tbWV0YWRhdGEuZW51bSc7XG5cbi8qKlxuICogTW9kZWxzIGFuZCByZWxhdGVkIGVudW1zIGFuZCBjb25zdHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FkZHJlc3MvYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWRkcmVzcy9jb3VudHJ5JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuayc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50LWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50LXByb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC10eXBlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWNvbm5lY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1zdW1tYXJ5LWZpZWxkcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2Jhc2lxLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYXNpcS1qb2InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvdHlwZS1sb2FuLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZS1sb2FuJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LXNlcmllJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWhlYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLW1ldGFkYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXZhbHVlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9jaGF0LXZpZXctdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvbWVzc2FnZS1kb2N1bWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LWludml0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1tb3ZlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1wb3J0Zm9saW8tY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NvbG9yL2FscGhhYmV0LWNvbG9ycy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3VwLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cHMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVjZWlwdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtYXBpLXVybC1wcmVmaXguZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZmlsZS10eXBlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnRzLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZm9ybWF0LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsZS9pY29ucy1maWxlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW5hbWUtc2hvcnQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbnVtYmVyLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRocy5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maXJtL2Zpcm0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXBvc2l0aW9uL2luY29tZS1wb3NpdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLW1heC1udW1iZXItb2YtcGF5bWVudHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbi1wYXlvdXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9kZWZhdWx0LXZlaGljbGUtZXhwZW5zZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9sb2dib29rLXBlcmlvZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay9sb2dib29rLXB1cnBvc2Utb3B0aW9ucy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL3ZlaGljbGUtY2xhaW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1sb2dib29rJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGRmL3BkZi1vcmllbnRhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wZGYvcGRmLXNldHRpbmdzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Bob25lL3Bob25lJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NhbGN1bGF0aW9uLWZvcm0taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FsY3VsYXRpb24tZm9ybS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NhcGl0YWwtY29zdHMtaXRtZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NvcmVsb2dpYy1zdWdnZXN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9zaGFyZS1maWx0ZXItb3B0aW9ucy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24tbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS10YXgtZXhlbXB0aW9uLW1ldGFkYXRhJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktdmFsdWF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlZ2lzdHJhdGlvbi1pbnZpdGUvcmVnaXN0cmF0aW9uLWludml0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1sdnAtcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1sdnAtYXNzZXQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLXRyYW5zYWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC92ZWhpY2xlLWV4cGVuc2UvdmVoaWNsZS1leHBlbnNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL21vZHVsZS11cmwtbGlzdC5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tZGVzY3JpcHRpb24uY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi10aXRsZS5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtcmV2aWV3L3RheC1yZXZpZXcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3JlcG9ydC1pdGVtLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtc3VtbWFyeS1zZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtc3VtbWFyeS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdG9hc3QvdG9hc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0L3RvYXN0LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi9pbmNvbWUtYW1vdW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWNhdGVnb3J5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLW1ldGFkYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1yZWNlaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS1pbml0aWF0ZWQtYnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3Rvcnktc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL29jY3VwYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXJvbGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItdG8tcmVnaXN0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci13b3JrLXBvc2l0aW9uLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC10eXBlLWNhdGVnb3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXNldHRpbmctZmllbGQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXR5cGUnO1xuXG4vKipcbiAqIFNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9hZGRyZXNzL2FkZHJlc3Muc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fzc2V0L2Fzc2V0cy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9qd3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYW5rL2JhbmstYWNjb3VudC1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLWNvbm5lY3Rpb24vYmFuay1jb25uZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstdHJhbnNhY3Rpb24vYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYXNpcS9iYXNpcS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9sb2FuL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGF0L21lc3NhZ2UvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLWRvY3VtZW50L21lc3NhZ2UtZG9jdW1lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vY2xpZW50LW1vdmVtZW50L2NsaWVudC1tb3ZlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9wb3J0Zm9saW8tcmVwb3J0L2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0L2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyL2RvY3VtZW50LWZvbGRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlL2VtcGxveWVlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlLWludml0ZS9lbXBsb3llZS1pbnZpdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vY2xpZW50LWluY29tZS9jbGllbnQtaW5jb21lLXR5cGVzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZmlybS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXhwb3J0L2V4cG9ydC1mb3JtYXR0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2hlYWRlci10aXRsZS9oZWFkZXItdGl0bGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtZm9yZWNhc3QvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3Qvc2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NvbGUtZm9yZWNhc3Qvc29sZS1mb3JlY2FzdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW50ZXJjb20vaW50ZXJjb20uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2tvbXBhc3NpZnkva29tcGFzc2lmeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9sb2FuL2xvYW4uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvc2VydmljZS1ub3RpZmljYXRpb24vc2VydmljZS1ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3BkZi9wZGYuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3ByZWxvYWRlci9wcmVsb2FkZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS10cmFuc2FjdGlvbi1yZXBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L2NvcmVsb2dpYy9jb3JlbG9naWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktY2FsY3VsYXRpb24vcHJvcGVydHktY2FsY3VsYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5L3Byb3BlcnR5LWNhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1kb2N1bWVudC9wcm9wZXJ0eS1kb2N1bWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2hhcmUvcHJvcGVydHktc2hhcmUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L2VxdWl0eS1wb3NpdGlvbi1jaGFydC9lcXVpdHktcG9zaXRpb24tY2hhcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RheC1yZXZpZXcvdGF4LXJldmlldy1oaXN0b3J5L3RheC1yZXZpZXctaGlzdG9yeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90YXgtc3VtbWFyeS90YXgtc3VtbWFyeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdXNlci9vY2N1cGF0aW9uL29jY3VwYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvdXNlci1zd2l0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC91c2VyL3VzZXItZXZlbnQtc2V0dGluZy91c2VyLWV2ZW50LXNldHRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvdXNlci1ldmVudC10eXBlL3VzZXItZXZlbnQtdHlwZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWxvZ2Jvb2suc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24vdGF4LWV4ZW1wdGlvbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQtZW50aXR5LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Fzc2V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NoYXJ0LWRhdGEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2hhcnQtc2VyaWUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2luY29tZS1zb3VyY2UtZm9yZWNhc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvb3B0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3Bob3RvYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90YWJsZS1leHBvcnRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3VwZGF0YWJsZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9leHBlbnNlLmludGVyZmFjZSc7XG5cbi8qKlxuICogRnVuY3Rpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jbG9uZS1kZWVwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jcmVhdGUtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvZW51bS10by1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9nZXQtZG9jLWljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL21hdC1vcHRpb25zLWZ1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvbWF0LXNvcnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvcm91bmQtdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL3RheC1yZXZpZXctZmlsdGVyLXByZWRpY2F0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvYXJyYXknO1xuXG4vKipcbiAqIEludGVyY2VwdG9yc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3JzLm1vZHVsZSc7XG5cbi8qKlxuICogRm9ybXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycyc7XG4iXX0=
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFj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Q2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsdUJBQXVCLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxjQUFjLHdDQUF3QyxDQUFDO0FBRXZEOztHQUVHO0FBQ0gsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHR0LWNvcmVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90dC1jb3JlLm1vZHVsZSc7XG5cbi8qKlxuICogQ29sbGVjdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9iYW5rLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2RlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2RlcHJlY2lhdGlvbi1mb3JlY2FzdC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2VtcGxveWVlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvaW5jb21lLXNvdXJjZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2xvYW4vbG9hbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2xvYW4vbG9hbi1wYXltZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbWVzc2FnZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UtZG9jdW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC92ZWhpY2xlLWV4cGVuc2UvdmVoaWNsZS1leHBlbnNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3JpZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXJldmlldy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3VzZXItZXZlbnQtc2V0dGluZy5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3ZlaGljbGUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9leHBvcnRhYmxlLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIERCIG1vZGVsc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWJhc2UnO1xuXG4vKipcbiAqIERCIGVudW1zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2FkZHJlc3MtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstYWNjb3VudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1jb25uZWN0aW9uLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1ldHAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheGFibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLW1ldGFkYXRhLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhdC1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLXdvcmstZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtaW52aXRlLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLXBlcmNlbnQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi13cml0ZS1vZmYtYW1vdW50LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9maXJtLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS1saXN0LW90aGVyLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtc29sZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS1saXN0LXdvcmsuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2ludml0ZS1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tYmFuay10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWludGVyZXN0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXBheW91dC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1yZXBheW1lbnQtZnJlcXVlbmN5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1yZXBheW1lbnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tdmVoaWNsZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9waG9uZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUtYWNjZXNzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9yZWdpc3RyYXRpb24taW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2FsYXJ5LWZvcmVjYXN0LWZyZXF1ZW5jeS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcGF5bWVudC1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlLXJlY3VycmluZy1pbnRlcnZhbC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcm9kdWN0LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3QtaWQuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3NwYXJlLWRvY3VtZW50LXNwYXJlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LWNhbGN1bGF0aW9uLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1jYWxjdWxhdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LXNlY3Rpb24uZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXZpZXctc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktc2VjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LXRheC1zdW1tYXJ5LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtZmVlZGJhY2suZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGlja2V0LXR5cGVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdXNlci10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWVtcGxveWVlLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci10aXRsZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXdvcmtpbmctaG9saWRheS1tYWtlci5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWxvZ2Jvb2stcHVycG9zZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLW1ldGFkYXRhLmVudW0nO1xuXG4vKipcbiAqIE1vZGVscyBhbmQgcmVsYXRlZCBlbnVtcyBhbmQgY29uc3RzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGRyZXNzL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FkZHJlc3MvY291bnRyeSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtdHlwZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstbG9naW4tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24tY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLXN1bW1hcnktZmllbGRzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2Jhc2lxLWpvYic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYXNpcS10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay90eXBlLWxvYW4uY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYm9ycm93aW5nLWV4cGVuc2UvYm9ycm93aW5nLWV4cGVuc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLWxvYW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQvY2hhcnQtc2VyaWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtaGVhZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L2NoYXQtdmlldy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9tZXNzYWdlLWRvY3VtZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtaW52aXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29sb3IvYWxwaGFiZXQtY29sb3JzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3Vwcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1yZWNlaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RvY3VtZW50L2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1hcGktdXJsLXByZWZpeC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1maWxlLXR5cGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudC1mb2xkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW1wbG95ZWUvZW1wbG95ZWUtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW1wbG95ZWUvZW1wbG95ZWUtaW52aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VuZHBvaW50L2VuZHBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1mb3JtYXQuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maWxlL2ljb25zLWZpbGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbmFtZS1zaG9ydC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aC1udW1iZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGhzLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zpcm0vZmlybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtcG9zaXRpb24vaW5jb21lLXBvc2l0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NvbGUtZm9yZWNhc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4tbWF4LW51bWJlci1vZi1wYXltZW50cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4tcGF5bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLXBheW91dCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2RlZmF1bHQtdmVoaWNsZS1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcGVyaW9kJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcHVycG9zZS1vcHRpb25zLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2dib29rL3ZlaGljbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1jbGFpbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWxvZ2Jvb2snO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wZGYvcGRmLW9yaWVudGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3BkZi9wZGYtc2V0dGluZ3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGhvbmUvcGhvbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FsY3VsYXRpb24tZm9ybS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jYWxjdWxhdGlvbi1mb3JtLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FwaXRhbC1jb3N0cy1pdG1lcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY29yZWxvZ2ljLXN1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3NoYXJlLWZpbHRlci1vcHRpb25zLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi1tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLXRheC1leGVtcHRpb24tbWV0YWRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS12YWx1YXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVnaXN0cmF0aW9uLWludml0ZS9yZWdpc3RyYXRpb24taW52aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1hc3NldC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L3ZlaGljbGUtZXhwZW5zZS92ZWhpY2xlLWV4cGVuc2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vbW9kdWxlLXVybC1saXN0LmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1kZXNjcmlwdGlvbi5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXRpdGxlLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0tZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXNlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdC90b2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdG9hc3QvdG9hc3QtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL2luY29tZS1hbW91bnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tY2F0ZWdvcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLXJlY2VpcHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LWluaXRpYXRlZC1ieS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnktdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvb2NjdXBhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItcm9sZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci10by1yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXdvcmstcG9zaXRpb24uY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXR5cGUtY2F0ZWdvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZy1maWVsZC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZSc7XG5cbi8qKlxuICogU2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXNzZXQvYXNzZXRzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hdXRoL2p3dC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2Jhbmsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFuay1hY2NvdW50L2JhbmstYWNjb3VudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay1hY2NvdW50LWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFuay10cmFuc2FjdGlvbi9iYW5rLXRyYW5zYWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2xvYW4vYm9ycm93aW5nLWV4cGVuc2UvYm9ycm93aW5nLWV4cGVuc2Uuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGF0L2NoYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXQvbWVzc2FnZS9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGF0L21lc3NhZ2UtZG9jdW1lbnQvbWVzc2FnZS1kb2N1bWVudC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1pbnZpdGUvY2xpZW50LWludml0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtbW92ZW1lbnQvY2xpZW50LW1vdmVtZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL3BvcnRmb2xpby1yZXBvcnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9kb2N1bWVudC9kb2N1bWVudC1mb2xkZXIvZG9jdW1lbnQtZm9sZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUvZW1wbG95ZWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUtaW52aXRlL2VtcGxveWVlLWludml0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ldmVudC9zc2Uuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9maXJtLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHBvcnQvZXhwb3J0LWZvcm1hdHRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaGVhZGVyLXRpdGxlL2hlYWRlci10aXRsZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC9pbmNvbWUtc291cmNlLWZvcmVjYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC9zYWxhcnktZm9yZWNhc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2luY29tZS1zb3VyY2Uvc29sZS1mb3JlY2FzdC9zb2xlLWZvcmVjYXN0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbnRlcmNvbS9pbnRlcmNvbS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMva29tcGFzc2lmeS9rb21wYXNzaWZ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2xvYW4vbG9hbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zZXJ2aWNlLW5vdGlmaWNhdGlvbi9zZXJ2aWNlLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJlbG9hZGVyL3ByZWxvYWRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXRyYW5zYWN0aW9uLXJlcG9ydC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvY29yZWxvZ2ljL2NvcmVsb2dpYy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYWxjdWxhdGlvbi9wcm9wZXJ0eS1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnkvcHJvcGVydHktY2F0ZWdvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50L3Byb3BlcnR5LWRvY3VtZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS9wcm9wZXJ0eS1zaGFyZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvZXF1aXR5LXBvc2l0aW9uLWNoYXJ0L2VxdWl0eS1wb3NpdGlvbi1jaGFydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50L3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RheC1yZXZpZXcvdGF4LXJldmlldy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LWhpc3RvcnkvdGF4LXJldmlldy1oaXN0b3J5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC90b2FzdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC91c2VyL29jY3VwYXRpb24vb2NjdXBhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdXNlci91c2VyLXN3aXRjaGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvdXNlci1ldmVudC1zZXR0aW5nL3VzZXItZXZlbnQtc2V0dGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLWV2ZW50LXR5cGUvdXNlci1ldmVudC10eXBlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3ZlaGljbGUvdmVoaWNsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtbG9nYm9vay5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMveGxzeC94bHN4LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi90YXgtZXhlbXB0aW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyZmFjZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9hc3NldC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9hc3NldC1lbnRpdHktdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2hhcnQtZGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jaGFydC1zZXJpZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kb2N1bWVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kb2N1bWVudGFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9vcHRpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvcmVjZWlwdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90YW5rLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3RhYmxlLWV4cG9ydGFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdXBkYXRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2V4cGVuc2UuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBGdW5jdGlvbnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2Nsb25lLWRlZXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2NyZWF0ZS1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2dldC1kb2MtaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvbWF0LW9wdGlvbnMtZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9tYXQtc29ydC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9yb3VuZC10byc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvdGF4LXJldmlldy1maWx0ZXItcHJlZGljYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9hcnJheSc7XG5cbi8qKlxuICogSW50ZXJjZXB0b3JzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9pbnRlcmNlcHRvcnMubW9kdWxlJztcblxuLyoqXG4gKiBGb3Jtc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0b3JzJztcbiJdfQ==