@revxui/intellibid-client-ts 1.0.58 → 1.0.60

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 (35) hide show
  1. package/README.md +2 -2
  2. package/api/advertiserController.service.d.ts +23 -0
  3. package/api/api.d.ts +3 -1
  4. package/api/audienceController.service.d.ts +41 -0
  5. package/esm2020/api/advertiserController.service.mjs +55 -1
  6. package/esm2020/api/api.mjs +4 -2
  7. package/esm2020/api/audienceController.service.mjs +110 -0
  8. package/esm2020/api.module.mjs +4 -1
  9. package/esm2020/model/audienceChildStatusDTO.mjs +22 -0
  10. package/esm2020/model/audienceGroupStatusResponse.mjs +16 -0
  11. package/esm2020/model/childPreviewDTO.mjs +13 -0
  12. package/esm2020/model/createBucketizedLiveAudienceRequest.mjs +19 -0
  13. package/esm2020/model/createBucketizedLiveAudienceResponse.mjs +10 -0
  14. package/esm2020/model/models.mjs +8 -1
  15. package/esm2020/model/pageAdvertiserResponse.mjs +1 -1
  16. package/esm2020/model/pageCampaignChangeLogResponse.mjs +1 -1
  17. package/esm2020/model/pageCampaignResponse.mjs +1 -1
  18. package/esm2020/model/productSetResponse.mjs +13 -0
  19. package/esm2020/model/upsertProductSetRequest.mjs +13 -0
  20. package/fesm2015/revxui-intellibid-client-ts.mjs +230 -2
  21. package/fesm2015/revxui-intellibid-client-ts.mjs.map +1 -1
  22. package/fesm2020/revxui-intellibid-client-ts.mjs +264 -2
  23. package/fesm2020/revxui-intellibid-client-ts.mjs.map +1 -1
  24. package/model/audienceChildStatusDTO.d.ts +31 -0
  25. package/model/audienceGroupStatusResponse.d.ts +42 -0
  26. package/model/childPreviewDTO.d.ts +19 -0
  27. package/model/createBucketizedLiveAudienceRequest.d.ts +33 -0
  28. package/model/createBucketizedLiveAudienceResponse.d.ts +28 -0
  29. package/model/models.d.ts +7 -0
  30. package/model/pageAdvertiserResponse.d.ts +1 -1
  31. package/model/pageCampaignChangeLogResponse.d.ts +1 -1
  32. package/model/pageCampaignResponse.d.ts +1 -1
  33. package/model/productSetResponse.d.ts +16 -0
  34. package/model/upsertProductSetRequest.d.ts +15 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @revxui/intellibid-client-ts@1.0.58
1
+ ## @revxui/intellibid-client-ts@1.0.60
2
2
 
3
3
  ### Building
4
4
 
@@ -19,7 +19,7 @@ Navigate to the folder of your consuming project and run one of next commands.
19
19
  _published:_
20
20
 
21
21
  ```
22
- npm install @revxui/intellibid-client-ts@1.0.58 --save
22
+ npm install @revxui/intellibid-client-ts@1.0.60 --save
23
23
  ```
24
24
 
25
25
  _without publishing (not recommended):_
@@ -6,6 +6,8 @@ import { AdvertiserSearchResponse } from '../model/advertiserSearchResponse';
6
6
  import { BlockedEventResponse } from '../model/blockedEventResponse';
7
7
  import { GoalResponse } from '../model/goalResponse';
8
8
  import { PageAdvertiserResponse } from '../model/pageAdvertiserResponse';
9
+ import { ProductSetResponse } from '../model/productSetResponse';
10
+ import { UpsertProductSetRequest } from '../model/upsertProductSetRequest';
9
11
  import { Configuration } from '../configuration';
10
12
  import * as i0 from "@angular/core";
