@veeroute/lss-routing-angular 4.9.1653 → 5.1.1673

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 (70) hide show
  1. package/README.md +1 -1
  2. package/api/matrixService.d.ts +1 -1
  3. package/api/matrixServiceInterface.d.ts +1 -1
  4. package/api/routeService.d.ts +1 -1
  5. package/api/routeServiceInterface.d.ts +1 -1
  6. package/api/systemService.d.ts +1 -1
  7. package/api/systemServiceInterface.d.ts +1 -1
  8. package/bundles/veeroute-lss-routing-angular.umd.js +5 -5
  9. package/bundles/veeroute-lss-routing-angular.umd.js.map +1 -1
  10. package/esm2015/api/matrixService.js +2 -2
  11. package/esm2015/api/matrixServiceInterface.js +1 -1
  12. package/esm2015/api/routeService.js +2 -2
  13. package/esm2015/api/routeServiceInterface.js +1 -1
  14. package/esm2015/api/systemService.js +2 -2
  15. package/esm2015/api/systemServiceInterface.js +1 -1
  16. package/esm2015/model/checkResult.js +2 -2
  17. package/esm2015/model/geoSettings.js +2 -2
  18. package/esm2015/model/geopoint.js +2 -2
  19. package/esm2015/model/inlineResponse400.js +1 -1
  20. package/esm2015/model/inlineResponse401.js +1 -1
  21. package/esm2015/model/inlineResponse402.js +1 -1
  22. package/esm2015/model/inlineResponse404.js +1 -1
  23. package/esm2015/model/inlineResponse404Detail.js +1 -1
  24. package/esm2015/model/inlineResponse429.js +1 -1
  25. package/esm2015/model/inlineResponse500.js +1 -1
  26. package/esm2015/model/matrixResult.js +1 -1
  27. package/esm2015/model/matrixTask.js +1 -1
  28. package/esm2015/model/route.js +1 -1
  29. package/esm2015/model/routeLeg.js +1 -1
  30. package/esm2015/model/routePolyline.js +1 -1
  31. package/esm2015/model/routeResult.js +1 -1
  32. package/esm2015/model/routeStatistics.js +1 -1
  33. package/esm2015/model/routeStep.js +1 -1
  34. package/esm2015/model/routeTask.js +1 -1
  35. package/esm2015/model/routingMatrix.js +1 -1
  36. package/esm2015/model/serviceName.js +2 -2
  37. package/esm2015/model/timeWindow.js +2 -2
  38. package/esm2015/model/tracedata.js +1 -1
  39. package/esm2015/model/transportType.js +2 -2
  40. package/esm2015/model/versionResult.js +2 -2
  41. package/esm2015/model/waypoint.js +1 -1
  42. package/fesm2015/veeroute-lss-routing-angular.js +10 -10
  43. package/fesm2015/veeroute-lss-routing-angular.js.map +1 -1
  44. package/model/checkResult.d.ts +1 -1
  45. package/model/geoSettings.d.ts +1 -1
  46. package/model/geopoint.d.ts +1 -1
  47. package/model/inlineResponse400.d.ts +1 -1
  48. package/model/inlineResponse401.d.ts +1 -1
  49. package/model/inlineResponse402.d.ts +1 -1
  50. package/model/inlineResponse404.d.ts +1 -1
  51. package/model/inlineResponse404Detail.d.ts +1 -1
  52. package/model/inlineResponse429.d.ts +1 -1
  53. package/model/inlineResponse500.d.ts +1 -1
  54. package/model/matrixResult.d.ts +1 -1
  55. package/model/matrixTask.d.ts +1 -1
  56. package/model/route.d.ts +1 -1
  57. package/model/routeLeg.d.ts +1 -1
  58. package/model/routePolyline.d.ts +1 -1
  59. package/model/routeResult.d.ts +1 -1
  60. package/model/routeStatistics.d.ts +1 -1
  61. package/model/routeStep.d.ts +1 -1
  62. package/model/routeTask.d.ts +1 -1
  63. package/model/routingMatrix.d.ts +1 -1
  64. package/model/serviceName.d.ts +1 -1
  65. package/model/timeWindow.d.ts +1 -1
  66. package/model/tracedata.d.ts +1 -1
  67. package/model/transportType.d.ts +1 -1
  68. package/model/versionResult.d.ts +1 -1
  69. package/model/waypoint.d.ts +1 -1
  70. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @veeroute/lss-routing-angular@4.9.1653
1
+ ## @veeroute/lss-routing-angular@5.1.1673
2
2
 
3
3
  ## General usage
