@saritasa/crm-delmar-core-sdk 0.0.198 → 0.0.200
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.
- package/README.md +2 -2
- package/api/branch-periods-api.service.d.ts +4 -9
- package/api/branches-api.service.d.ts +4 -9
- package/api/client-notes-api.service.d.ts +4 -9
- package/api/clients-api.service.d.ts +4 -9
- package/api/components-api.service.d.ts +4 -9
- package/api/departments-api.service.d.ts +4 -9
- package/api/dismissal-reasons-api.service.d.ts +4 -9
- package/api/export-job-reports-departments-api.service.d.ts +4 -9
- package/api/export-job-reports-departments-api.serviceInterface.d.ts +2 -0
- package/api/export-job-reports-users-api.service.d.ts +4 -9
- package/api/export-job-reports-users-api.serviceInterface.d.ts +2 -0
- package/api/export-jobs-api.service.d.ts +4 -9
- package/api/export-jobs-api.serviceInterface.d.ts +2 -0
- package/api/export-project-resources-api.service.d.ts +4 -9
- package/api/export-projects-api.service.d.ts +4 -9
- package/api/export-tasks-api.service.d.ts +4 -9
- package/api/export-user-periods-api.service.d.ts +4 -9
- package/api/export-users-api.service.d.ts +4 -9
- package/api/jira-client-api.service.d.ts +4 -9
- package/api/jira-instances-api.service.d.ts +4 -9
- package/api/jobs-api.service.d.ts +49 -10
- package/api/jobs-api.serviceInterface.d.ts +84 -0
- package/api/locations-api.service.d.ts +4 -9
- package/api/notifications-api.service.d.ts +4 -9
- package/api/permission-data-api.service.d.ts +4 -9
- package/api/profile-api.service.d.ts +4 -9
- package/api/project-notes-api.service.d.ts +4 -9
- package/api/project-priorities-api.service.d.ts +4 -9
- package/api/project-resources-api.service.d.ts +4 -9
- package/api/projects-api.service.d.ts +4 -9
- package/api/roles-api.service.d.ts +4 -9
- package/api/s3-api.service.d.ts +4 -9
- package/api/search-periods-api.service.d.ts +4 -9
- package/api/sso-api.service.d.ts +4 -9
- package/api/tasks-api.service.d.ts +4 -9
- package/api/token-api.service.d.ts +4 -9
- package/api/user-capacities-api.service.d.ts +4 -9
- package/api/user-logins-api.service.d.ts +4 -9
- package/api/user-periods-api.service.d.ts +4 -9
- package/api/user-scores-api.service.d.ts +4 -9
- package/api/user-timezone-setting-api.service.d.ts +4 -9
- package/api/user-timezones-api.service.d.ts +4 -9
- package/api/users-api.service.d.ts +4 -9
- package/api/vendors-api.service.d.ts +4 -9
- package/api/who-am-i-api.service.d.ts +4 -9
- package/api/work-types-api.service.d.ts +4 -9
- package/api.base.service.d.ts +12 -0
- package/configuration.d.ts +3 -1
- package/esm2022/api/branch-periods-api.service.mjs +34 -188
- package/esm2022/api/branches-api.service.mjs +48 -238
- package/esm2022/api/client-notes-api.service.mjs +21 -125
- package/esm2022/api/clients-api.service.mjs +110 -432
- package/esm2022/api/components-api.service.mjs +35 -175
- package/esm2022/api/departments-api.service.mjs +37 -197
- package/esm2022/api/dismissal-reasons-api.service.mjs +37 -197
- package/esm2022/api/export-job-reports-departments-api.service.mjs +51 -215
- package/esm2022/api/export-job-reports-departments-api.serviceInterface.mjs +1 -1
- package/esm2022/api/export-job-reports-users-api.service.mjs +51 -215
- package/esm2022/api/export-job-reports-users-api.serviceInterface.mjs +1 -1
- package/esm2022/api/export-jobs-api.service.mjs +49 -209
- package/esm2022/api/export-jobs-api.serviceInterface.mjs +1 -1
- package/esm2022/api/export-project-resources-api.service.mjs +38 -192
- package/esm2022/api/export-projects-api.service.mjs +38 -192
- package/esm2022/api/export-tasks-api.service.mjs +42 -204
- package/esm2022/api/export-user-periods-api.service.mjs +36 -186
- package/esm2022/api/export-users-api.service.mjs +38 -192
- package/esm2022/api/jira-client-api.service.mjs +10 -84
- package/esm2022/api/jira-instances-api.service.mjs +19 -119
- package/esm2022/api/jobs-api.service.mjs +366 -428
- package/esm2022/api/jobs-api.serviceInterface.mjs +1 -1
- package/esm2022/api/locations-api.service.mjs +37 -197
- package/esm2022/api/notifications-api.service.mjs +50 -244
- package/esm2022/api/permission-data-api.service.mjs +10 -84
- package/esm2022/api/profile-api.service.mjs +15 -107
- package/esm2022/api/project-notes-api.service.mjs +21 -125
- package/esm2022/api/project-priorities-api.service.mjs +22 -128
- package/esm2022/api/project-resources-api.service.mjs +31 -163
- package/esm2022/api/projects-api.service.mjs +62 -288
- package/esm2022/api/roles-api.service.mjs +37 -197
- package/esm2022/api/s3-api.service.mjs +10 -84
- package/esm2022/api/search-periods-api.service.mjs +11 -87
- package/esm2022/api/sso-api.service.mjs +17 -106
- package/esm2022/api/tasks-api.service.mjs +66 -276
- package/esm2022/api/token-api.service.mjs +13 -91
- package/esm2022/api/user-capacities-api.service.mjs +43 -207
- package/esm2022/api/user-logins-api.service.mjs +31 -163
- package/esm2022/api/user-periods-api.service.mjs +44 -226
- package/esm2022/api/user-scores-api.service.mjs +49 -225
- package/esm2022/api/user-timezone-setting-api.service.mjs +15 -107
- package/esm2022/api/user-timezones-api.service.mjs +21 -125
- package/esm2022/api/users-api.service.mjs +53 -245
- package/esm2022/api/vendors-api.service.mjs +35 -191
- package/esm2022/api/who-am-i-api.service.mjs +10 -84
- package/esm2022/api/work-types-api.service.mjs +38 -200
- package/esm2022/api.base.service.mjs +68 -0
- package/esm2022/configuration.mjs +9 -1
- package/esm2022/model/billing-frequency-enum.dto.mjs +1 -1
- package/esm2022/model/billing-method-enum.dto.mjs +1 -1
- package/esm2022/model/billing-type-enum.dto.mjs +1 -1
- package/esm2022/model/branch-period-type-enum.dto.mjs +1 -1
- package/esm2022/model/client-status-enum.dto.mjs +1 -1
- package/esm2022/model/config-enum.dto.mjs +1 -1
- package/esm2022/model/error-code401-enum.dto.mjs +1 -1
- package/esm2022/model/export-status-enum.dto.mjs +1 -1
- package/esm2022/model/file-format-enum.dto.mjs +1 -1
- package/esm2022/model/job-report-daily.dto.mjs +2 -0
- package/esm2022/model/job-stats.dto.mjs +11 -0
- package/esm2022/model/job-type-enum.dto.mjs +1 -1
- package/esm2022/model/jobs-billable-chart-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-billable-chart-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-billable-chart-list-error.dto.mjs +1 -1
- package/esm2022/model/jobs-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-list-error.dto.mjs +1 -1
- package/esm2022/model/jobs-production-chart-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-production-chart-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-production-chart-list-error.dto.mjs +1 -1
- package/esm2022/model/jobs-report-daily-list-billed-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-billed-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-branch-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-branch-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-created-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-created-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-date-gte-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-date-lte-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-daily-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-daily-list-error-response400.dto.mjs +2 -0
- package/esm2022/model/jobs-report-daily-list-error.dto.mjs +2 -0
- package/esm2022/model/jobs-report-daily-list-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-daily-list-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-daily-list-task-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-task-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-task-project-client-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-task-project-client-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-task-project-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-task-project-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-type-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-type-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-updated-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-updated-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-validation-error.dto.mjs +2 -0
- package/esm2022/model/jobs-report-daily-list-work-type-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-daily-list-work-type-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-report-departments-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-departments-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-departments-list-error.dto.mjs +1 -1
- package/esm2022/model/jobs-report-users-list-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-users-list-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-report-users-list-error.dto.mjs +1 -1
- package/esm2022/model/jobs-stats-retrieve-billed-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-billed-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-branch-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-branch-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-created-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-created-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-date-gte-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-date-lte-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-department-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-stats-retrieve-department-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-stats-retrieve-error-response400.dto.mjs +2 -0
- package/esm2022/model/jobs-stats-retrieve-error.dto.mjs +2 -0
- package/esm2022/model/jobs-stats-retrieve-id-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-stats-retrieve-id-in-error-component.dto.mjs +19 -0
- package/esm2022/model/jobs-stats-retrieve-task-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-task-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-task-project-client-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-task-project-client-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-task-project-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-task-project-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-type-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-type-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-updated-by-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-updated-by-in-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-validation-error.dto.mjs +2 -0
- package/esm2022/model/jobs-stats-retrieve-work-type-error-component.dto.mjs +18 -0
- package/esm2022/model/jobs-stats-retrieve-work-type-in-error-component.dto.mjs +18 -0
- package/esm2022/model/models.mjs +68 -1
- package/esm2022/model/notification-type-enum.dto.mjs +1 -1
- package/esm2022/model/paginated-job-report-daily-list.dto.mjs +2 -0
- package/esm2022/model/period-model-enum.dto.mjs +1 -1
- package/esm2022/model/period-type-enum.dto.mjs +1 -1
- package/esm2022/model/permission-enum.dto.mjs +1 -1
- package/esm2022/model/permission-group-enum.dto.mjs +1 -1
- package/esm2022/model/priority-enum.dto.mjs +1 -1
- package/esm2022/model/project-status-enum.dto.mjs +1 -1
- package/esm2022/model/scope-enum.dto.mjs +1 -1
- package/esm2022/model/state-enum.dto.mjs +1 -1
- package/esm2022/model/user-period-status-enum.dto.mjs +1 -1
- package/esm2022/model/user-period-type-enum.dto.mjs +1 -1
- package/esm2022/model/user-status-enum.dto.mjs +1 -1
- package/esm2022/model/user-timezone-setting-ordering-enum.dto.mjs +1 -1
- package/fesm2022/saritasa-crm-delmar-core-sdk.mjs +3101 -7851
- package/fesm2022/saritasa-crm-delmar-core-sdk.mjs.map +1 -1
- package/model/job-report-daily.dto.d.ts +20 -0
- package/model/job-stats.dto.d.ts +17 -0
- package/model/jobs-billable-chart-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-billable-chart-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-billable-chart-list-error.dto.d.ts +12 -10
- package/model/jobs-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-list-error.dto.d.ts +3 -1
- package/model/jobs-production-chart-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-production-chart-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-production-chart-list-error.dto.d.ts +8 -6
- package/model/jobs-report-daily-list-billed-by-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-billed-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-branch-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-branch-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-created-by-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-created-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-date-gte-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-date-lte-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-report-daily-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-report-daily-list-error-response400.dto.d.ts +16 -0
- package/model/jobs-report-daily-list-error.dto.d.ts +38 -0
- package/model/jobs-report-daily-list-id-error-component.dto.d.ts +27 -0
- package/model/jobs-report-daily-list-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-report-daily-list-task-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-task-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-task-project-client-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-task-project-client-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-task-project-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-task-project-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-type-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-type-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-updated-by-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-updated-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-validation-error.dto.d.ts +15 -0
- package/model/jobs-report-daily-list-work-type-error-component.dto.d.ts +26 -0
- package/model/jobs-report-daily-list-work-type-in-error-component.dto.d.ts +26 -0
- package/model/jobs-report-departments-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-report-departments-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-report-departments-list-error.dto.d.ts +12 -10
- package/model/jobs-report-users-list-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-report-users-list-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-report-users-list-error.dto.d.ts +10 -8
- package/model/jobs-stats-retrieve-billed-by-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-billed-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-branch-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-branch-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-created-by-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-created-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-date-gte-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-date-lte-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-department-id-error-component.dto.d.ts +27 -0
- package/model/jobs-stats-retrieve-department-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-stats-retrieve-error-response400.dto.d.ts +16 -0
- package/model/jobs-stats-retrieve-error.dto.d.ts +38 -0
- package/model/jobs-stats-retrieve-id-error-component.dto.d.ts +27 -0
- package/model/jobs-stats-retrieve-id-in-error-component.dto.d.ts +27 -0
- package/model/jobs-stats-retrieve-task-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-task-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-task-project-client-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-task-project-client-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-task-project-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-task-project-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-type-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-type-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-updated-by-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-updated-by-in-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-validation-error.dto.d.ts +15 -0
- package/model/jobs-stats-retrieve-work-type-error-component.dto.d.ts +26 -0
- package/model/jobs-stats-retrieve-work-type-in-error-component.dto.d.ts +26 -0
- package/model/models.d.ts +67 -0
- package/model/paginated-job-report-daily-list.dto.d.ts +16 -0
- package/package.json +2 -2
|
@@ -9,74 +9,18 @@
|
|
|
9
9
|
*/
|
|
10
10
|
/* tslint:disable:no-unused-variable member-ordering */
|
|
11
11
|
import { Inject, Injectable, Optional } from "@angular/core";
|
|
12
|
-
import {
|
|
13
|
-
import { CustomHttpParameterCodec } from "../encoder";
|
|
12
|
+
import { HttpContext, } from "@angular/common/http";
|
|
14
13
|
// @ts-ignore
|
|
15
14
|
import { BASE_PATH } from "../variables";
|
|
16
|
-
import {
|
|
15
|
+
import { BaseService } from "../api.base.service";
|
|
17
16
|
import * as i0 from "@angular/core";
|
|
18
17
|
import * as i1 from "@angular/common/http";
|
|
19
18
|
import * as i2 from "../configuration";
|
|
20
|
-
export class S3ApiService {
|
|
19
|
+
export class S3ApiService extends BaseService {
|
|
21
20
|
httpClient;
|
|
22
|
-
basePath = "";
|
|
23
|
-
defaultHeaders = new HttpHeaders();
|
|
24
|
-
configuration = new Configuration();
|
|
25
|
-
encoder;
|
|
26
21
|
constructor(httpClient, basePath, configuration) {
|
|
22
|
+
super(basePath, configuration);
|
|
27
23
|
this.httpClient = httpClient;
|
|
28
|
-
if (configuration) {
|
|
29
|
-
this.configuration = configuration;
|
|
30
|
-
}
|
|
31
|
-
if (typeof this.configuration.basePath !== "string") {
|
|
32
|
-
const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;
|
|
33
|
-
if (firstBasePath != undefined) {
|
|
34
|
-
basePath = firstBasePath;
|
|
35
|
-
}
|
|
36
|
-
if (typeof basePath !== "string") {
|
|
37
|
-
basePath = this.basePath;
|
|
38
|
-
}
|
|
39
|
-
this.configuration.basePath = basePath;
|
|
40
|
-
}
|
|
41
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
|
|
42
|
-
}
|
|
43
|
-
// @ts-ignore
|
|
44
|
-
addToHttpParams(httpParams, value, key) {
|
|
45
|
-
if (typeof value === "object" && value instanceof Date === false) {
|
|
46
|
-
httpParams = this.addToHttpParamsRecursive(httpParams, value);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
|
|
50
|
-
}
|
|
51
|
-
return httpParams;
|
|
52
|
-
}
|
|
53
|
-
addToHttpParamsRecursive(httpParams, value, key) {
|
|
54
|
-
if (value == null) {
|
|
55
|
-
return httpParams;
|
|
56
|
-
}
|
|
57
|
-
if (typeof value === "object") {
|
|
58
|
-
if (Array.isArray(value)) {
|
|
59
|
-
value.forEach((elem) => (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)));
|
|
60
|
-
}
|
|
61
|
-
else if (value instanceof Date) {
|
|
62
|
-
if (key != null) {
|
|
63
|
-
httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
throw Error("key may not be null if value is Date");
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
Object.keys(value).forEach((k) => (httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k)));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else if (key != null) {
|
|
74
|
-
httpParams = httpParams.append(key, value);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw Error("key may not be null if value is not object or array");
|
|
78
|
-
}
|
|
79
|
-
return httpParams;
|
|
80
24
|
}
|
|
81
25
|
s3GetParamsCreate(requestParameters, observe = "body", reportProgress = false, options) {
|
|
82
26
|
const s3RequestParamsRequestDto = requestParameters?.s3RequestParamsRequestDto;
|
|
@@ -85,34 +29,16 @@ export class S3ApiService {
|
|
|
85
29
|
throw new Error("Required parameter s3RequestParamsRequestDto was null or undefined when calling s3GetParamsCreate.");
|
|
86
30
|
}
|
|
87
31
|
let localVarHeaders = this.defaultHeaders;
|
|
88
|
-
let localVarCredential;
|
|
89
32
|
// authentication (cookieAuth) required
|
|
90
|
-
localVarCredential = this.configuration.lookupCredential("cookieAuth");
|
|
91
|
-
if (localVarCredential) {
|
|
92
|
-
}
|
|
93
33
|
// authentication (jwtAuth) required
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
99
|
-
if (localVarHttpHeaderAcceptSelected === undefined) {
|
|
100
|
-
// to determine the Accept header
|
|
101
|
-
const httpHeaderAccepts = ["application/json"];
|
|
102
|
-
localVarHttpHeaderAcceptSelected =
|
|
103
|
-
this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
104
|
-
}
|
|
34
|
+
localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
|
|
35
|
+
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
|
|
36
|
+
this.configuration.selectHeaderAccept(["application/json"]);
|
|
105
37
|
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
106
38
|
localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
|
|
107
39
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
localVarHttpContext = new HttpContext();
|
|
111
|
-
}
|
|
112
|
-
let localVarTransferCache = options && options.transferCache;
|
|
113
|
-
if (localVarTransferCache === undefined) {
|
|
114
|
-
localVarTransferCache = true;
|
|
115
|
-
}
|
|
40
|
+
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
41
|
+
const localVarTransferCache = options?.transferCache ?? true;
|
|
116
42
|
// to determine the Content-Type header
|
|
117
43
|
const consumes = [
|
|
118
44
|
"application/json",
|
|
@@ -163,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
163
89
|
}] }, { type: i2.Configuration, decorators: [{
|
|
164
90
|
type: Optional
|
|
165
91
|
}] }] });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvczMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFFTCxXQUFXLEVBS1gsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBb0J0RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyxZQUFZO0lBT1g7SUFORixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ25DLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sQ0FBcUI7SUFFbkMsWUFDWSxVQUFzQixFQUNELFFBQTJCLEVBQzlDLGFBQTRCO1FBRjlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFJaEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3hFLElBQUksYUFBYSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUMv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L0M7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLElBQUksRUFBRSx5QkFBeUI7WUFDL0IsWUFBWSxFQUFPLGFBQWE7WUFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixhQUFhLEVBQUUscUJBQXFCO1lBQ3BDLGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBcE9VLFlBQVksNENBUUQsU0FBUzs0R0FScEIsWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUM1QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWxtYXIgQXBpXG4gKlxuICpcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbi8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFBhcmFtcyxcbiAgSHR0cFJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBQYXJhbWV0ZXJDb2RlYyxcbiAgSHR0cENvbnRleHQsXG59IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSBcIi4uL2VuY29kZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAxRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDAxLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDZEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDYuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDE1RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDE1LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTUwMER0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTUwMC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFMzR2V0UGFyYW1zQ3JlYXRlRXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9zMy1nZXQtcGFyYW1zLWNyZWF0ZS1lcnJvci1yZXNwb25zZTQwMC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFMzUmVxdWVzdFBhcmFtc1JlcXVlc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvczMtcmVxdWVzdC1wYXJhbXMtcmVxdWVzdC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFMzVXBsb2FkRHRvIH0gZnJvbSBcIi4uL21vZGVsL3MzLXVwbG9hZC5kdG9cIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSBmcm9tIFwiLi4vdmFyaWFibGVzXCI7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7XG4gIFMzQXBpU2VydmljZUludGVyZmFjZSxcbiAgUzNHZXRQYXJhbXNDcmVhdGVSZXF1ZXN0UGFyYW1zLFxufSBmcm9tIFwiLi9zMy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTM0FwaVNlcnZpY2UgaW1wbGVtZW50cyBTM0FwaVNlcnZpY2VJbnRlcmZhY2Uge1xuICBwcm90ZWN0ZWQgYmFzZVBhdGggPSBcIlwiO1xuICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuICBwdWJsaWMgZW5jb2RlcjogSHR0cFBhcmFtZXRlckNvZGVjO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbixcbiAgKSB7XG4gICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBmaXJzdEJhc2VQYXRoID0gQXJyYXkuaXNBcnJheShiYXNlUGF0aCkgPyBiYXNlUGF0aFswXSA6IHVuZGVmaW5lZDtcbiAgICAgIGlmIChmaXJzdEJhc2VQYXRoICE9IHVuZGVmaW5lZCkge1xuICAgICAgICBiYXNlUGF0aCA9IGZpcnN0QmFzZVBhdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgfVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgfVxuICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVyIHx8IG5ldyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMoKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoXG4gICAgaHR0cFBhcmFtczogSHR0cFBhcmFtcyxcbiAgICB2YWx1ZTogYW55LFxuICAgIGtleT86IHN0cmluZyxcbiAgKTogSHR0cFBhcmFtcyB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPT09IGZhbHNlKSB7XG4gICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUsIGtleSk7XG4gICAgfVxuICAgIHJldHVybiBodHRwUGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoXG4gICAgaHR0cFBhcmFtczogSHR0cFBhcmFtcyxcbiAgICB2YWx1ZT86IGFueSxcbiAgICBrZXk/OiBzdHJpbmcsXG4gICk6IEh0dHBQYXJhbXMge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgKHZhbHVlIGFzIGFueVtdKS5mb3JFYWNoKFxuICAgICAgICAgIChlbGVtKSA9PlxuICAgICAgICAgICAgKGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCBlbGVtLCBrZXkpKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICh2YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goXG4gICAgICAgICAgKGspID0+XG4gICAgICAgICAgICAoaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKFxuICAgICAgICAgICAgICBodHRwUGFyYW1zLFxuICAgICAgICAgICAgICB2YWx1ZVtrXSxcbiAgICAgICAgICAgICAga2V5ICE9IG51bGwgPyBgJHtrZXl9LiR7a31gIDogayxcbiAgICAgICAgICAgICkpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgfVxuICAgIHJldHVybiBodHRwUGFyYW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwYXJhbWV0ZXJzIGZvciB1cGxvYWQgdG8gUzMgYnVja2V0LiAgQ3VycmVudCBlbmRwb2ludCByZXR1cm5zIGFsbCByZXF1aXJlZCBmb3IgczMgdXBsb2FkIGRhdGEsIHdoaWNoIHNob3VsZCBiZSBsYXRlciBzZW50IHRvICYjeDYwO3VybCYjeDYwOyBhcyAmI3g2MDtmb3JtLWRhdGEmI3g2MDsgdXJsIHdpdGggXFwmIzM5O2ZpbGVcXCYjMzk7LiBXb3JrZmxvdzogRmlyc3QsIHlvdSBtYWtlIHJlcXVlc3QgdG8gdGhpcyBlbmRwb2ludC4gVGhlbiBzZW5kIHJlc3BvbnNlIGRhdGEgdG8gJiN4NjA7dXJsJiN4NjA7IHZpYSAmI3g2MDtQT1NUJiN4NjA7IGFzIGZvcm0tZGF0YSB3aXRoIGZpbGUgaW5jbHVkZWQuIEluIHJlc3BvbnNlIHlvdSB3aWxsIGdldCBhbiB1cmwgd2hpY2ggeW91IGNhbiB1c2UgaW4gQVBJIGZvciB2YWx1ZSBvZiBmaWxlIHJlbGF0ZWQgZmllbGRzIGxpa2UgYXZhdGFyIGZvciBleGFtcGxlLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIHMzR2V0UGFyYW1zQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTM0dldFBhcmFtc0NyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxTM1VwbG9hZER0bz47XG4gIHB1YmxpYyBzM0dldFBhcmFtc0NyZWF0ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogUzNHZXRQYXJhbXNDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxTM1VwbG9hZER0bz4+O1xuICBwdWJsaWMgczNHZXRQYXJhbXNDcmVhdGUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IFMzR2V0UGFyYW1zQ3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJldmVudHNcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PFMzVXBsb2FkRHRvPj47XG4gIHB1YmxpYyBzM0dldFBhcmFtc0NyZWF0ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogUzNHZXRQYXJhbXNDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU6IGFueSA9IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgczNSZXF1ZXN0UGFyYW1zUmVxdWVzdER0byA9XG4gICAgICByZXF1ZXN0UGFyYW1ldGVycz8uczNSZXF1ZXN0UGFyYW1zUmVxdWVzdER0bztcbiAgICBpZiAoXG4gICAgICBzM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvID09PSBudWxsIHx8XG4gICAgICBzM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZXF1aXJlZCBwYXJhbWV0ZXIgczNSZXF1ZXN0UGFyYW1zUmVxdWVzdER0byB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHMzR2V0UGFyYW1zQ3JlYXRlLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIGxldCBsb2NhbFZhckNyZWRlbnRpYWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckNyZWRlbnRpYWwgPSB0aGlzLmNvbmZpZ3VyYXRpb24ubG9va3VwQ3JlZGVudGlhbChcImNvb2tpZUF1dGhcIik7XG4gICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgIH1cblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFyQ3JlZGVudGlhbCA9IHRoaXMuY29uZmlndXJhdGlvbi5sb29rdXBDcmVkZW50aWFsKFwiand0QXV0aFwiKTtcbiAgICBpZiAobG9jYWxWYXJDcmVkZW50aWFsKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgICAgXCJCZWFyZXIgXCIgKyBsb2NhbFZhckNyZWRlbnRpYWwsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcImFwcGxpY2F0aW9uL2pzb25cIl07XG4gICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgIH1cbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcbiAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zICYmIG9wdGlvbnMudHJhbnNmZXJDYWNoZTtcbiAgICBpZiAobG9jYWxWYXJUcmFuc2ZlckNhY2hlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFyVHJhbnNmZXJDYWNoZSA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXG4gICAgXTtcbiAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCIsXG4gICAgICAgIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9zMy9nZXQtcGFyYW1zL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PFMzVXBsb2FkRHRvPihcbiAgICAgIFwicG9zdFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIGJvZHk6IHMzUmVxdWVzdFBhcmFtc1JlcXVlc3REdG8sXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvczMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFPTCxXQUFXLEdBQ1osTUFBTSxzQkFBc0IsQ0FBQztBQXFCOUIsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQU0sY0FBYyxDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVNsRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFFL0I7SUFEWixZQUNZLFVBQXNCLEVBQ0QsUUFBMkIsRUFDOUMsYUFBNkI7UUFFekMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUpyQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBS2xDLENBQUM7SUFzQ00saUJBQWlCLENBQ3RCLGlCQUFpRCxFQUNqRCxVQUFlLE1BQU0sRUFDckIsaUJBQTBCLEtBQUssRUFDL0IsT0FJQztRQUVELE1BQU0seUJBQXlCLEdBQzdCLGlCQUFpQixFQUFFLHlCQUF5QixDQUFDO1FBQy9DLElBQ0UseUJBQXlCLEtBQUssSUFBSTtZQUNsQyx5QkFBeUIsS0FBSyxTQUFTLEVBQ3ZDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLG9HQUFvRyxDQUNyRyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFMUMsdUNBQXVDO1FBRXZDLG9DQUFvQztRQUNwQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FDekQsU0FBUyxFQUNULGVBQWUsRUFDZixlQUFlLEVBQ2YsU0FBUyxDQUNWLENBQUM7UUFFRixNQUFNLGdDQUFnQyxHQUNwQyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxnQ0FBZ0MsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FDbkMsUUFBUSxFQUNSLGdDQUFnQyxDQUNqQyxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQ3ZCLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV4QyxNQUFNLHFCQUFxQixHQUFZLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDO1FBRXRFLHVDQUF1QztRQUN2QyxNQUFNLFFBQVEsR0FBYTtZQUN6QixrQkFBa0I7WUFDbEIsbUNBQW1DO1lBQ25DLHFCQUFxQjtTQUN0QixDQUFDO1FBQ0YsTUFBTSx1QkFBdUIsR0FDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxJQUFJLHVCQUF1QixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFDLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUNuQyxjQUFjLEVBQ2QsdUJBQXVCLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxhQUFhLEdBQTZCLE1BQU0sQ0FBQztRQUNyRCxJQUFJLGdDQUFnQyxFQUFFLENBQUM7WUFDckMsSUFBSSxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUN6QixDQUFDO2lCQUFNLElBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsRUFDL0QsQ0FBQztnQkFDRCxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxZQUFZLEdBQUcsd0JBQXdCLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDNUIsTUFBTSxFQUNOLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsWUFBWSxFQUFFLEVBQy9DO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLFlBQVksRUFBTyxhQUFhO1lBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYSxFQUFFLHFCQUFxQjtZQUNwQyxjQUFjLEVBQUUsY0FBYztTQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO3dHQXhJVSxZQUFZLDRDQUdELFNBQVM7NEdBSHBCLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFDNUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVsbWFyIEFwaVxuICpcbiAqXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwUGFyYW1ldGVyQ29kZWMsXG4gIEh0dHBDb250ZXh0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gXCIuLi9lbmNvZGVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwMUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwMS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA2RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA2LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQxNUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQxNS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U1MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U1MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBTM0dldFBhcmFtc0NyZWF0ZUVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvczMtZ2V0LXBhcmFtcy1jcmVhdGUtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBTM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvIH0gZnJvbSBcIi4uL21vZGVsL3MzLXJlcXVlc3QtcGFyYW1zLXJlcXVlc3QuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBTM1VwbG9hZER0byB9IGZyb20gXCIuLi9tb2RlbC9zMy11cGxvYWQuZHRvXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gZnJvbSBcIi4uL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuLi9hcGkuYmFzZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBTM0FwaVNlcnZpY2VJbnRlcmZhY2UsXG4gIFMzR2V0UGFyYW1zQ3JlYXRlUmVxdWVzdFBhcmFtcyxcbn0gZnJvbSBcIi4vczMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgUzNBcGlTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2UgaW1wbGVtZW50cyBTM0FwaVNlcnZpY2VJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uLFxuICApIHtcbiAgICBzdXBlcihiYXNlUGF0aCwgY29uZmlndXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBhcmFtZXRlcnMgZm9yIHVwbG9hZCB0byBTMyBidWNrZXQuICBDdXJyZW50IGVuZHBvaW50IHJldHVybnMgYWxsIHJlcXVpcmVkIGZvciBzMyB1cGxvYWQgZGF0YSwgd2hpY2ggc2hvdWxkIGJlIGxhdGVyIHNlbnQgdG8gJiN4NjA7dXJsJiN4NjA7IGFzICYjeDYwO2Zvcm0tZGF0YSYjeDYwOyB1cmwgd2l0aCBcXCYjMzk7ZmlsZVxcJiMzOTsuIFdvcmtmbG93OiBGaXJzdCwgeW91IG1ha2UgcmVxdWVzdCB0byB0aGlzIGVuZHBvaW50LiBUaGVuIHNlbmQgcmVzcG9uc2UgZGF0YSB0byAmI3g2MDt1cmwmI3g2MDsgdmlhICYjeDYwO1BPU1QmI3g2MDsgYXMgZm9ybS1kYXRhIHdpdGggZmlsZSBpbmNsdWRlZC4gSW4gcmVzcG9uc2UgeW91IHdpbGwgZ2V0IGFuIHVybCB3aGljaCB5b3UgY2FuIHVzZSBpbiBBUEkgZm9yIHZhbHVlIG9mIGZpbGUgcmVsYXRlZCBmaWVsZHMgbGlrZSBhdmF0YXIgZm9yIGV4YW1wbGUuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgczNHZXRQYXJhbXNDcmVhdGUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IFMzR2V0UGFyYW1zQ3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPFMzVXBsb2FkRHRvPjtcbiAgcHVibGljIHMzR2V0UGFyYW1zQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTM0dldFBhcmFtc0NyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwicmVzcG9uc2VcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPFMzVXBsb2FkRHRvPj47XG4gIHB1YmxpYyBzM0dldFBhcmFtc0NyZWF0ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogUzNHZXRQYXJhbXNDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8UzNVcGxvYWREdG8+PjtcbiAgcHVibGljIHMzR2V0UGFyYW1zQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTM0dldFBhcmFtc0NyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvID1cbiAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzPy5zM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvO1xuICAgIGlmIChcbiAgICAgIHMzUmVxdWVzdFBhcmFtc1JlcXVlc3REdG8gPT09IG51bGwgfHxcbiAgICAgIHMzUmVxdWVzdFBhcmFtc1JlcXVlc3REdG8gPT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciBzM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgczNHZXRQYXJhbXNDcmVhdGUuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGNvb2tpZUF1dGgpIHJlcXVpcmVkXG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoand0QXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYWRkQ3JlZGVudGlhbFRvSGVhZGVycyhcbiAgICAgIFwiand0QXV0aFwiLFxuICAgICAgXCJBdXRob3JpemF0aW9uXCIsXG4gICAgICBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBcIkJlYXJlciBcIixcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFtcImFwcGxpY2F0aW9uL2pzb25cIl0pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkFjY2VwdFwiLFxuICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPVxuICAgICAgb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgIFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgIFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgIF07XG4gICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiLFxuICAgICAgICBodHRwQ29udGVudFR5cGVTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvczMvZ2V0LXBhcmFtcy9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxTM1VwbG9hZER0bz4oXG4gICAgICBcInBvc3RcIixcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAge1xuICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICBib2R5OiBzM1JlcXVlc3RQYXJhbXNSZXF1ZXN0RHRvLFxuICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -9,74 +9,18 @@
|
|
|
9
9
|
*/
|
|
10
10
|
/* tslint:disable:no-unused-variable member-ordering */
|
|
11
11
|
import { Inject, Injectable, Optional } from "@angular/core";
|
|
12
|
-
import {
|
|
13
|
-
import { CustomHttpParameterCodec } from "../encoder";
|
|
12
|
+
import { HttpParams, HttpContext, } from "@angular/common/http";
|
|
14
13
|
// @ts-ignore
|
|
15
14
|
import { BASE_PATH, COLLECTION_FORMATS } from "../variables";
|
|
16
|
-
import {
|
|
15
|
+
import { BaseService } from "../api.base.service";
|
|
17
16
|
import * as i0 from "@angular/core";
|
|
18
17
|
import * as i1 from "@angular/common/http";
|
|
19
18
|
import * as i2 from "../configuration";
|
|
20
|
-
export class SearchPeriodsApiService {
|
|
19
|
+
export class SearchPeriodsApiService extends BaseService {
|
|
21
20
|
httpClient;
|
|
22
|
-
basePath = "";
|
|
23
|
-
defaultHeaders = new HttpHeaders();
|
|
24
|
-
configuration = new Configuration();
|
|
25
|
-
encoder;
|
|
26
21
|
constructor(httpClient, basePath, configuration) {
|
|
22
|
+
super(basePath, configuration);
|
|
27
23
|
this.httpClient = httpClient;
|
|
28
|
-
if (configuration) {
|
|
29
|
-
this.configuration = configuration;
|
|
30
|
-
}
|
|
31
|
-
if (typeof this.configuration.basePath !== "string") {
|
|
32
|
-
const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;
|
|
33
|
-
if (firstBasePath != undefined) {
|
|
34
|
-
basePath = firstBasePath;
|
|
35
|
-
}
|
|
36
|
-
if (typeof basePath !== "string") {
|
|
37
|
-
basePath = this.basePath;
|
|
38
|
-
}
|
|
39
|
-
this.configuration.basePath = basePath;
|
|
40
|
-
}
|
|
41
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
|
|
42
|
-
}
|
|
43
|
-
// @ts-ignore
|
|
44
|
-
addToHttpParams(httpParams, value, key) {
|
|
45
|
-
if (typeof value === "object" && value instanceof Date === false) {
|
|
46
|
-
httpParams = this.addToHttpParamsRecursive(httpParams, value);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
|
|
50
|
-
}
|
|
51
|
-
return httpParams;
|
|
52
|
-
}
|
|
53
|
-
addToHttpParamsRecursive(httpParams, value, key) {
|
|
54
|
-
if (value == null) {
|
|
55
|
-
return httpParams;
|
|
56
|
-
}
|
|
57
|
-
if (typeof value === "object") {
|
|
58
|
-
if (Array.isArray(value)) {
|
|
59
|
-
value.forEach((elem) => (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)));
|
|
60
|
-
}
|
|
61
|
-
else if (value instanceof Date) {
|
|
62
|
-
if (key != null) {
|
|
63
|
-
httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
throw Error("key may not be null if value is Date");
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
Object.keys(value).forEach((k) => (httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k)));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else if (key != null) {
|
|
74
|
-
httpParams = httpParams.append(key, value);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw Error("key may not be null if value is not object or array");
|
|
78
|
-
}
|
|
79
|
-
return httpParams;
|
|
80
24
|
}
|
|
81
25
|
searchPeriodsList(requestParameters, observe = "body", reportProgress = false, options) {
|
|
82
26
|
const periodOverlap = requestParameters?.periodOverlap;
|
|
@@ -97,9 +41,7 @@ export class SearchPeriodsApiService {
|
|
|
97
41
|
if (branchIn) {
|
|
98
42
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...branchIn].join(COLLECTION_FORMATS["csv"]), "branch__in");
|
|
99
43
|
}
|
|
100
|
-
|
|
101
|
-
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, periodOverlap, "period__overlap");
|
|
102
|
-
}
|
|
44
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, periodOverlap, "period__overlap");
|
|
103
45
|
if (statusIn) {
|
|
104
46
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...statusIn].join(COLLECTION_FORMATS["csv"]), "status__in");
|
|
105
47
|
}
|
|
@@ -128,34 +70,16 @@ export class SearchPeriodsApiService {
|
|
|
128
70
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...userWorkTypeIn].join(COLLECTION_FORMATS["csv"]), "user__work_type__in");
|
|
129
71
|
}
|
|
130
72
|
let localVarHeaders = this.defaultHeaders;
|
|
131
|
-
let localVarCredential;
|
|
132
73
|
// authentication (cookieAuth) required
|
|
133
|
-
localVarCredential = this.configuration.lookupCredential("cookieAuth");
|
|
134
|
-
if (localVarCredential) {
|
|
135
|
-
}
|
|
136
74
|
// authentication (jwtAuth) required
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
142
|
-
if (localVarHttpHeaderAcceptSelected === undefined) {
|
|
143
|
-
// to determine the Accept header
|
|
144
|
-
const httpHeaderAccepts = ["application/json"];
|
|
145
|
-
localVarHttpHeaderAcceptSelected =
|
|
146
|
-
this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
147
|
-
}
|
|
75
|
+
localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
|
|
76
|
+
const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
|
|
77
|
+
this.configuration.selectHeaderAccept(["application/json"]);
|
|
148
78
|
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
149
79
|
localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
|
|
150
80
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
localVarHttpContext = new HttpContext();
|
|
154
|
-
}
|
|
155
|
-
let localVarTransferCache = options && options.transferCache;
|
|
156
|
-
if (localVarTransferCache === undefined) {
|
|
157
|
-
localVarTransferCache = true;
|
|
158
|
-
}
|
|
81
|
+
const localVarHttpContext = options?.context ?? new HttpContext();
|
|
82
|
+
const localVarTransferCache = options?.transferCache ?? true;
|
|
159
83
|
let responseType_ = "json";
|
|
160
84
|
if (localVarHttpHeaderAcceptSelected) {
|
|
161
85
|
if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
|
|
@@ -196,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
196
120
|
}] }, { type: i2.Configuration, decorators: [{
|
|
197
121
|
type: Optional
|
|
198
122
|
}] }] });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFFTCxXQUFXLEVBQ1gsVUFBVSxFQUlWLFdBQVcsR0FDWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQWtCdEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyx1QkFBdUI7SUFTdEI7SUFORixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ25DLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ3BDLE9BQU8sQ0FBcUI7SUFFbkMsWUFDWSxVQUFzQixFQUNELFFBQTJCLEVBQzlDLGFBQTRCO1FBRjlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFJaEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FB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QUFnQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sSUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUMvRCxDQUFDO2dCQUNELGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLFlBQVksR0FBRyx5QkFBeUIsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUM1QixLQUFLLEVBQ0wsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxZQUFZLEVBQUUsRUFDL0M7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsWUFBWSxFQUFPLGFBQWE7WUFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixhQUFhLEVBQUUscUJBQXFCO1lBQ3BDLGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBNVNVLHVCQUF1Qiw0Q0FVWixTQUFTOzRHQVZwQix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFDNUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVsbWFyIEFwaVxuICpcbiAqXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwUGFyYW1ldGVyQ29kZWMsXG4gIEh0dHBDb250ZXh0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gXCIuLi9lbmNvZGVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwMUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwMS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA2RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA2LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQxNUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQxNS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U1MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U1MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBQZXJpb2REdG8gfSBmcm9tIFwiLi4vbW9kZWwvcGVyaW9kLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgU2VhcmNoUGVyaW9kc0xpc3RFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL3NlYXJjaC1wZXJpb2RzLWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gZnJvbSBcIi4uL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1xuICBTZWFyY2hQZXJpb2RzQXBpU2VydmljZUludGVyZmFjZSxcbiAgU2VhcmNoUGVyaW9kc0xpc3RSZXF1ZXN0UGFyYW1zLFxufSBmcm9tIFwiLi9zZWFyY2gtcGVyaW9kcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hQZXJpb2RzQXBpU2VydmljZVxuICBpbXBsZW1lbnRzIFNlYXJjaFBlcmlvZHNBcGlTZXJ2aWNlSW50ZXJmYWNlXG57XG4gIHByb3RlY3RlZCBiYXNlUGF0aCA9IFwiXCI7XG4gIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG4gIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uLFxuICApIHtcbiAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGNvbnN0IGZpcnN0QmFzZVBhdGggPSBBcnJheS5pc0FycmF5KGJhc2VQYXRoKSA/IGJhc2VQYXRoWzBdIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKGZpcnN0QmFzZVBhdGggIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJhc2VQYXRoID0gZmlyc3RCYXNlUGF0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBiYXNlUGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBiYXNlUGF0aCA9IHRoaXMuYmFzZVBhdGg7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICB9XG4gICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtcyhcbiAgICBodHRwUGFyYW1zOiBIdHRwUGFyYW1zLFxuICAgIHZhbHVlOiBhbnksXG4gICAga2V5Pzogc3RyaW5nLFxuICApOiBIdHRwUGFyYW1zIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSwga2V5KTtcbiAgICB9XG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICBodHRwUGFyYW1zOiBIdHRwUGFyYW1zLFxuICAgIHZhbHVlPzogYW55LFxuICAgIGtleT86IHN0cmluZyxcbiAgKTogSHR0cFBhcmFtcyB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAodmFsdWUgYXMgYW55W10pLmZvckVhY2goXG4gICAgICAgICAgKGVsZW0pID0+XG4gICAgICAgICAgICAoaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIGVsZW0sIGtleSkpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgaWYgKGtleSAhPSBudWxsKSB7XG4gICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IEVycm9yKFwia2V5IG1heSBub3QgYmUgbnVsbCBpZiB2YWx1ZSBpcyBEYXRlXCIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaChcbiAgICAgICAgICAoaykgPT5cbiAgICAgICAgICAgIChodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoXG4gICAgICAgICAgICAgIGh0dHBQYXJhbXMsXG4gICAgICAgICAgICAgIHZhbHVlW2tdLFxuICAgICAgICAgICAgICBrZXkgIT0gbnVsbCA/IGAke2tleX0uJHtrfWAgOiBrLFxuICAgICAgICAgICAgKSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgbm90IG9iamVjdCBvciBhcnJheVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogQXBpIHZpZXdzZXQgZm9yIHNlYXJjaGluZyB1c2VyL2JyYW5jaCBwZXJpb2RzIHVzZXJzIGJpcnRoZGF5cy5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2hQZXJpb2RzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogU2VhcmNoUGVyaW9kc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8QXJyYXk8UGVyaW9kRHRvPj47XG4gIHB1YmxpYyBzZWFyY2hQZXJpb2RzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogU2VhcmNoUGVyaW9kc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxQZXJpb2REdG8+Pj47XG4gIHB1YmxpYyBzZWFyY2hQZXJpb2RzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogU2VhcmNoUGVyaW9kc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8UGVyaW9kRHRvPj4+O1xuICBwdWJsaWMgc2VhcmNoUGVyaW9kc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IFNlYXJjaFBlcmlvZHNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHBlcmlvZE92ZXJsYXAgPSByZXF1ZXN0UGFyYW1ldGVycz8ucGVyaW9kT3ZlcmxhcDtcbiAgICBpZiAocGVyaW9kT3ZlcmxhcCA9PT0gbnVsbCB8fCBwZXJpb2RPdmVybGFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZXF1aXJlZCBwYXJhbWV0ZXIgcGVyaW9kT3ZlcmxhcCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHNlYXJjaFBlcmlvZHNMaXN0LlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYnJhbmNoSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uYnJhbmNoSW47XG4gICAgY29uc3Qgc3RhdHVzSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uc3RhdHVzSW47XG4gICAgY29uc3QgdHlwZUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LnR5cGVJbjtcbiAgICBjb25zdCB1c2VyQnJhbmNoSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlckJyYW5jaEluO1xuICAgIGNvbnN0IHVzZXJEZXBhcnRtZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlckRlcGFydG1lbnRJbjtcbiAgICBjb25zdCB1c2VySW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlckluO1xuICAgIGNvbnN0IHVzZXJTdGF0dXNJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyU3RhdHVzSW47XG4gICAgY29uc3QgdXNlclN1cGVydmlzZWVzSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlclN1cGVydmlzZWVzSW47XG4gICAgY29uc3QgdXNlclN1cGVydmlzb3JzSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlclN1cGVydmlzb3JzSW47XG4gICAgY29uc3QgdXNlcldvcmtUeXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udXNlcldvcmtUeXBlSW47XG5cbiAgICBsZXQgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IHRoaXMuZW5jb2RlciB9KTtcbiAgICBpZiAoYnJhbmNoSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uYnJhbmNoSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJicmFuY2hfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocGVyaW9kT3ZlcmxhcCAhPT0gdW5kZWZpbmVkICYmIHBlcmlvZE92ZXJsYXAgIT09IG51bGwpIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICA8YW55PnBlcmlvZE92ZXJsYXAsXG4gICAgICAgIFwicGVyaW9kX19vdmVybGFwXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uc3RhdHVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJzdGF0dXNfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnR5cGVJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInR5cGVfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodXNlckJyYW5jaEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJCcmFuY2hJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVzZXJfX2JyYW5jaF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1c2VyRGVwYXJ0bWVudEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJEZXBhcnRtZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19kZXBhcnRtZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VySW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJTdGF0dXNJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VyU3RhdHVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19zdGF0dXNfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodXNlclN1cGVydmlzZWVzSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udXNlclN1cGVydmlzZWVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19zdXBlcnZpc2Vlc19faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1c2VyU3VwZXJ2aXNvcnNJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VyU3VwZXJ2aXNvcnNJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVzZXJfX3N1cGVydmlzb3JzX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJXb3JrVHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJXb3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidXNlcl9fd29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIGxldCBsb2NhbFZhckNyZWRlbnRpYWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckNyZWRlbnRpYWwgPSB0aGlzLmNvbmZpZ3VyYXRpb24ubG9va3VwQ3JlZGVudGlhbChcImNvb2tpZUF1dGhcIik7XG4gICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgIH1cblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFyQ3JlZGVudGlhbCA9IHRoaXMuY29uZmlndXJhdGlvbi5sb29rdXBDcmVkZW50aWFsKFwiand0QXV0aFwiKTtcbiAgICBpZiAobG9jYWxWYXJDcmVkZW50aWFsKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgICAgXCJCZWFyZXIgXCIgKyBsb2NhbFZhckNyZWRlbnRpYWwsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcImFwcGxpY2F0aW9uL2pzb25cIl07XG4gICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCA9XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgIH1cbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zICYmIG9wdGlvbnMuY29udGV4dDtcbiAgICBpZiAobG9jYWxWYXJIdHRwQ29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckh0dHBDb250ZXh0ID0gbmV3IEh0dHBDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zICYmIG9wdGlvbnMudHJhbnNmZXJDYWNoZTtcbiAgICBpZiAobG9jYWxWYXJUcmFuc2ZlckNhY2hlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFyVHJhbnNmZXJDYWNoZSA9IHRydWU7XG4gICAgfVxuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvc2VhcmNoLXBlcmlvZHMvYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8UGVyaW9kRHRvPj4oXG4gICAgICBcImdldFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHBhcmFtczogbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFHTCxVQUFVLEVBSVYsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFtQjlCLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVNsRCxNQUFNLE9BQU8sdUJBQ1gsU0FBUSxXQUFXO0lBSVA7SUFEWixZQUNZLFVBQXNCLEVBQ0QsUUFBMkIsRUFDOUMsYUFBNkI7UUFFekMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUpyQixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBS2xDLENBQUM7SUFzQ00saUJBQWlCLENBQ3RCLGlCQUFpRCxFQUNqRCxVQUFlLE1BQU0sRUFDckIsaUJBQTBCLEtBQUssRUFDL0IsT0FJQztRQUVELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixFQUFFLGFBQWEsQ0FBQztRQUN2RCxJQUFJLGFBQWEsS0FBSyxJQUFJLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQ2Isd0ZBQXdGLENBQ3pGLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxpQkFBaUIsRUFBRSxNQUFN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QUM7UUFFdEUsSUFBSSxhQUFhLEdBQTZCLE1BQU0sQ0FBQztRQUNyRCxJQUFJLGdDQUFnQyxFQUFFLENBQUM7WUFDckMsSUFBSSxnQ0FBZ0MsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUN6QixDQUFDO2lCQUFNLElBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsRUFDL0QsQ0FBQztnQkFDRCxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxZQUFZLEdBQUcseUJBQXlCLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDNUIsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsWUFBWSxFQUFFLEVBQy9DO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixNQUFNLEVBQUUsdUJBQXVCO1lBQy9CLFlBQVksRUFBTyxhQUFhO1lBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYSxFQUFFLHFCQUFxQjtZQUNwQyxjQUFjLEVBQUUsY0FBYztTQUMvQixDQUNGLENBQUM7SUFDSixDQUFDO3dHQS9NVSx1QkFBdUIsNENBTVosU0FBUzs0R0FOcEIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUzs7MEJBQzVCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlbG1hciBBcGlcbiAqXG4gKlxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUGFyYW1zLFxuICBIdHRwUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cFBhcmFtZXRlckNvZGVjLFxuICBIdHRwQ29udGV4dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tIFwiLi4vZW5jb2RlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDFEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDEuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA1RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA1LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNkR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNi5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MTVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MTUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNTAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNTAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUGVyaW9kRHRvIH0gZnJvbSBcIi4uL21vZGVsL3BlcmlvZC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFNlYXJjaFBlcmlvZHNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9zZWFyY2gtcGVyaW9kcy1saXN0LWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9IGZyb20gXCIuLi92YXJpYWJsZXNcIjtcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tIFwiLi4vYXBpLmJhc2Uuc2VydmljZVwiO1xuaW1wb3J0IHtcbiAgU2VhcmNoUGVyaW9kc0FwaVNlcnZpY2VJbnRlcmZhY2UsXG4gIFNlYXJjaFBlcmlvZHNMaXN0UmVxdWVzdFBhcmFtcyxcbn0gZnJvbSBcIi4vc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUGVyaW9kc0FwaVNlcnZpY2VcbiAgZXh0ZW5kcyBCYXNlU2VydmljZVxuICBpbXBsZW1lbnRzIFNlYXJjaFBlcmlvZHNBcGlTZXJ2aWNlSW50ZXJmYWNlXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb24sXG4gICkge1xuICAgIHN1cGVyKGJhc2VQYXRoLCBjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcGkgdmlld3NldCBmb3Igc2VhcmNoaW5nIHVzZXIvYnJhbmNoIHBlcmlvZHMgdXNlcnMgYmlydGhkYXlzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFBlcmlvZHNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTZWFyY2hQZXJpb2RzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxQZXJpb2REdG8+PjtcbiAgcHVibGljIHNlYXJjaFBlcmlvZHNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTZWFyY2hQZXJpb2RzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwicmVzcG9uc2VcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PFBlcmlvZER0bz4+PjtcbiAgcHVibGljIHNlYXJjaFBlcmlvZHNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBTZWFyY2hQZXJpb2RzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxQZXJpb2REdG8+Pj47XG4gIHB1YmxpYyBzZWFyY2hQZXJpb2RzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogU2VhcmNoUGVyaW9kc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU6IGFueSA9IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGVyaW9kT3ZlcmxhcCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5wZXJpb2RPdmVybGFwO1xuICAgIGlmIChwZXJpb2RPdmVybGFwID09PSBudWxsIHx8IHBlcmlvZE92ZXJsYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciBwZXJpb2RPdmVybGFwIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgc2VhcmNoUGVyaW9kc0xpc3QuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBicmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5icmFuY2hJbjtcbiAgICBjb25zdCBzdGF0dXNJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zdGF0dXNJbjtcbiAgICBjb25zdCB0eXBlSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8udHlwZUluO1xuICAgIGNvbnN0IHVzZXJCcmFuY2hJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyQnJhbmNoSW47XG4gICAgY29uc3QgdXNlckRlcGFydG1lbnRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyRGVwYXJ0bWVudEluO1xuICAgIGNvbnN0IHVzZXJJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VySW47XG4gICAgY29uc3QgdXNlclN0YXR1c0luID0gcmVxdWVzdFBhcmFtZXRlcnM/LnVzZXJTdGF0dXNJbjtcbiAgICBjb25zdCB1c2VyU3VwZXJ2aXNlZXNJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyU3VwZXJ2aXNlZXNJbjtcbiAgICBjb25zdCB1c2VyU3VwZXJ2aXNvcnNJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyU3VwZXJ2aXNvcnNJbjtcbiAgICBjb25zdCB1c2VyV29ya1R5cGVJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy51c2VyV29ya1R5cGVJbjtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGlmIChicmFuY2hJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5icmFuY2hJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImJyYW5jaF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+cGVyaW9kT3ZlcmxhcCxcbiAgICAgIFwicGVyaW9kX19vdmVybGFwXCIsXG4gICAgKTtcbiAgICBpZiAoc3RhdHVzSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uc3RhdHVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJzdGF0dXNfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnR5cGVJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInR5cGVfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodXNlckJyYW5jaEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJCcmFuY2hJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVzZXJfX2JyYW5jaF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1c2VyRGVwYXJ0bWVudEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJEZXBhcnRtZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19kZXBhcnRtZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VySW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJTdGF0dXNJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VyU3RhdHVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19zdGF0dXNfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodXNlclN1cGVydmlzZWVzSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4udXNlclN1cGVydmlzZWVzSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJ1c2VyX19zdXBlcnZpc2Vlc19faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh1c2VyU3VwZXJ2aXNvcnNJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi51c2VyU3VwZXJ2aXNvcnNJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcInVzZXJfX3N1cGVydmlzb3JzX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVzZXJXb3JrVHlwZUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLnVzZXJXb3JrVHlwZUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwidXNlcl9fd29ya190eXBlX19pblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9zZWFyY2gtcGVyaW9kcy9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxQZXJpb2REdG8+PihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19
|