11
13
  export declare class AdvertiserControllerService {
@@ -73,6 +75,16 @@ export declare class AdvertiserControllerService {
73
75
  getMMPConversionEventsByAdvertiser(id: number, observe?: 'body', reportProgress?: boolean): Observable<Array<AdvertiserMmpConversionEventResponse>>;
74
76
  getMMPConversionEventsByAdvertiser(id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<AdvertiserMmpConversionEventResponse>>>;
75
77
  getMMPConversionEventsByAdvertiser(id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<AdvertiserMmpConversionEventResponse>>>;
78
+ /**
79
+ * List product sets for an advertiser
80
+ * Returns list of product sets configured for the specified advertiser
81
+ * @param id
82
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
83
+ * @param reportProgress flag to report request and response progress.
84
+ */
85
+ listProductSets(id: number, observe?: 'body', reportProgress?: boolean): Observable<Array<ProductSetResponse>>;
86
+ listProductSets(id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<ProductSetResponse>>>;
87
+ listProductSets(id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<ProductSetResponse>>>;
76
88
  /**
77
89
  *
78
90
  *
@@ -83,6 +95,17 @@ export declare class AdvertiserControllerService {
83
95
  searchAdvertisers(q: string, observe?: 'body', reportProgress?: boolean): Observable<Array<AdvertiserSearchResponse>>;
84
96
  searchAdvertisers(q: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<AdvertiserSearchResponse>>>;
85
97
  searchAdvertisers(q: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<AdvertiserSearchResponse>>>;
98
+ /**
99
+ * Upsert a product set for an advertiser
100
+ * Creates or updates a product set configuration for the specified advertiser
101
+ * @param body
102
+ * @param id
103
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
104
+ * @param reportProgress flag to report request and response progress.
105
+ */
106
+ upsertProductSet(body: UpsertProductSetRequest, id: number, observe?: 'body', reportProgress?: boolean): Observable<ProductSetResponse>;
107
+ upsertProductSet(body: UpsertProductSetRequest, id: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ProductSetResponse>>;
108
+ upsertProductSet(body: UpsertProductSetRequest, id: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ProductSetResponse>>;
86
109
  static ɵfac: i0.ɵɵFactoryDeclaration<AdvertiserControllerService, [null, { optional: true; }, { optional: true; }]>;
87
110
  static ɵprov: i0.ɵɵInjectableDeclaration<AdvertiserControllerService>;
88
111
  }
package/api/api.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  export * from './advertiserController.service';
2
2
  import { AdvertiserControllerService } from './advertiserController.service';
3
+ export * from './audienceController.service';
4
+ import { AudienceControllerService } from './audienceController.service';
3
5
  export * from './campaignController.service';
4
6
  import { CampaignControllerService } from './campaignController.service';
5
7
  export * from './insightsController.service';
6
8
  import { InsightsControllerService } from './insightsController.service';
7
9
  export * from './lookupDataController.service';
8
10
  import { LookupDataControllerService } from './lookupDataController.service';
9
- export declare const APIS: (typeof AdvertiserControllerService | typeof CampaignControllerService | typeof InsightsControllerService | typeof LookupDataControllerService)[];
11
+ export declare const APIS: (typeof AdvertiserControllerService | typeof AudienceControllerService | typeof CampaignControllerService | typeof InsightsControllerService | typeof LookupDataControllerService)[];
@@ -0,0 +1,41 @@
1
+ import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { AudienceGroupStatusResponse } from '../model/audienceGroupStatusResponse';
4
+ import { CreateBucketizedLiveAudienceRequest } from '../model/createBucketizedLiveAudienceRequest';
5
+ import { CreateBucketizedLiveAudienceResponse } from '../model/createBucketizedLiveAudienceResponse';
6
+ import { Configuration } from '../configuration';
7
+ import * as i0 from "@angular/core";
8
+ export declare class AudienceControllerService {
9
+ protected httpClient: HttpClient;
10
+ protected basePath: string;
11
+ defaultHeaders: HttpHeaders;
12
+ configuration: Configuration;
13
+ constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
14
+ /**
15
+ * @param consumes string[] mime-types
16
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
17
+ */
18
+ private canConsumeForm;
19
+ /**
20
+ * Create a bucketized live audience group
21
+ * Creates a CustomAudienceGroup with N child rows for each CVR x Retention bucket combination. Triggers a sync with Platform Manager and returns immediately with the group ID and operation ID.
22
+ * @param body
23
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
24
+ * @param reportProgress flag to report request and response progress.
25
+ */
26
+ createBucketizedLiveAudience(body: CreateBucketizedLiveAudienceRequest, observe?: 'body', reportProgress?: boolean): Observable<CreateBucketizedLiveAudienceResponse>;
27
+ createBucketizedLiveAudience(body: CreateBucketizedLiveAudienceRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CreateBucketizedLiveAudienceResponse>>;
28
+ createBucketizedLiveAudience(body: CreateBucketizedLiveAudienceRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CreateBucketizedLiveAudienceResponse>>;
29
+ /**
30
+ * Get audience group status
31
+ * Returns the status of an audience group including all child audiences and their sync status
32
+ * @param groupId
33
+ * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
34
+ * @param reportProgress flag to report request and response progress.
35
+ */
36
+ getGroupStatus(groupId: number, observe?: 'body', reportProgress?: boolean): Observable<AudienceGroupStatusResponse>;
37
+ getGroupStatus(groupId: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AudienceGroupStatusResponse>>;
38
+ getGroupStatus(groupId: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AudienceGroupStatusResponse>>;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<AudienceControllerService, [null, { optional: true; }, { optional: true; }]>;
40
+ static ɵprov: i0.ɵɵInjectableDeclaration<AudienceControllerService>;
41
+ }
@@ -170,6 +170,28 @@ export class AdvertiserControllerService {
170
170
  reportProgress: reportProgress
171
171
  });
172
172
  }
173
+ listProductSets(id, observe = 'body', reportProgress = false) {
174
+ if (id === null || id === undefined) {
175
+ throw new Error('Required parameter id was null or undefined when calling listProductSets.');
176
+ }
177
+ let headers = this.defaultHeaders;
178
+ // to determine the Accept header
179
+ let httpHeaderAccepts = [
180
+ '*/*'
181
+ ];
182
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
183
+ if (httpHeaderAcceptSelected != undefined) {
184
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
185
+ }
186
+ // to determine the Content-Type header
187
+ const consumes = [];
188
+ return this.httpClient.request('get', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}/product-sets`, {
189
+ withCredentials: this.configuration.withCredentials,
190
+ headers: headers,
191
+ observe: observe,
192
+ reportProgress: reportProgress
193
+ });
194
+ }
173
195
  searchAdvertisers(q, observe = 'body', reportProgress = false) {
174
196
  if (q === null || q === undefined) {
175
197
  throw new Error('Required parameter q was null or undefined when calling searchAdvertisers.');
@@ -197,6 +219,38 @@ export class AdvertiserControllerService {
197
219
  reportProgress: reportProgress
198
220
  });
199
221
  }
222
+ upsertProductSet(body, id, observe = 'body', reportProgress = false) {
223
+ if (body === null || body === undefined) {
224
+ throw new Error('Required parameter body was null or undefined when calling upsertProductSet.');
225
+ }
226
+ if (id === null || id === undefined) {
227
+ throw new Error('Required parameter id was null or undefined when calling upsertProductSet.');
228
+ }
229
+ let headers = this.defaultHeaders;
230
+ // to determine the Accept header
231
+ let httpHeaderAccepts = [
232
+ '*/*'
233
+ ];
234
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
235
+ if (httpHeaderAcceptSelected != undefined) {
236
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
237
+ }
238
+ // to determine the Content-Type header
239
+ const consumes = [
240
+ 'application/json'
241
+ ];
242
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
243
+ if (httpContentTypeSelected != undefined) {
244
+ headers = headers.set('Content-Type', httpContentTypeSelected);
245
+ }
246
+ return this.httpClient.request('post', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}/product-sets`, {
247
+ body: body,
248
+ withCredentials: this.configuration.withCredentials,
249
+ headers: headers,
250
+ observe: observe,
251
+ reportProgress: reportProgress
252
+ });
253
+ }
200
254
  }
201
255
  AdvertiserControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvertiserControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
202
256
  AdvertiserControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvertiserControllerService });
@@ -210,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
210
264
  }] }, { type: i2.Configuration, decorators: [{
211
265
  type: Optional
212
266
  }] }]; } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUcsQ0FBQSx1REFBdUQ7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFDVixNQUFnQyxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBNkIsWUFBWSxDQUFDO0FBVy9FLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7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c291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqLy8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFkdmVydGlzZXJNbXBDb252ZXJzaW9uRXZlbnRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2FkdmVydGlzZXJNbXBDb252ZXJzaW9uRXZlbnRSZXNwb25zZSc7XG5pbXBvcnQgeyBBZHZlcnRpc2VyUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hZHZlcnRpc2VyUmVzcG9uc2UnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlJztcbmltcG9ydCB7IEJsb2NrZWRFdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYmxvY2tlZEV2ZW50UmVzcG9uc2UnO1xuaW1wb3J0IHsgR29hbFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvZ29hbFJlc3BvbnNlJztcbmltcG9ydCB7IFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9wYWdlQWR2ZXJ0aXNlclJlc3BvbnNlJztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cDovL2RldjEtaW50ZWxsaWJpZC1zdmMucmV2eC5pbyc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGggfHwgY29uZmlndXJhdGlvbi5iYXNlUGF0aCB8fCB0aGlzLmJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcbiAgICAgKiBAcmV0dXJuIHRydWU6IGNvbnN1bWVzIGNvbnRhaW5zICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2U6IG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gICAgICAgIGZvciAoY29uc3QgY29uc3VtZSBvZiBjb25zdW1lcykge1xuICAgICAgICAgICAgaWYgKGZvcm0gPT09IGNvbnN1bWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBZHZlcnRpc2VyUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFkdmVydGlzZXJSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QWR2ZXJ0aXNlclJlc3BvbnNlPignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIG5hbWUgXG4gICAgICogQHBhcmFtIGlzQWN0aXZlIFxuICAgICAqIEBwYXJhbSBwYWdlIFplcm8tYmFzZWQgcGFnZSBpbmRleCAoMC4uTilcbiAgICAgKiBAcGFyYW0gc2l6ZSBUaGUgc2l6ZSBvZiB0aGUgcGFnZSB0byBiZSByZXR1cm5lZFxuICAgICAqIEBwYXJhbSBzb3J0IFNvcnRpbmcgY3JpdGVyaWEgaW4gdGhlIGZvcm1hdDogcHJvcGVydHksKGFzY3xkZXNjKS4gRGVmYXVsdCBzb3J0IG9yZGVyIGlzIGFzY2VuZGluZy4gTXVsdGlwbGUgc29ydCBjcml0ZXJpYSBhcmUgc3VwcG9ydGVkLlxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnZUFkdmVydGlzZXJSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQWR2ZXJ0aXNlcnMobmFtZT86IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cblxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCAmJiBuYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCduYW1lJywgPGFueT5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBY3RpdmUgIT09IHVuZGVmaW5lZCAmJiBpc0FjdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnaXNBY3RpdmUnLCA8YW55PmlzQWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2UnLCA8YW55PnBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplICE9PSB1bmRlZmluZWQgJiYgc2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc2l6ZScsIDxhbnk+c2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5hcHBlbmQoJ3NvcnQnLCA8YW55PmVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdlQWR2ZXJ0aXNlclJlc3BvbnNlPignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlcmAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGJsb2NrZWQgZXZlbnRzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGJsb2NrZWQgZXZlbnRzIHdpdGggZXZlbnROYW1lIGFuZCBibG9ja2luZ0RheXMgZm9yIHRoZSBzcGVjaWZpZWQgYWR2ZXJ0aXNlclxuICAgICAqIEBwYXJhbSBpZCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QmxvY2tlZEV2ZW50c0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEJsb2NrZWRFdmVudFJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEJsb2NrZWRFdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PEJsb2NrZWRFdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRCbG9ja2VkRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QmxvY2tlZEV2ZW50UmVzcG9uc2U+Pj47XG4gICAgcHVibGljIGdldEJsb2NrZWRFdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QmxvY2tlZEV2ZW50c0J5QWR2ZXJ0aXNlci4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxCbG9ja2VkRXZlbnRSZXNwb25zZT4+KCdnZXQnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hZHZlcnRpc2VyLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfS9ibG9ja2VkLWV2ZW50c2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGdvYWxzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGdvYWxzIGRlcml2ZWQgZnJvbSB0aGUgYWR2ZXJ0aXNlciYjeDI3O3MgYWN0aXZlIHBvc3RiYWNrIGV2ZW50IG1hcHBpbmdzXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEdvYWxSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8R29hbFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEdvYWxSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgZ2V0R29hbHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0R29hbHNCeUFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8R29hbFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9L2dvYWxzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgTU1QIGNvbnZlcnNpb24gZXZlbnRzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGNvbmZpZ3VyZWQgTU1QIGV2ZW50cyB3aXRoIGlkIGFuZCBldmVudExhYmVsIGZvciB0aGUgc3BlY2lmaWVkIGFkdmVydGlzZXJcbiAgICAgKiBAcGFyYW0gaWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldE1NUENvbnZlcnNpb25FdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxBZHZlcnRpc2VyTW1wQ29udmVyc2lvbkV2ZW50UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0TU1QQ29udmVyc2lvbkV2ZW50c0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRNTVBDb252ZXJzaW9uRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRNTVBDb252ZXJzaW9uRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldE1NUENvbnZlcnNpb25FdmVudHNCeUFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9L21tcC1jb252ZXJzaW9uLWV2ZW50c2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoQWR2ZXJ0aXNlcnMocTogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEFkdmVydGlzZXJTZWFyY2hSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBzZWFyY2hBZHZlcnRpc2VycyhxOiBzdHJpbmcsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxBZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2U+Pj47XG4gICAgcHVibGljIHNlYXJjaEFkdmVydGlzZXJzKHE6IHN0cmluZywgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBcnJheTxBZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2U+Pj47XG4gICAgcHVibGljIHNlYXJjaEFkdmVydGlzZXJzKHE6IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKHEgPT09IG51bGwgfHwgcSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBxIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgc2VhcmNoQWR2ZXJ0aXNlcnMuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChxICE9PSB1bmRlZmluZWQgJiYgcSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgncScsIDxhbnk+cSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8QWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvc2VhcmNoYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUcsQ0FBQSx1REFBdUQ7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWMsV0FBVyxFQUFFLFVBQVUsRUFDVixNQUFnQyxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBNkIsWUFBWSxDQUFDO0FBYS9FLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7O0FBSXJGLE1BQU0sT0FBTywyQkFBMkI7SUFNcEMsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSmxDLGFBQVEsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBR3ZDLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUM7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SVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqLy8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFkdmVydGlzZXJNbXBDb252ZXJzaW9uRXZlbnRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2FkdmVydGlzZXJNbXBDb252ZXJzaW9uRXZlbnRSZXNwb25zZSc7XG5pbXBvcnQgeyBBZHZlcnRpc2VyUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hZHZlcnRpc2VyUmVzcG9uc2UnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlJztcbmltcG9ydCB7IEJsb2NrZWRFdmVudFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYmxvY2tlZEV2ZW50UmVzcG9uc2UnO1xuaW1wb3J0IHsgR29hbFJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvZ29hbFJlc3BvbnNlJztcbmltcG9ydCB7IFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9wYWdlQWR2ZXJ0aXNlclJlc3BvbnNlJztcbmltcG9ydCB7IFByb2R1Y3RTZXRSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL3Byb2R1Y3RTZXRSZXNwb25zZSc7XG5pbXBvcnQgeyBVcHNlcnRQcm9kdWN0U2V0UmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL3Vwc2VydFByb2R1Y3RTZXRSZXF1ZXN0JztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cDovL2RldjEtaW50ZWxsaWJpZC1zdmMucmV2eC5pbyc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGggfHwgY29uZmlndXJhdGlvbi5iYXNlUGF0aCB8fCB0aGlzLmJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcbiAgICAgKiBAcmV0dXJuIHRydWU6IGNvbnN1bWVzIGNvbnRhaW5zICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2U6IG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gICAgICAgIGZvciAoY29uc3QgY29uc3VtZSBvZiBjb25zdW1lcykge1xuICAgICAgICAgICAgaWYgKGZvcm0gPT09IGNvbnN1bWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBZHZlcnRpc2VyUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFkdmVydGlzZXJSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QWR2ZXJ0aXNlclJlc3BvbnNlPignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIG5hbWUgXG4gICAgICogQHBhcmFtIGlzQWN0aXZlIFxuICAgICAqIEBwYXJhbSBwYWdlIFplcm8tYmFzZWQgcGFnZSBpbmRleCAoMC4uTilcbiAgICAgKiBAcGFyYW0gc2l6ZSBUaGUgc2l6ZSBvZiB0aGUgcGFnZSB0byBiZSByZXR1cm5lZFxuICAgICAqIEBwYXJhbSBzb3J0IFNvcnRpbmcgY3JpdGVyaWEgaW4gdGhlIGZvcm1hdDogcHJvcGVydHksKGFzY3xkZXNjKS4gRGVmYXVsdCBzb3J0IG9yZGVyIGlzIGFzY2VuZGluZy4gTXVsdGlwbGUgc29ydCBjcml0ZXJpYSBhcmUgc3VwcG9ydGVkLlxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnZUFkdmVydGlzZXJSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRBbGxBZHZlcnRpc2VycyhuYW1lPzogc3RyaW5nLCBpc0FjdGl2ZT86IGJvb2xlYW4sIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBBcnJheTxzdHJpbmc+LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PFBhZ2VBZHZlcnRpc2VyUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQWR2ZXJ0aXNlcnMobmFtZT86IHN0cmluZywgaXNBY3RpdmU/OiBib29sZWFuLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBzb3J0PzogQXJyYXk8c3RyaW5nPiwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cblxuXG5cblxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCAmJiBuYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCduYW1lJywgPGFueT5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBY3RpdmUgIT09IHVuZGVmaW5lZCAmJiBpc0FjdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnaXNBY3RpdmUnLCA8YW55PmlzQWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZSAhPT0gdW5kZWZpbmVkICYmIHBhZ2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ3BhZ2UnLCA8YW55PnBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplICE9PSB1bmRlZmluZWQgJiYgc2l6ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc2l6ZScsIDxhbnk+c2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5hcHBlbmQoJ3NvcnQnLCA8YW55PmVsZW1lbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdlQWR2ZXJ0aXNlclJlc3BvbnNlPignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlcmAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGJsb2NrZWQgZXZlbnRzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGJsb2NrZWQgZXZlbnRzIHdpdGggZXZlbnROYW1lIGFuZCBibG9ja2luZ0RheXMgZm9yIHRoZSBzcGVjaWZpZWQgYWR2ZXJ0aXNlclxuICAgICAqIEBwYXJhbSBpZCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QmxvY2tlZEV2ZW50c0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEJsb2NrZWRFdmVudFJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEJsb2NrZWRFdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PEJsb2NrZWRFdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRCbG9ja2VkRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QmxvY2tlZEV2ZW50UmVzcG9uc2U+Pj47XG4gICAgcHVibGljIGdldEJsb2NrZWRFdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QmxvY2tlZEV2ZW50c0J5QWR2ZXJ0aXNlci4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxCbG9ja2VkRXZlbnRSZXNwb25zZT4+KCdnZXQnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hZHZlcnRpc2VyLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfS9ibG9ja2VkLWV2ZW50c2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGdvYWxzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGdvYWxzIGRlcml2ZWQgZnJvbSB0aGUgYWR2ZXJ0aXNlciYjeDI3O3MgYWN0aXZlIHBvc3RiYWNrIGV2ZW50IG1hcHBpbmdzXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEdvYWxSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8R29hbFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRHb2Fsc0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEdvYWxSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgZ2V0R29hbHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0R29hbHNCeUFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8R29hbFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9L2dvYWxzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbGwgTU1QIGNvbnZlcnNpb24gZXZlbnRzIGZvciBhbiBhZHZlcnRpc2VyXG4gICAgICogUmV0dXJucyBsaXN0IG9mIGNvbmZpZ3VyZWQgTU1QIGV2ZW50cyB3aXRoIGlkIGFuZCBldmVudExhYmVsIGZvciB0aGUgc3BlY2lmaWVkIGFkdmVydGlzZXJcbiAgICAgKiBAcGFyYW0gaWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldE1NUENvbnZlcnNpb25FdmVudHNCeUFkdmVydGlzZXIoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxBZHZlcnRpc2VyTW1wQ29udmVyc2lvbkV2ZW50UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0TU1QQ29udmVyc2lvbkV2ZW50c0J5QWR2ZXJ0aXNlcihpZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRNTVBDb252ZXJzaW9uRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRNTVBDb252ZXJzaW9uRXZlbnRzQnlBZHZlcnRpc2VyKGlkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldE1NUENvbnZlcnNpb25FdmVudHNCeUFkdmVydGlzZXIuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8QWR2ZXJ0aXNlck1tcENvbnZlcnNpb25FdmVudFJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2FkdmVydGlzZXIvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9L21tcC1jb252ZXJzaW9uLWV2ZW50c2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IHByb2R1Y3Qgc2V0cyBmb3IgYW4gYWR2ZXJ0aXNlclxuICAgICAqIFJldHVybnMgbGlzdCBvZiBwcm9kdWN0IHNldHMgY29uZmlndXJlZCBmb3IgdGhlIHNwZWNpZmllZCBhZHZlcnRpc2VyXG4gICAgICogQHBhcmFtIGlkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaXN0UHJvZHVjdFNldHMoaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxQcm9kdWN0U2V0UmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgbGlzdFByb2R1Y3RTZXRzKGlkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxQcm9kdWN0U2V0UmVzcG9uc2U+Pj47XG4gICAgcHVibGljIGxpc3RQcm9kdWN0U2V0cyhpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PFByb2R1Y3RTZXRSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgbGlzdFByb2R1Y3RTZXRzKGlkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGxpc3RQcm9kdWN0U2V0cy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxQcm9kdWN0U2V0UmVzcG9uc2U+PignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0vcHJvZHVjdC1zZXRzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBxIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWFyY2hBZHZlcnRpc2VycyhxOiBzdHJpbmcsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXJyYXk8QWR2ZXJ0aXNlclNlYXJjaFJlc3BvbnNlPj47XG4gICAgcHVibGljIHNlYXJjaEFkdmVydGlzZXJzKHE6IHN0cmluZywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5PEFkdmVydGlzZXJTZWFyY2hSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgc2VhcmNoQWR2ZXJ0aXNlcnMocTogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEFkdmVydGlzZXJTZWFyY2hSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgc2VhcmNoQWR2ZXJ0aXNlcnMocTogc3RyaW5nLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAocSA9PT0gbnVsbCB8fCBxID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIHEgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBzZWFyY2hBZHZlcnRpc2Vycy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHEgIT09IHVuZGVmaW5lZCAmJiBxICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdxJywgPGFueT5xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxBZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2U+PignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci9zZWFyY2hgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBhcmFtczogcXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBzZXJ0IGEgcHJvZHVjdCBzZXQgZm9yIGFuIGFkdmVydGlzZXJcbiAgICAgKiBDcmVhdGVzIG9yIHVwZGF0ZXMgYSBwcm9kdWN0IHNldCBjb25maWd1cmF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIGFkdmVydGlzZXJcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gaWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHVwc2VydFByb2R1Y3RTZXQoYm9keTogVXBzZXJ0UHJvZHVjdFNldFJlcXVlc3QsIGlkOiBudW1iZXIsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8UHJvZHVjdFNldFJlc3BvbnNlPjtcbiAgICBwdWJsaWMgdXBzZXJ0UHJvZHVjdFNldChib2R5OiBVcHNlcnRQcm9kdWN0U2V0UmVxdWVzdCwgaWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPFByb2R1Y3RTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cHNlcnRQcm9kdWN0U2V0KGJvZHk6IFVwc2VydFByb2R1Y3RTZXRSZXF1ZXN0LCBpZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PFByb2R1Y3RTZXRSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cHNlcnRQcm9kdWN0U2V0KGJvZHk6IFVwc2VydFByb2R1Y3RTZXRSZXF1ZXN0LCBpZDogbnVtYmVyLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cHNlcnRQcm9kdWN0U2V0LicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBzZXJ0UHJvZHVjdFNldC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQcm9kdWN0U2V0UmVzcG9uc2U+KCdwb3N0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYWR2ZXJ0aXNlci8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0vcHJvZHVjdC1zZXRzYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib2R5OiBib2R5LFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,10 +1,12 @@