4
4
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -143,7 +143,7 @@
143
143
  /**
144
144
  * VRt.Routing [RO]
145
145
  *
146
- * The version of the OpenAPI document: 4.9.1653
146
+ * The version of the OpenAPI document: 5.1.1673
147
147
  * Contact: servicedesk@veeroute.com
148
148
  *
149
149
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -279,7 +279,7 @@
279
279
  /**
280
280
  * VRt.Routing [RO]
281
281
  *
282
- * The version of the OpenAPI document: 4.9.1653
282
+ * The version of the OpenAPI document: 5.1.1673
283
283
  * Contact: servicedesk@veeroute.com
284
284
  *
285
285
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -415,7 +415,7 @@
415
415
  /**
416
416
  * VRt.Routing [RO]
417
417
  *
418
- * The version of the OpenAPI document: 4.9.1653
418
+ * The version of the OpenAPI document: 5.1.1673
419
419
  * Contact: servicedesk@veeroute.com
420
420
  *
421
421
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -575,7 +575,7 @@
575
575
  /**
576
576
  * VRt.Routing [RO]
577
577
  *
578
- * The version of the OpenAPI document: 4.9.1653
578
+ * The version of the OpenAPI document: 5.1.1673
579
579
  * Contact: servicedesk@veeroute.com
580
580
  *
581
581
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -602,7 +602,7 @@
602
602
  /**
603
603
  * VRt.Routing [RO]
604
604
  *
605
- * The version of the OpenAPI document: 4.9.1653
605
+ * The version of the OpenAPI document: 5.1.1673
606
606
  * Contact: servicedesk@veeroute.com
607
607
  *
608
608
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -1 +1 @@
1
- {"version":3,"file":"veeroute-lss-routing-angular.umd.js","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/matrixService.ts","../../api/routeService.ts","../../api/systemService.ts","../../api/api.ts","../../model/serviceName.ts","../../model/transportType.ts","../../api.module.ts","../../veeroute-lss-routing-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default ApiKeyAuth credential\n if (!this.credentials['ApiKeyAuth']) {\n this.credentials['ApiKeyAuth'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 4.9.1653\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Routing } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Routing } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Routing } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { MatrixResultRouting } from '../model/matrixResult';\n// @ts-ignore\nimport { MatrixTaskRouting } from '../model/matrixTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n MatrixServiceInterface,\n RunMatrixCalculationRequestParams\n} from './matrixServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MatrixService implements MatrixServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Time-distance matrix\n * Creating time-distance matrices between each pair of locations. The result of this method may slightly differ from the &#x60;route&#x60; method. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<MatrixResultRouting>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<MatrixResultRouting>>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<MatrixResultRouting>>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const matrixTaskRouting = requestParameters.matrixTaskRouting;\n if (matrixTaskRouting === null || matrixTaskRouting === undefined) {\n throw new Error('Required parameter matrixTaskRouting was null or undefined when calling runMatrixCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<MatrixResultRouting>(`${this.configuration.basePath}/routing/matrix/calculation`,\n matrixTaskRouting,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 4.9.1653\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Routing } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Routing } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Routing } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { RouteResultRouting } from '../model/routeResult';\n// @ts-ignore\nimport { RouteTaskRouting } from '../model/routeTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n RouteServiceInterface,\n RunRouteCalculationRequestParams\n} from './routeServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService implements RouteServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Route between points\n * Building a route between locations considering taking traffic jams. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<RouteResultRouting>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<RouteResultRouting>>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<RouteResultRouting>>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const routeTaskRouting = requestParameters.routeTaskRouting;\n if (routeTaskRouting === null || routeTaskRouting === undefined) {\n throw new Error('Required parameter routeTaskRouting was null or undefined when calling runRouteCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<RouteResultRouting>(`${this.configuration.basePath}/routing/route/calculation`,\n routeTaskRouting,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 4.9.1653\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultRouting } from '../model/checkResult';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { VersionResultRouting } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n SystemServiceInterface\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Checking the availability\n * Checking the service availability.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CheckResultRouting>;\n public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CheckResultRouting>>;\n public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CheckResultRouting>>;\n public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<CheckResultRouting>(`${this.configuration.basePath}/routing/system/check`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the service version\n * Getting the service version.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<VersionResultRouting>;\n public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<VersionResultRouting>>;\n public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<VersionResultRouting>>;\n public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<VersionResultRouting>(`${this.configuration.basePath}/routing/system/version`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './matrixService';\nimport { MatrixService } from './matrixService';\nexport * from './matrixServiceInterface';\nexport * from './routeService';\nimport { RouteService } from './routeService';\nexport * from './routeServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [MatrixService, RouteService, SystemService];\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 4.9.1653\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceNameRouting {\n UNIVERSAL = 'UNIVERSAL',\n ROUTING = 'ROUTING',\n ACCOUNT = 'ACCOUNT',\n ADMIN = 'ADMIN',\n STUDIO = 'STUDIO',\n STOCK = 'STOCK',\n PACKER = 'PACKER',\n LONGHAUL = 'LONGHAUL',\n CLUSTER = 'CLUSTER',\n CARGOTIMETABLE = 'CARGOTIMETABLE'\n};\n\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 4.9.1653\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Transport types: * `CAR` - car * `TRUCK_1500` - truck with permissible weight 1500 kg * `TRUCK_3000` - truck with permissible weight 3000 kg * `TRUCK_5000` - truck with permissible weight 5000 kg * `TRUCK_10000` - truck with permissible weight 10000 kg * `TRUCK_20000` - truck with permissible weight 20000 kg * `TUK_TUK` - tuk-tuk * `BICYCLE` - bicycle * `PEDESTRIAN` - pedestrian * `PUBLIC_TRANSPORT` - public transport \n */\nexport enum TransportTypeRouting {\n CAR = 'CAR',\n TRUCK_1500 = 'TRUCK_1500',\n TRUCK_3000 = 'TRUCK_3000',\n TRUCK_5000 = 'TRUCK_5000',\n TRUCK_10000 = 'TRUCK_10000',\n TRUCK_20000 = 'TRUCK_20000',\n TUK_TUK = 'TUK_TUK',\n BICYCLE = 'BICYCLE',\n PEDESTRIAN = 'PEDESTRIAN',\n PUBLIC_TRANSPORT = 'PUBLIC_TRANSPORT'\n};\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { MatrixService } from './api/matrixService';\nimport { RouteService } from './api/routeService';\nimport { SystemService } from './api/systemService';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class LssRoutingApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssRoutingApiModule> {\n return {\n ngModule: LssRoutingApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: LssRoutingApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('LssRoutingApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","HttpHeaders","HttpContext","Injectable","HttpClient","Optional","Inject","ServiceNameRouting","TransportTypeRouting","NgModule","SkipSelf"],"mappings":"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"}
1
+ {"version":3,"file":"veeroute-lss-routing-angular.umd.js","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/matrixService.ts","../../api/routeService.ts","../../api/systemService.ts","../../api/api.ts","../../model/serviceName.ts","../../model/transportType.ts","../../api.module.ts","../../veeroute-lss-routing-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default ApiKeyAuth credential\n if (!this.credentials['ApiKeyAuth']) {\n this.credentials['ApiKeyAuth'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 5.1.1673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Routing } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Routing } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Routing } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { MatrixResultRouting } from '../model/matrixResult';\n// @ts-ignore\nimport { MatrixTaskRouting } from '../model/matrixTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n MatrixServiceInterface,\n RunMatrixCalculationRequestParams\n} from './matrixServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MatrixService implements MatrixServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Time-distance matrix\n * Creating time-distance matrices between each pair of locations. The result of this method may slightly differ from the &#x60;route&#x60; method. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<MatrixResultRouting>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<MatrixResultRouting>>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<MatrixResultRouting>>;\n public runMatrixCalculation(requestParameters: RunMatrixCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const matrixTaskRouting = requestParameters.matrixTaskRouting;\n if (matrixTaskRouting === null || matrixTaskRouting === undefined) {\n throw new Error('Required parameter matrixTaskRouting was null or undefined when calling runMatrixCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<MatrixResultRouting>(`${this.configuration.basePath}/routing/matrix/calculation`,\n matrixTaskRouting,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 5.1.1673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Routing } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Routing } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Routing } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { RouteResultRouting } from '../model/routeResult';\n// @ts-ignore\nimport { RouteTaskRouting } from '../model/routeTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n RouteServiceInterface,\n RunRouteCalculationRequestParams\n} from './routeServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteService implements RouteServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Route between points\n * Building a route between locations considering taking traffic jams. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<RouteResultRouting>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<RouteResultRouting>>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<RouteResultRouting>>;\n public runRouteCalculation(requestParameters: RunRouteCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const routeTaskRouting = requestParameters.routeTaskRouting;\n if (routeTaskRouting === null || routeTaskRouting === undefined) {\n throw new Error('Required parameter routeTaskRouting was null or undefined when calling runRouteCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<RouteResultRouting>(`${this.configuration.basePath}/routing/route/calculation`,\n routeTaskRouting,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 5.1.1673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultRouting } from '../model/checkResult';\n// @ts-ignore\nimport { InlineResponse404Routing } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Routing } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Routing } from '../model/inlineResponse500';\n// @ts-ignore\nimport { VersionResultRouting } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n SystemServiceInterface\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Checking the availability\n * Checking the service availability.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CheckResultRouting>;\n public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CheckResultRouting>>;\n public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CheckResultRouting>>;\n public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<CheckResultRouting>(`${this.configuration.basePath}/routing/system/check`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the service version\n * Getting the service version.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<VersionResultRouting>;\n public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<VersionResultRouting>>;\n public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<VersionResultRouting>>;\n public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<VersionResultRouting>(`${this.configuration.basePath}/routing/system/version`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './matrixService';\nimport { MatrixService } from './matrixService';\nexport * from './matrixServiceInterface';\nexport * from './routeService';\nimport { RouteService } from './routeService';\nexport * from './routeServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [MatrixService, RouteService, SystemService];\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 5.1.1673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceNameRouting {\n UNIVERSAL = 'UNIVERSAL',\n ROUTING = 'ROUTING',\n ACCOUNT = 'ACCOUNT',\n ADMIN = 'ADMIN',\n STUDIO = 'STUDIO',\n STOCK = 'STOCK',\n PACKER = 'PACKER',\n LONGHAUL = 'LONGHAUL',\n CLUSTER = 'CLUSTER',\n CARGOTIMETABLE = 'CARGOTIMETABLE'\n};\n\n","/**\n * VRt.Routing [RO]\n *\n * The version of the OpenAPI document: 5.1.1673\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Transport types: * `CAR` - car * `TRUCK_1500` - truck with permissible weight 1500 kg * `TRUCK_3000` - truck with permissible weight 3000 kg * `TRUCK_5000` - truck with permissible weight 5000 kg * `TRUCK_10000` - truck with permissible weight 10000 kg * `TRUCK_20000` - truck with permissible weight 20000 kg * `TUK_TUK` - tuk-tuk * `BICYCLE` - bicycle * `PEDESTRIAN` - pedestrian * `PUBLIC_TRANSPORT` - public transport \n */\nexport enum TransportTypeRouting {\n CAR = 'CAR',\n TRUCK_1500 = 'TRUCK_1500',\n TRUCK_3000 = 'TRUCK_3000',\n TRUCK_5000 = 'TRUCK_5000',\n TRUCK_10000 = 'TRUCK_10000',\n TRUCK_20000 = 'TRUCK_20000',\n TUK_TUK = 'TUK_TUK',\n BICYCLE = 'BICYCLE',\n PEDESTRIAN = 'PEDESTRIAN',\n PUBLIC_TRANSPORT = 'PUBLIC_TRANSPORT'\n};\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { MatrixService } from './api/matrixService';\nimport { RouteService } from './api/routeService';\nimport { SystemService } from './api/systemService';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class LssRoutingApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssRoutingApiModule> {\n return {\n ngModule: LssRoutingApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: LssRoutingApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('LssRoutingApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","HttpHeaders","HttpContext","Injectable","HttpClient","Optional","Inject","ServiceNameRouting","TransportTypeRouting","NgModule","SkipSelf"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -140,4 +140,4 @@ MatrixService.ctorParameters = () => [
140
140
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [BASE_PATH,] }] },
141
141
  { type: Configuration, decorators: [{ type: Optional }] }
142
142
  ];
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQ3NCLFdBQVcsRUFDeEQsTUFBWSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBK0IsWUFBWSxDQUFDO0FBb0IvRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7O0FBV3JGLE1BQU0sT0FBTyxhQUFhO0lBT3RCLFlBQXNCLFVBQXNCLEVBQWdDLFFBQWdCLEVBQWMsYUFBNEI7UUFBaEgsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxsQyxhQUFRLEdBQUcsZ0NBQWdDLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUl2QyxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNqRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFh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Q0FBQzthQUMxQjtTQUNKO1FBR0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsNkJBQTZCLEVBQ3hHLGlCQUFpQixFQUVqQjtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsWUFBWSxFQUFPLGFBQWE7WUFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzs7O1lBeElKLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBbkNRLFVBQVU7eUNBMkNnQyxRQUFRLFlBQUcsTUFBTSxTQUFDLFNBQVM7WUFsQnJFLGFBQWEsdUJBa0I2RSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWUnQuUm91dGluZyBbUk9dXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDQuOS4xNjUzXG4gKiBDb250YWN0OiBzZXJ2aWNlZGVza0B2ZWVyb3V0ZS5jb21cbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yLlxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cENvbnRleHQgXG4gICAgICAgIH0gICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwNFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwNCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQyOSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTUwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRyaXhSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4UmVzdWx0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IE1hdHJpeFRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4VGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtc1xufSBmcm9tICcuL21hdHJpeFNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4U2VydmljZSBpbXBsZW1lbnRzIE1hdHJpeFNlcnZpY2VJbnRlcmZhY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpLmVkZ2UudmVlcm91dGUudGVjaCc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuICAgIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZT86IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBhbnlbXSkuZm9yRWFjaCggZWxlbSA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgZWxlbSwga2V5KSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyKDAsIDEwKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKCBrID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcywgdmFsdWVba10sIGtleSAhPSBudWxsID8gYCR7a2V5fS4ke2t9YCA6IGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGltZS1kaXN0YW5jZSBtYXRyaXhcbiAgICAgKiBDcmVhdGluZyB0aW1lLWRpc3RhbmNlIG1hdHJpY2VzIGJldHdlZW4gZWFjaCBwYWlyIG9mIGxvY2F0aW9ucy4gVGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBtYXkgc2xpZ2h0bHkgZGlmZmVyIGZyb20gdGhlICYjeDYwO3JvdXRlJiN4NjA7IG1ldGhvZC4gXG4gICAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHJ1bk1hdHJpeENhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5NYXRyaXhDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcbiAgICBwdWJsaWMgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG1hdHJpeFRhc2tSb3V0aW5nID0gcmVxdWVzdFBhcmFtZXRlcnMubWF0cml4VGFza1JvdXRpbmc7XG4gICAgICAgIGlmIChtYXRyaXhUYXNrUm91dGluZyA9PT0gbnVsbCB8fCBtYXRyaXhUYXNrUm91dGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBtYXRyaXhUYXNrUm91dGluZyB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHJ1bk1hdHJpeENhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxNYXRyaXhSZXN1bHRSb3V0aW5nPihgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3JvdXRpbmcvbWF0cml4L2NhbGN1bGF0aW9uYCxcbiAgICAgICAgICAgIG1hdHJpeFRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUEyQixlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQ3NCLFdBQVcsRUFDeEQsTUFBWSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBK0IsWUFBWSxDQUFDO0FBb0IvRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7O0FBV3JGLE1BQU0sT0FBTyxhQUFhO0lBT3RCLFlBQXNCLFVBQXNCLEVBQWdDLFFBQWdCLEVBQWMsYUFBNEI7UUFBaEgsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxsQyxhQUFRLEdBQUcsZ0NBQWdDLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUl2QyxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNqRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFh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Q0FBQzthQUMxQjtTQUNKO1FBR0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsNkJBQTZCLEVBQ3hHLGlCQUFpQixFQUVqQjtZQUNJLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsWUFBWSxFQUFPLGFBQWE7WUFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixjQUFjLEVBQUUsY0FBYztTQUNqQyxDQUNKLENBQUM7SUFDTixDQUFDOzs7O1lBeElKLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBbkNRLFVBQVU7eUNBMkNnQyxRQUFRLFlBQUcsTUFBTSxTQUFDLFNBQVM7WUFsQnJFLGFBQWEsdUJBa0I2RSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWUnQuUm91dGluZyBbUk9dXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDUuMS4xNjczXG4gKiBDb250YWN0OiBzZXJ2aWNlZGVza0B2ZWVyb3V0ZS5jb21cbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yLlxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cENvbnRleHQgXG4gICAgICAgIH0gICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwNFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwNCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQyOSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTUwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRyaXhSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4UmVzdWx0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IE1hdHJpeFRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4VGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtc1xufSBmcm9tICcuL21hdHJpeFNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4U2VydmljZSBpbXBsZW1lbnRzIE1hdHJpeFNlcnZpY2VJbnRlcmZhY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpLmVkZ2UudmVlcm91dGUudGVjaCc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuICAgIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZT86IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBhbnlbXSkuZm9yRWFjaCggZWxlbSA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgZWxlbSwga2V5KSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyKDAsIDEwKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKCBrID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcywgdmFsdWVba10sIGtleSAhPSBudWxsID8gYCR7a2V5fS4ke2t9YCA6IGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGltZS1kaXN0YW5jZSBtYXRyaXhcbiAgICAgKiBDcmVhdGluZyB0aW1lLWRpc3RhbmNlIG1hdHJpY2VzIGJldHdlZW4gZWFjaCBwYWlyIG9mIGxvY2F0aW9ucy4gVGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBtYXkgc2xpZ2h0bHkgZGlmZmVyIGZyb20gdGhlICYjeDYwO3JvdXRlJiN4NjA7IG1ldGhvZC4gXG4gICAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHJ1bk1hdHJpeENhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5NYXRyaXhDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcbiAgICBwdWJsaWMgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG1hdHJpeFRhc2tSb3V0aW5nID0gcmVxdWVzdFBhcmFtZXRlcnMubWF0cml4VGFza1JvdXRpbmc7XG4gICAgICAgIGlmIChtYXRyaXhUYXNrUm91dGluZyA9PT0gbnVsbCB8fCBtYXRyaXhUYXNrUm91dGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBtYXRyaXhUYXNrUm91dGluZyB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHJ1bk1hdHJpeENhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxNYXRyaXhSZXN1bHRSb3V0aW5nPihgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3JvdXRpbmcvbWF0cml4L2NhbGN1bGF0aW9uYCxcbiAgICAgICAgICAgIG1hdHJpeFRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZUludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogNC45LjE2NTNcbiAqIENvbnRhY3Q6IHNlcnZpY2VkZXNrQHZlZXJvdXRlLmNvbVxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IuXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAxUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDI5Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgTWF0cml4UmVzdWx0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBNYXRyaXhUYXNrUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5cblxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zIHtcbiAgICBtYXRyaXhUYXNrUm91dGluZzogTWF0cml4VGFza1JvdXRpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgICBkZWZhdWx0SGVhZGVyczogSHR0cEhlYWRlcnM7XG4gICAgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRpbWUtZGlzdGFuY2UgbWF0cml4XG4gICAgICogQ3JlYXRpbmcgdGltZS1kaXN0YW5jZSBtYXRyaWNlcyBiZXR3ZWVuIGVhY2ggcGFpciBvZiBsb2NhdGlvbnMuIFRoZSByZXN1bHQgb2YgdGhpcyBtZXRob2QgbWF5IHNsaWdodGx5IGRpZmZlciBmcm9tIHRoZSAmI3g2MDtyb3V0ZSYjeDYwOyBtZXRob2QuIFxuKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcblxufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZUludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogNS4xLjE2NzNcbiAqIENvbnRhY3Q6IHNlcnZpY2VkZXNrQHZlZXJvdXRlLmNvbVxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IuXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAxUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDI5Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgTWF0cml4UmVzdWx0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBNYXRyaXhUYXNrUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5cblxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zIHtcbiAgICBtYXRyaXhUYXNrUm91dGluZzogTWF0cml4VGFza1JvdXRpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgICBkZWZhdWx0SGVhZGVyczogSHR0cEhlYWRlcnM7XG4gICAgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRpbWUtZGlzdGFuY2UgbWF0cml4XG4gICAgICogQ3JlYXRpbmcgdGltZS1kaXN0YW5jZSBtYXRyaWNlcyBiZXR3ZWVuIGVhY2ggcGFpciBvZiBsb2NhdGlvbnMuIFRoZSByZXN1bHQgb2YgdGhpcyBtZXRob2QgbWF5IHNsaWdodGx5IGRpZmZlciBmcm9tIHRoZSAmI3g2MDtyb3V0ZSYjeDYwOyBtZXRob2QuIFxuKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICAgKi9cbiAgICBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcblxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * VRt.Routing [RO]
3
3
  *
4
- * The version of the OpenAPI document: 4.9.1653
4
+ * The version of the OpenAPI document: 5.1.1673
5
5
  * Contact: servicedesk@veeroute.com
6
6
  *
7
7
  * NOTE: This class is auto generated by OpenAPI Generator.
@@ -140,4 +140,4 @@ RouteService.ctorParameters = () => [
140
140
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [BASE_PATH,] }] },
141
141
  { type: Configuration, decorators: [{ type: Optional }] }