1
1
  export * from './advertiserController.service';
2
2
  import { AdvertiserControllerService } from './advertiserController.service';
3
+ export * from './audienceController.service';
4
+ import { AudienceControllerService } from './audienceController.service';
3
5
  export * from './campaignController.service';
4
6
  import { CampaignControllerService } from './campaignController.service';
5
7
  export * from './insightsController.service';
6
8
  import { InsightsControllerService } from './insightsController.service';
7
9
  export * from './lookupDataController.service';
8
10
  import { LookupDataControllerService } from './lookupDataController.service';
9
- export const APIS = [AdvertiserControllerService, CampaignControllerService, InsightsControllerService, LookupDataControllerService];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkdmVydGlzZXJDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWR2ZXJ0aXNlckNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FtcGFpZ25Db250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNpZ2h0c0NvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnNpZ2h0c0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9pbnNpZ2h0c0NvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvb2t1cERhdGFDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9va3VwRGF0YUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb29rdXBEYXRhQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCBjb25zdCBBUElTID0gW0FkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSwgQ2FtcGFpZ25Db250cm9sbGVyU2VydmljZSwgSW5zaWdodHNDb250cm9sbGVyU2VydmljZSwgTG9va3VwRGF0YUNvbnRyb2xsZXJTZXJ2aWNlXTtcbiJdfQ==
11
+ export const APIS = [AdvertiserControllerService, AudienceControllerService, CampaignControllerService, InsightsControllerService, LookupDataControllerService];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWR2ZXJ0aXNlckNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2FkdmVydGlzZXJDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZUNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBdWRpZW5jZUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hdWRpZW5jZUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbXBhaWduQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2NhbXBhaWduQ29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zaWdodHNDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5zaWdodHNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vaW5zaWdodHNDb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb29rdXBEYXRhQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvb2t1cERhdGFDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vbG9va3VwRGF0YUNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgY29uc3QgQVBJUyA9IFtBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2UsIEF1ZGllbmNlQ29udHJvbGxlclNlcnZpY2UsIENhbXBhaWduQ29udHJvbGxlclNlcnZpY2UsIEluc2lnaHRzQ29udHJvbGxlclNlcnZpY2UsIExvb2t1cERhdGFDb250cm9sbGVyU2VydmljZV07XG4iXX0=
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Intellibid API
3
+ * API documentation for the Intellibid platform
4
+ *
5
+ * OpenAPI spec version: 1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */ /* tslint:disable:no-unused-variable member-ordering */
12
+ import { Inject, Injectable, Optional } from '@angular/core';
13
+ import { HttpHeaders } from '@angular/common/http';
14
+ import { BASE_PATH } from '../variables';
15
+ import { Configuration } from '../configuration';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@angular/common/http";
18
+ import * as i2 from "../configuration";
19
+ export class AudienceControllerService {
20
+ constructor(httpClient, basePath, configuration) {
21
+ this.httpClient = httpClient;
22
+ this.basePath = 'http://dev1-intellibid-svc.revx.io';
23
+ this.defaultHeaders = new HttpHeaders();
24
+ this.configuration = new Configuration();
25
+ if (basePath) {
26
+ this.basePath = basePath;
27
+ }
28
+ if (configuration) {
29
+ this.configuration = configuration;
30
+ this.basePath = basePath || configuration.basePath || this.basePath;
31
+ }
32
+ }
33
+ /**
34
+ * @param consumes string[] mime-types
35
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
36
+ */
37
+ canConsumeForm(consumes) {
38
+ const form = 'multipart/form-data';
39
+ for (const consume of consumes) {
40
+ if (form === consume) {
41
+ return true;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ createBucketizedLiveAudience(body, observe = 'body', reportProgress = false) {
47
+ if (body === null || body === undefined) {
48
+ throw new Error('Required parameter body was null or undefined when calling createBucketizedLiveAudience.');
49
+ }
50
+ let headers = this.defaultHeaders;
51
+ // to determine the Accept header
52
+ let httpHeaderAccepts = [
53
+ '*/*'
54
+ ];
55
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
56
+ if (httpHeaderAcceptSelected != undefined) {
57
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
58
+ }
59
+ // to determine the Content-Type header
60
+ const consumes = [
61
+ 'application/json'
62
+ ];
63
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
64
+ if (httpContentTypeSelected != undefined) {
65
+ headers = headers.set('Content-Type', httpContentTypeSelected);
66
+ }
67
+ return this.httpClient.request('post', `${this.basePath}/api/audience/live/bucketized`, {
68
+ body: body,
69
+ withCredentials: this.configuration.withCredentials,
70
+ headers: headers,
71
+ observe: observe,
72
+ reportProgress: reportProgress
73
+ });
74
+ }
75
+ getGroupStatus(groupId, observe = 'body', reportProgress = false) {
76
+ if (groupId === null || groupId === undefined) {
77
+ throw new Error('Required parameter groupId was null or undefined when calling getGroupStatus.');
78
+ }
79
+ let headers = this.defaultHeaders;
80
+ // to determine the Accept header
81
+ let httpHeaderAccepts = [
82
+ '*/*'
83
+ ];
84
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
85
+ if (httpHeaderAcceptSelected != undefined) {
86
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
87
+ }
88
+ // to determine the Content-Type header
89
+ const consumes = [];
90
+ return this.httpClient.request('get', `${this.basePath}/api/audience/groups/${encodeURIComponent(String(groupId))}`, {
91
+ withCredentials: this.configuration.withCredentials,
92
+ headers: headers,
93
+ observe: observe,
94
+ reportProgress: reportProgress
95
+ });
96
+ }
97
+ }
98
+ AudienceControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AudienceControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
99
+ AudienceControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AudienceControllerService });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AudienceControllerService, decorators: [{
101
+ type: Injectable
102
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
103
+ type: Optional
104
+ }, {
105
+ type: Inject,
106
+ args: [BASE_PATH]
107
+ }] }, { type: i2.Configuration, decorators: [{
108
+ type: Optional
109
+ }] }]; } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQ0UsTUFBZ0Msc0JBQXNCLENBQUM7QUFTekYsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLG9DQUFvQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNuQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUM1QixJQUFJLElBQUksS0FBSyxP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c291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqLy8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1ZGllbmNlR3JvdXBTdGF0dXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2F1ZGllbmNlR3JvdXBTdGF0dXNSZXNwb25zZSc7XG5pbXBvcnQgeyBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0JztcbmltcG9ydCB7IENyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXNwb25zZSc7XG5cbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdWRpZW5jZUNvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwOi8vZGV2MS1pbnRlbGxpYmlkLXN2Yy5yZXZ4LmlvJztcbiAgICBwdWJsaWMgZGVmYXVsdEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgICAgIHRoaXMuYmFzZVBhdGggPSBiYXNlUGF0aCB8fCBjb25maWd1cmF0aW9uLmJhc2VQYXRoIHx8IHRoaXMuYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29uc3VtZXMgc3RyaW5nW10gbWltZS10eXBlc1xuICAgICAqIEByZXR1cm4gdHJ1ZTogY29uc3VtZXMgY29udGFpbnMgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZTogb3RoZXJ3aXNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYW5Db25zdW1lRm9ybShjb25zdW1lczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybSA9ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgICAgICAgZm9yIChjb25zdCBjb25zdW1lIG9mIGNvbnN1bWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybSA9PT0gY29uc3VtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIGJ1Y2tldGl6ZWQgbGl2ZSBhdWRpZW5jZSBncm91cFxuICAgICAqIENyZWF0ZXMgYSBDdXN0b21BdWRpZW5jZUdyb3VwIHdpdGggTiBjaGlsZCByb3dzIGZvciBlYWNoIENWUiB4IFJldGVudGlvbiBidWNrZXQgY29tYmluYXRpb24uIFRyaWdnZXJzIGEgc3luYyB3aXRoIFBsYXRmb3JtIE1hbmFnZXIgYW5kIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aCB0aGUgZ3JvdXAgSUQgYW5kIG9wZXJhdGlvbiBJRC5cbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZShib2R5OiBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Q3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8Q3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2UuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8Q3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlL2xpdmUvYnVja2V0aXplZGAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm9keTogYm9keSxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhdWRpZW5jZSBncm91cCBzdGF0dXNcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgYW4gYXVkaWVuY2UgZ3JvdXAgaW5jbHVkaW5nIGFsbCBjaGlsZCBhdWRpZW5jZXMgYW5kIHRoZWlyIHN5bmMgc3RhdHVzXG4gICAgICogQHBhcmFtIGdyb3VwSWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwU3RhdHVzKGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZUdyb3VwU3RhdHVzUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRHcm91cFN0YXR1cyhncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZUdyb3VwU3RhdHVzUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0R3JvdXBTdGF0dXMoZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEF1ZGllbmNlR3JvdXBTdGF0dXNSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBnZXRHcm91cFN0YXR1cyhncm91cElkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChncm91cElkID09PSBudWxsIHx8IGdyb3VwSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZ3JvdXBJZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEdyb3VwU3RhdHVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEF1ZGllbmNlR3JvdXBTdGF0dXNSZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlL2dyb3Vwcy8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZ3JvdXBJZCkpfWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { NgModule, SkipSelf, Optional } from '@angular/core';
2
2
  import { Configuration } from './configuration';
3
3
  import { AdvertiserControllerService } from './api/advertiserController.service';
4
+ import { AudienceControllerService } from './api/audienceController.service';
4
5
  import { CampaignControllerService } from './api/campaignController.service';
5
6
  import { InsightsControllerService } from './api/insightsController.service';
6
7
  import { LookupDataControllerService } from './api/lookupDataController.service';
@@ -27,6 +28,7 @@ ApiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2
27
28
  ApiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ApiModule });
28
29
  ApiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiModule, providers: [
29
30
  AdvertiserControllerService,
31
+ AudienceControllerService,
30
32
  CampaignControllerService,
31
33
  InsightsControllerService,
32
34
  LookupDataControllerService
@@ -39,6 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
39
41
  exports: [],
40
42
  providers: [
41
43
  AdvertiserControllerService,
44
+ AudienceControllerService,
42
45
  CampaignControllerService,
43
46
  InsightsControllerService,
44
47
  LookupDataControllerService
@@ -51,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
51
54
  }] }, { type: i1.HttpClient, decorators: [{
52
55
  type: Optional
53
56
  }] }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2FwaS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQVlqRixNQUFNLE9BQU8sU0FBUztJQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQXlDO1FBQzNELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUU7U0FDOUUsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFxQyxZQUF1QixFQUNuQyxJQUFnQjtRQUNyQyxJQUFJLFlBQVksRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUN2RjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRDtnQkFDL0UsMERBQTBELENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7O3VHQWpCUSxTQUFTO3dHQUFULFNBQVM7d0dBQVQsU0FBUyxhQU5UO1FBQ1QsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsMkJBQTJCO0tBQUU7NEZBRXBCLFNBQVM7a0JBVnJCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFPLEVBQUU7b0JBQ2hCLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQU8sRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNULDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjtxQkFBRTtpQkFDaEM7OzBCQVNpQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTa2lwU2VsZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5pbXBvcnQgeyBBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbXBhaWduQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9jYW1wYWlnbkNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnNpZ2h0c0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGkvaW5zaWdodHNDb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9va3VwRGF0YUNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGkvbG9va3VwRGF0YUNvbnRyb2xsZXIuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6ICAgICAgW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6ICAgICAgW10sXG4gIHByb3ZpZGVyczogW1xuICAgIEFkdmVydGlzZXJDb250cm9sbGVyU2VydmljZSxcbiAgICBDYW1wYWlnbkNvbnRyb2xsZXJTZXJ2aWNlLFxuICAgIEluc2lnaHRzQ29udHJvbGxlclNlcnZpY2UsXG4gICAgTG9va3VwRGF0YUNvbnRyb2xsZXJTZXJ2aWNlIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBpTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbkZhY3Rvcnk6ICgpID0+IENvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwaU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb24sIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyYXRpb25GYWN0b3J5IH0gXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaU1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGluIHlvdXIgYmFzZSBBcHBNb2R1bGUgb25seS4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWh0dHApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG5lZWQgdG8gaW1wb3J0IHRoZSBIdHRwQ2xpZW50TW9kdWxlIGluIHlvdXIgQXBwTW9kdWxlISBcXG4nICtcbiAgICAgICAgICAgICdTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMDU3NScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2FwaS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQWFqRixNQUFNLE9BQU8sU0FBUztJQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQXlDO1FBQzNELE9BQU87WUFDSCxRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUU7U0FDOUUsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFxQyxZQUF1QixFQUNuQyxJQUFnQjtRQUNyQyxJQUFJLFlBQVksRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUN2RjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRDtnQkFDL0UsMERBQTBELENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7O3VHQWpCUSxTQUFTO3dHQUFULFNBQVM7d0dBQVQsU0FBUyxhQVBUO1FBQ1QsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLDJCQUEyQjtLQUFFOzRGQUVwQixTQUFTO2tCQVhyQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBTyxFQUFFO29CQUNoQixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFPLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjtxQkFBRTtpQkFDaEM7OzBCQVNpQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTa2lwU2VsZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5pbXBvcnQgeyBBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9hZHZlcnRpc2VyQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEF1ZGllbmNlQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9hdWRpZW5jZUNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYW1wYWlnbkNvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGkvY2FtcGFpZ25Db250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5zaWdodHNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2luc2lnaHRzQ29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvb2t1cERhdGFDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vYXBpL2xvb2t1cERhdGFDb250cm9sbGVyLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiAgICAgIFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiAgICAgIFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBZHZlcnRpc2VyQ29udHJvbGxlclNlcnZpY2UsXG4gICAgQXVkaWVuY2VDb250cm9sbGVyU2VydmljZSxcbiAgICBDYW1wYWlnbkNvbnRyb2xsZXJTZXJ2aWNlLFxuICAgIEluc2lnaHRzQ29udHJvbGxlclNlcnZpY2UsXG4gICAgTG9va3VwRGF0YUNvbnRyb2xsZXJTZXJ2aWNlIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBpTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbkZhY3Rvcnk6ICgpID0+IENvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwaU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb24sIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyYXRpb25GYWN0b3J5IH0gXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFwaU1vZHVsZSxcbiAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaU1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGluIHlvdXIgYmFzZSBBcHBNb2R1bGUgb25seS4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWh0dHApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG5lZWQgdG8gaW1wb3J0IHRoZSBIdHRwQ2xpZW50TW9kdWxlIGluIHlvdXIgQXBwTW9kdWxlISBcXG4nICtcbiAgICAgICAgICAgICdTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMDU3NScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Intellibid API