142
142
  ];
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL3JvdXRlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUNzQixXQUFXLEVBQ3hELE1BQVksc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQStCLFlBQVksQ0FBQztBQW9CL0UsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7OztBQVdyRixNQUFNLE9BQU8sWUFBWTtJQU9yQixZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFMbEMsYUFBUSxHQUFHLGdDQUFnQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFJdkMsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztTQUN0QztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDakQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxD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QUM7YUFDMUI7U0FDSjtRQUdELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXFCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLDRCQUE0QixFQUN0RyxnQkFBZ0IsRUFFaEI7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFlBQVksRUFBTyxhQUFhO1lBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7OztZQXhJSixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQW5DUSxVQUFVO3lDQTJDZ0MsUUFBUSxZQUFHLE1BQU0sU0FBQyxTQUFTO1lBbEJyRSxhQUFhLHVCQWtCNkUsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVlJ0LlJvdXRpbmcgW1JPXVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjkuMTY1M1xuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvci5cbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwUGFyYW1ldGVyQ29kZWMsIEh0dHBDb250ZXh0IFxuICAgICAgICB9ICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDAnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDFSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDEnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDInO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDQnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MjlSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MjknO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U1MDAnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUm91dGVSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvcm91dGVSZXN1bHQnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUm91dGVUYXNrUm91dGluZyB9IGZyb20gJy4uL21vZGVsL3JvdXRlVGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBSb3V0ZVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgUnVuUm91dGVDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXNcbn0gZnJvbSAnLi9yb3V0ZVNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVTZXJ2aWNlIGltcGxlbWVudHMgUm91dGVTZXJ2aWNlSW50ZXJmYWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwczovL2FwaS5lZGdlLnZlZXJvdXRlLnRlY2gnO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcbiAgICBwdWJsaWMgZW5jb2RlcjogSHR0cFBhcmFtZXRlckNvZGVjO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGJhc2VQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGJhc2VQYXRoID0gdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVyIHx8IG5ldyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMoKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYWRkVG9IdHRwUGFyYW1zKGh0dHBQYXJhbXM6IEh0dHBQYXJhbXMsIHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU/OiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAodmFsdWUgYXMgYW55W10pLmZvckVhY2goIGVsZW0gPT4gaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIGVsZW0sIGtleSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cigwLCAxMCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIERhdGVcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaCggayA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoXG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMsIHZhbHVlW2tdLCBrZXkgIT0gbnVsbCA/IGAke2tleX0uJHtrfWAgOiBrKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwia2V5IG1heSBub3QgYmUgbnVsbCBpZiB2YWx1ZSBpcyBub3Qgb2JqZWN0IG9yIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJvdXRlIGJldHdlZW4gcG9pbnRzXG4gICAgICogQnVpbGRpbmcgYSByb3V0ZSBiZXR3ZWVuIGxvY2F0aW9ucyBjb25zaWRlcmluZyB0YWtpbmcgdHJhZmZpYyBqYW1zLiBcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnVuUm91dGVDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuUm91dGVDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxSb3V0ZVJlc3VsdFJvdXRpbmc+O1xuICAgIHB1YmxpYyBydW5Sb3V0ZUNhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5Sb3V0ZUNhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Um91dGVSZXN1bHRSb3V0aW5nPj47XG4gICAgcHVibGljIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8Um91dGVSZXN1bHRSb3V0aW5nPj47XG4gICAgcHVibGljIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHJvdXRlVGFza1JvdXRpbmcgPSByZXF1ZXN0UGFyYW1ldGVycy5yb3V0ZVRhc2tSb3V0aW5nO1xuICAgICAgICBpZiAocm91dGVUYXNrUm91dGluZyA9PT0gbnVsbCB8fCByb3V0ZVRhc2tSb3V0aW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIHJvdXRlVGFza1JvdXRpbmcgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBydW5Sb3V0ZUNhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxSb3V0ZVJlc3VsdFJvdXRpbmc+KGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0vcm91dGluZy9yb3V0ZS9jYWxjdWxhdGlvbmAsXG4gICAgICAgICAgICByb3V0ZVRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL3JvdXRlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUNzQixXQUFXLEVBQ3hELE1BQVksc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQStCLFlBQVksQ0FBQztBQW9CL0UsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQTBCLGNBQWMsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQTBDLGtCQUFrQixDQUFDOzs7OztBQVdyRixNQUFNLE9BQU8sWUFBWTtJQU9yQixZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFMbEMsYUFBUSxHQUFHLGdDQUFnQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFJdkMsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztTQUN0QztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDakQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxD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QUM7YUFDMUI7U0FDSjtRQUdELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXFCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLDRCQUE0QixFQUN0RyxnQkFBZ0IsRUFFaEI7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFlBQVksRUFBTyxhQUFhO1lBQ2hDLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7OztZQXhJSixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQW5DUSxVQUFVO3lDQTJDZ0MsUUFBUSxZQUFHLE1BQU0sU0FBQyxTQUFTO1lBbEJyRSxhQUFhLHVCQWtCNkUsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVlJ0LlJvdXRpbmcgW1JPXVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA1LjEuMTY3M1xuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvci5cbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyxcbiAgICAgICAgIEh0dHBSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwUGFyYW1ldGVyQ29kZWMsIEh0dHBDb250ZXh0IFxuICAgICAgICB9ICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9ICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICdyeGpzJztcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDAnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDFSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDEnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDInO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MDQnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MjlSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U0MjknO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvaW5saW5lUmVzcG9uc2U1MDAnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUm91dGVSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvcm91dGVSZXN1bHQnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUm91dGVUYXNrUm91dGluZyB9IGZyb20gJy4uL21vZGVsL3JvdXRlVGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBSb3V0ZVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgUnVuUm91dGVDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXNcbn0gZnJvbSAnLi9yb3V0ZVNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUm91dGVTZXJ2aWNlIGltcGxlbWVudHMgUm91dGVTZXJ2aWNlSW50ZXJmYWNlIHtcblxuICAgIHByb3RlY3RlZCBiYXNlUGF0aCA9ICdodHRwczovL2FwaS5lZGdlLnZlZXJvdXRlLnRlY2gnO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcbiAgICBwdWJsaWMgZW5jb2RlcjogSHR0cFBhcmFtZXRlckNvZGVjO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGJhc2VQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGJhc2VQYXRoID0gdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW5jb2RlciA9IHRoaXMuY29uZmlndXJhdGlvbi5lbmNvZGVyIHx8IG5ldyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMoKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYWRkVG9IdHRwUGFyYW1zKGh0dHBQYXJhbXM6IEh0dHBQYXJhbXMsIHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgdmFsdWUsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU/OiBhbnksIGtleT86IHN0cmluZyk6IEh0dHBQYXJhbXMge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAodmFsdWUgYXMgYW55W10pLmZvckVhY2goIGVsZW0gPT4gaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIGVsZW0sIGtleSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cigwLCAxMCkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIERhdGVcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaCggayA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoXG4gICAgICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMsIHZhbHVlW2tdLCBrZXkgIT0gbnVsbCA/IGAke2tleX0uJHtrfWAgOiBrKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwia2V5IG1heSBub3QgYmUgbnVsbCBpZiB2YWx1ZSBpcyBub3Qgb2JqZWN0IG9yIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBodHRwUGFyYW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJvdXRlIGJldHdlZW4gcG9pbnRzXG4gICAgICogQnVpbGRpbmcgYSByb3V0ZSBiZXR3ZWVuIGxvY2F0aW9ucyBjb25zaWRlcmluZyB0YWtpbmcgdHJhZmZpYyBqYW1zLiBcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnVuUm91dGVDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuUm91dGVDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxSb3V0ZVJlc3VsdFJvdXRpbmc+O1xuICAgIHB1YmxpYyBydW5Sb3V0ZUNhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5Sb3V0ZUNhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Um91dGVSZXN1bHRSb3V0aW5nPj47XG4gICAgcHVibGljIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8Um91dGVSZXN1bHRSb3V0aW5nPj47XG4gICAgcHVibGljIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHJvdXRlVGFza1JvdXRpbmcgPSByZXF1ZXN0UGFyYW1ldGVycy5yb3V0ZVRhc2tSb3V0aW5nO1xuICAgICAgICBpZiAocm91dGVUYXNrUm91dGluZyA9PT0gbnVsbCB8fCByb3V0ZVRhc2tSb3V0aW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIHJvdXRlVGFza1JvdXRpbmcgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBydW5Sb3V0ZUNhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxSb3V0ZVJlc3VsdFJvdXRpbmc+KGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0vcm91dGluZy9yb3V0ZS9jYWxjdWxhdGlvbmAsXG4gICAgICAgICAgICByb3V0ZVRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVTZXJ2aWNlSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL3JvdXRlU2VydmljZUludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWUnQuUm91dGluZyBbUk9dXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDQuOS4xNjUzXG4gKiBDb250YWN0OiBzZXJ2aWNlZGVza0B2ZWVyb3V0ZS5jb21cbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yLlxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAwUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDA0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IFJvdXRlUmVzdWx0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBSb3V0ZVRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcblxuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSdW5Sb3V0ZUNhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcyB7XG4gICAgcm91dGVUYXNrUm91dGluZzogUm91dGVUYXNrUm91dGluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlU2VydmljZUludGVyZmFjZSB7XG4gICAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICAgIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBSb3V0ZSBiZXR3ZWVuIHBvaW50c1xuICAgICAqIEJ1aWxkaW5nIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgY29uc2lkZXJpbmcgdGFraW5nIHRyYWZmaWMgamFtcy4gXG4qIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgICAqL1xuICAgIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxSb3V0ZVJlc3VsdFJvdXRpbmc+O1xuXG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVTZXJ2aWNlSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL3JvdXRlU2VydmljZUludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWUnQuUm91dGluZyBbUk9dXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDUuMS4xNjczXG4gKiBDb250YWN0OiBzZXJ2aWNlZGVza0B2ZWVyb3V0ZS5jb21cbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yLlxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAwUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDA0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IFJvdXRlUmVzdWx0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBSb3V0ZVRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcblxuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSdW5Sb3V0ZUNhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcyB7XG4gICAgcm91dGVUYXNrUm91dGluZzogUm91dGVUYXNrUm91dGluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlU2VydmljZUludGVyZmFjZSB7XG4gICAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICAgIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBSb3V0ZSBiZXR3ZWVuIHBvaW50c1xuICAgICAqIEJ1aWxkaW5nIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgY29uc2lkZXJpbmcgdGFraW5nIHRyYWZmaWMgamFtcy4gXG4qIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgICAqL1xuICAgIHJ1blJvdXRlQ2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1blJvdXRlQ2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxSb3V0ZVJlc3VsdFJvdXRpbmc+O1xuXG59XG4iXX0=