3
+ * API documentation for the Intellibid platform
4
+ *
5
+ * OpenAPI spec version: 1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ export var AudienceChildStatusDTO;
13
+ (function (AudienceChildStatusDTO) {
14
+ AudienceChildStatusDTO.StatusEnum = {
15
+ CREATING: 'CREATING',
16
+ ACTIVE: 'ACTIVE',
17
+ UPDATING: 'UPDATING',
18
+ DELETING: 'DELETING',
19
+ FAILED: 'FAILED'
20
+ };
21
+ })(AudienceChildStatusDTO || (AudienceChildStatusDTO = {}));
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaWVuY2VDaGlsZFN0YXR1c0RUTy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2F1ZGllbmNlQ2hpbGRTdGF0dXNEVE8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQVlILE1BQU0sS0FBVyxzQkFBc0IsQ0FTdEM7QUFURCxXQUFpQixzQkFBc0I7SUFFdEIsaUNBQVUsR0FBRztRQUN0QixRQUFRLEVBQUUsVUFBd0I7UUFDbEMsTUFBTSxFQUFFLFFBQXNCO1FBQzlCLFFBQVEsRUFBRSxVQUF3QjtRQUNsQyxRQUFRLEVBQUUsVUFBd0I7UUFDbEMsTUFBTSxFQUFFLFFBQXNCO0tBQ2pDLENBQUM7QUFDTixDQUFDLEVBVGdCLHNCQUFzQixLQUF0QixzQkFBc0IsUUFTdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXVkaWVuY2VDaGlsZFN0YXR1c0RUTyB7IFxuICAgIGNoaWxkSWQ/OiBudW1iZXI7XG4gICAgY2hpbGRLZXlIYXNoPzogc3RyaW5nO1xuICAgIGNvbXB1dGVkTmFtZT86IHN0cmluZztcbiAgICBwbGF0Zm9ybUF1ZGllbmNlSWQ/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogQXVkaWVuY2VDaGlsZFN0YXR1c0RUTy5TdGF0dXNFbnVtO1xuICAgIGxhc3RFcnJvcj86IHN0cmluZztcbiAgICBjdnJCdWNrZXRMYWJlbD86IHN0cmluZztcbiAgICByZXRlbnRpb25CdWNrZXRMYWJlbD86IHN0cmluZztcbn1cbmV4cG9ydCBuYW1lc3BhY2UgQXVkaWVuY2VDaGlsZFN0YXR1c0RUTyB7XG4gICAgZXhwb3J0IHR5cGUgU3RhdHVzRW51bSA9ICdDUkVBVElORycgfCAnQUNUSVZFJyB8ICdVUERBVElORycgfCAnREVMRVRJTkcnIHwgJ0ZBSUxFRCc7XG4gICAgZXhwb3J0IGNvbnN0IFN0YXR1c0VudW0gPSB7XG4gICAgICAgIENSRUFUSU5HOiAnQ1JFQVRJTkcnIGFzIFN0YXR1c0VudW0sXG4gICAgICAgIEFDVElWRTogJ0FDVElWRScgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgVVBEQVRJTkc6ICdVUERBVElORycgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgREVMRVRJTkc6ICdERUxFVElORycgYXMgU3RhdHVzRW51bSxcbiAgICAgICAgRkFJTEVEOiAnRkFJTEVEJyBhcyBTdGF0dXNFbnVtXG4gICAgfTtcbn0iXX0=
@@ -0,0 +1,16 @@
1
+ export var AudienceGroupStatusResponse;
2
+ (function (AudienceGroupStatusResponse) {
3
+ AudienceGroupStatusResponse.GroupTypeEnum = {
4
+ BUCKETIZEDLIVE: 'BUCKETIZED_LIVE',
5
+ BLOCKEDLIVE: 'BLOCKED_LIVE',
6
+ BUCKETIZEDCUSTOM: 'BUCKETIZED_CUSTOM',
7
+ DSCUSTOMQUERY: 'DS_CUSTOM_QUERY'
8
+ };
9
+ AudienceGroupStatusResponse.SyncStatusEnum = {
10
+ IDLE: 'IDLE',
11
+ SYNCING: 'SYNCING',
12
+ PARTIAL: 'PARTIAL',
13
+ FAILED: 'FAILED'
14
+ };
15
+ })(AudienceGroupStatusResponse || (AudienceGroupStatusResponse = {}));
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaWVuY2VHcm91cFN0YXR1c1Jlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvYXVkaWVuY2VHcm91cFN0YXR1c1Jlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLEtBQVcsMkJBQTJCLENBZTNDO0FBZkQsV0FBaUIsMkJBQTJCO0lBRTNCLHlDQUFhLEdBQUc7UUFDekIsY0FBYyxFQUFFLGlCQUFrQztRQUNsRCxXQUFXLEVBQUUsY0FBK0I7UUFDNUMsZ0JBQWdCLEVBQUUsbUJBQW9DO1FBQ3RELGFBQWEsRUFBRSxpQkFBa0M7S0FDcEQsQ0FBQztJQUVXLDBDQUFjLEdBQUc7UUFDMUIsSUFBSSxFQUFFLE1BQXdCO1FBQzlCLE9BQU8sRUFBRSxTQUEyQjtRQUNwQyxPQUFPLEVBQUUsU0FBMkI7UUFDcEMsTUFBTSxFQUFFLFFBQTBCO0tBQ3JDLENBQUM7QUFDTixDQUFDLEVBZmdCLDJCQUEyQixLQUEzQiwyQkFBMkIsUUFlM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBBdWRpZW5jZUNoaWxkU3RhdHVzRFRPIH0gZnJvbSAnLi9hdWRpZW5jZUNoaWxkU3RhdHVzRFRPJztcblxuZXhwb3J0IGludGVyZmFjZSBBdWRpZW5jZUdyb3VwU3RhdHVzUmVzcG9uc2UgeyBcbiAgICBncm91cElkPzogbnVtYmVyO1xuICAgIGdyb3VwVHlwZT86IEF1ZGllbmNlR3JvdXBTdGF0dXNSZXNwb25zZS5Hcm91cFR5cGVFbnVtO1xuICAgIGFkdmVydGlzZXJJZD86IG51bWJlcjtcbiAgICBwbGF0Zm9ybUlkPzogbnVtYmVyO1xuICAgIGJ1c2luZXNzWm9uZUlkPzogbnVtYmVyO1xuICAgIHN5bmNTdGF0dXM/OiBBdWRpZW5jZUdyb3VwU3RhdHVzUmVzcG9uc2UuU3luY1N0YXR1c0VudW07XG4gICAgbGFzdFN5bmNPcGVyYXRpb25JZD86IHN0cmluZztcbiAgICBsYXN0U3luY0Vycm9yPzogc3RyaW5nO1xuICAgIGxhc3RDb25maWdBcHBsaWVkQXQ/OiBEYXRlO1xuICAgIGNyZWF0ZWRBdD86IERhdGU7XG4gICAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgICBjaGlsZHJlbj86IEFycmF5PEF1ZGllbmNlQ2hpbGRTdGF0dXNEVE8+O1xufVxuZXhwb3J0IG5hbWVzcGFjZSBBdWRpZW5jZUdyb3VwU3RhdHVzUmVzcG9uc2Uge1xuICAgIGV4cG9ydCB0eXBlIEdyb3VwVHlwZUVudW0gPSAnQlVDS0VUSVpFRF9MSVZFJyB8ICdCTE9DS0VEX0xJVkUnIHwgJ0JVQ0tFVElaRURfQ1VTVE9NJyB8ICdEU19DVVNUT01fUVVFUlknO1xuICAgIGV4cG9ydCBjb25zdCBHcm91cFR5cGVFbnVtID0ge1xuICAgICAgICBCVUNLRVRJWkVETElWRTogJ0JVQ0tFVElaRURfTElWRScgYXMgR3JvdXBUeXBlRW51bSxcbiAgICAgICAgQkxPQ0tFRExJVkU6ICdCTE9DS0VEX0xJVkUnIGFzIEdyb3VwVHlwZUVudW0sXG4gICAgICAgIEJVQ0tFVElaRURDVVNUT006ICdCVUNLRVRJWkVEX0NVU1RPTScgYXMgR3JvdXBUeXBlRW51bSxcbiAgICAgICAgRFNDVVNUT01RVUVSWTogJ0RTX0NVU1RPTV9RVUVSWScgYXMgR3JvdXBUeXBlRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgU3luY1N0YXR1c0VudW0gPSAnSURMRScgfCAnU1lOQ0lORycgfCAnUEFSVElBTCcgfCAnRkFJTEVEJztcbiAgICBleHBvcnQgY29uc3QgU3luY1N0YXR1c0VudW0gPSB7XG4gICAgICAgIElETEU6ICdJRExFJyBhcyBTeW5jU3RhdHVzRW51bSxcbiAgICAgICAgU1lOQ0lORzogJ1NZTkNJTkcnIGFzIFN5bmNTdGF0dXNFbnVtLFxuICAgICAgICBQQVJUSUFMOiAnUEFSVElBTCcgYXMgU3luY1N0YXR1c0VudW0sXG4gICAgICAgIEZBSUxFRDogJ0ZBSUxFRCcgYXMgU3luY1N0YXR1c0VudW1cbiAgICB9O1xufSJdfQ==
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Intellibid API
3
+ * API documentation for the Intellibid platform
4
+ *
5
+ * OpenAPI spec version: 1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGRQcmV2aWV3RFRPLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvY2hpbGRQcmV2aWV3RFRPLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbGRQcmV2aWV3RFRPIHsgXG4gICAgY2hpbGRJZD86IG51bWJlcjtcbiAgICBjaGlsZEtleUhhc2g/OiBzdHJpbmc7XG4gICAgY29tcHV0ZWROYW1lPzogc3RyaW5nO1xuICAgIGN2ckJ1Y2tldExhYmVsPzogc3RyaW5nO1xuICAgIHJldGVudGlvbkJ1Y2tldExhYmVsPzogc3RyaW5nO1xuICAgIHJldGVudGlvbk5vT2ZEYXlzPzogbnVtYmVyO1xufSJdfQ==