@veeroute/lss-routing-angular 4.7.1605 → 4.7.1607

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.7.1605
1
+ ## @veeroute/lss-routing-angular@4.7.1607
2
2
 
3
3
  ## General usage
4
4
 
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -144,7 +144,7 @@
144
144
  * VRt.Routing [RO]
145
145
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
146
146
  *
147
- * The version of the OpenAPI document: 4.7.1605
147
+ * The version of the OpenAPI document: 4.7.1607
148
148
  * Contact: servicedesk@veeroute.com
149
149
  *
150
150
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -282,7 +282,7 @@
282
282
  * VRt.Routing [RO]
283
283
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
284
284
  *
285
- * The version of the OpenAPI document: 4.7.1605
285
+ * The version of the OpenAPI document: 4.7.1607
286
286
  * Contact: servicedesk@veeroute.com
287
287
  *
288
288
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -420,7 +420,7 @@
420
420
  * VRt.Routing [RO]
421
421
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
422
422
  *
423
- * The version of the OpenAPI document: 4.7.1605
423
+ * The version of the OpenAPI document: 4.7.1607
424
424
  * Contact: servicedesk@veeroute.com
425
425
  *
426
426
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -582,7 +582,7 @@
582
582
  * VRt.Routing [RO]
583
583
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
584
584
  *
585
- * The version of the OpenAPI document: 4.7.1605
585
+ * The version of the OpenAPI document: 4.7.1607
586
586
  * Contact: servicedesk@veeroute.com
587
587
  *
588
588
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -611,7 +611,7 @@
611
611
  * VRt.Routing [RO]
612
612
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
613
613
  *
614
- * The version of the OpenAPI document: 4.7.1605
614
+ * The version of the OpenAPI document: 4.7.1607
615
615
  * Contact: servicedesk@veeroute.com
616
616
  *
617
617
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1605\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1607\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1607\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1607\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1607\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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 * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)\n *\n * The version of the OpenAPI document: 4.7.1607\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\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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"}
@@ -2,7 +2,7 @@
2
2
  * VRt.Routing [RO]
3
3
  * # Description **VRt.Routing** is designed to find a route between locations and build time-distance matrices. ## Features * Getting the distance and time between two locations, including traffic jams * Finding a route between specified locations * Creating a time-distance matrix ## Entity relationship diagram ![erd](../uml/routing.svg)
4
4
  *
5
- * The version of the OpenAPI document: 4.7.1605
5
+ * The version of the OpenAPI document: 4.7.1607
6
6
  * Contact: servicedesk@veeroute.com
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -142,4 +142,4 @@ MatrixService.ctorParameters = () => [
142
142
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [BASE_PATH,] }] },
143
143
  { type: Configuration, decorators: [{ type: Optional }] }
144
144
  ];
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFDc0IsV0FBVyxFQUN4RCxNQUFZLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUErQixZQUFZLENBQUM7QUFvQi9FLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUEwQixjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7Ozs7QUFXckYsTUFBTSxPQUFPLGFBQWE7SUFPdEIsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLGFBQVEsR0FBRyxnQ0FBZ0MsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBSXZDLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7U0FDdEM7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ2pELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO2dCQUM5QixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUM1QjtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFB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TSxDQUFDO2FBQzFCO1NBQ0o7UUFHRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFzQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSw2QkFBNkIsRUFDeEcsaUJBQWlCLEVBRWpCO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixZQUFZLEVBQU8sYUFBYTtZQUNoQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1NBQ2pDLENBQ0osQ0FBQztJQUNOLENBQUM7Ozs7WUF4SUosVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFuQ1EsVUFBVTt5Q0EyQ2dDLFFBQVEsWUFBRyxNQUFNLFNBQUMsU0FBUztZQWxCckUsYUFBYSx1QkFrQjZFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqICMgRGVzY3JpcHRpb24gICoqVlJ0LlJvdXRpbmcqKiBpcyBkZXNpZ25lZCB0byBmaW5kIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgYW5kIGJ1aWxkIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMuICAjIyBGZWF0dXJlcyAgKiBHZXR0aW5nIHRoZSBkaXN0YW5jZSBhbmQgdGltZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMsIGluY2x1ZGluZyB0cmFmZmljIGphbXMgKiBGaW5kaW5nIGEgcm91dGUgYmV0d2VlbiBzcGVjaWZpZWQgbG9jYXRpb25zICogQ3JlYXRpbmcgYSB0aW1lLWRpc3RhbmNlIG1hdHJpeCAgIyMgRW50aXR5IHJlbGF0aW9uc2hpcCBkaWFncmFtICAhW2VyZF0oLi4vdW1sL3JvdXRpbmcuc3ZnKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjcuMTYwNVxuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cENvbnRleHQgXG4gICAgICAgIH0gICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwNFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwNCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQyOSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTUwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRyaXhSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4UmVzdWx0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IE1hdHJpeFRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4VGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtc1xufSBmcm9tICcuL21hdHJpeFNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4U2VydmljZSBpbXBsZW1lbnRzIE1hdHJpeFNlcnZpY2VJbnRlcmZhY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpLmVkZ2UudmVlcm91dGUudGVjaCc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuICAgIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZT86IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBhbnlbXSkuZm9yRWFjaCggZWxlbSA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgZWxlbSwga2V5KSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyKDAsIDEwKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKCBrID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcywgdmFsdWVba10sIGtleSAhPSBudWxsID8gYCR7a2V5fS4ke2t9YCA6IGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGltZS1kaXN0YW5jZSBtYXRyaXhcbiAgICAgKiBDcmVhdGluZyB0aW1lLWRpc3RhbmNlIG1hdHJpY2VzIGJldHdlZW4gZWFjaCBwYWlyIG9mIGxvY2F0aW9ucy4gVGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBtYXkgc2xpZ2h0bHkgZGlmZmVyIGZyb20gdGhlICYjeDYwO3JvdXRlJiN4NjA7IG1ldGhvZC4gXG4gICAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHJ1bk1hdHJpeENhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5NYXRyaXhDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcbiAgICBwdWJsaWMgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG1hdHJpeFRhc2tSb3V0aW5nID0gcmVxdWVzdFBhcmFtZXRlcnMubWF0cml4VGFza1JvdXRpbmc7XG4gICAgICAgIGlmIChtYXRyaXhUYXNrUm91dGluZyA9PT0gbnVsbCB8fCBtYXRyaXhUYXNrUm91dGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBtYXRyaXhUYXNrUm91dGluZyB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHJ1bk1hdHJpeENhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxNYXRyaXhSZXN1bHRSb3V0aW5nPihgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3JvdXRpbmcvbWF0cml4L2NhbGN1bGF0aW9uYCxcbiAgICAgICAgICAgIG1hdHJpeFRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQTJCLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFDc0IsV0FBVyxFQUN4RCxNQUFZLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUErQixZQUFZLENBQUM7QUFvQi9FLGFBQWE7QUFDYixPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUEwQixjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUEwQyxrQkFBa0IsQ0FBQzs7Ozs7QUFXckYsTUFBTSxPQUFPLGFBQWE7SUFPdEIsWUFBc0IsVUFBc0IsRUFBZ0MsUUFBZ0IsRUFBYyxhQUE0QjtRQUFoSCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLGFBQVEsR0FBRyxnQ0FBZ0MsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBSXZDLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7U0FDdEM7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ2pELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO2dCQUM5QixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUM1QjtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUMxQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFB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TSxDQUFDO2FBQzFCO1NBQ0o7UUFHRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFzQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSw2QkFBNkIsRUFDeEcsaUJBQWlCLEVBRWpCO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixZQUFZLEVBQU8sYUFBYTtZQUNoQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1NBQ2pDLENBQ0osQ0FBQztJQUNOLENBQUM7Ozs7WUF4SUosVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFuQ1EsVUFBVTt5Q0EyQ2dDLFFBQVEsWUFBRyxNQUFNLFNBQUMsU0FBUztZQWxCckUsYUFBYSx1QkFrQjZFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqICMgRGVzY3JpcHRpb24gICoqVlJ0LlJvdXRpbmcqKiBpcyBkZXNpZ25lZCB0byBmaW5kIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgYW5kIGJ1aWxkIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMuICAjIyBGZWF0dXJlcyAgKiBHZXR0aW5nIHRoZSBkaXN0YW5jZSBhbmQgdGltZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMsIGluY2x1ZGluZyB0cmFmZmljIGphbXMgKiBGaW5kaW5nIGEgcm91dGUgYmV0d2VlbiBzcGVjaWZpZWQgbG9jYXRpb25zICogQ3JlYXRpbmcgYSB0aW1lLWRpc3RhbmNlIG1hdHJpeCAgIyMgRW50aXR5IHJlbGF0aW9uc2hpcCBkaWFncmFtICAhW2VyZF0oLi4vdW1sL3JvdXRpbmcuc3ZnKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjcuMTYwN1xuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cENvbnRleHQgXG4gICAgICAgIH0gICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFBhcmFtZXRlckNvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMlJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwMic7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwNFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQwNCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTQyOSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTUwMFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9pbmxpbmVSZXNwb25zZTUwMCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBNYXRyaXhSZXN1bHRSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4UmVzdWx0Jztcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IE1hdHJpeFRhc2tSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbWF0cml4VGFzayc7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtcbiAgICBNYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLFxuICAgIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtc1xufSBmcm9tICcuL21hdHJpeFNlcnZpY2VJbnRlcmZhY2UnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4U2VydmljZSBpbXBsZW1lbnRzIE1hdHJpeFNlcnZpY2VJbnRlcmZhY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHBzOi8vYXBpLmVkZ2UudmVlcm91dGUudGVjaCc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuICAgIHB1YmxpYyBlbmNvZGVyOiBIdHRwUGFyYW1ldGVyQ29kZWM7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCwgQE9wdGlvbmFsKClASW5qZWN0KEJBU0VfUEFUSCkgYmFzZVBhdGg6IHN0cmluZywgQE9wdGlvbmFsKCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbikge1xuICAgICAgICBpZiAoY29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYmFzZVBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgYmFzZVBhdGggPSB0aGlzLmJhc2VQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbmNvZGVyID0gdGhpcy5jb25maWd1cmF0aW9uLmVuY29kZXIgfHwgbmV3IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYygpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhZGRUb0h0dHBQYXJhbXMoaHR0cFBhcmFtczogSHR0cFBhcmFtcywgdmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zUmVjdXJzaXZlKGh0dHBQYXJhbXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zLCB2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShodHRwUGFyYW1zOiBIdHRwUGFyYW1zLCB2YWx1ZT86IGFueSwga2V5Pzogc3RyaW5nKTogSHR0cFBhcmFtcyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gaHR0cFBhcmFtcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICh2YWx1ZSBhcyBhbnlbXSkuZm9yRWFjaCggZWxlbSA9PiBodHRwUGFyYW1zID0gdGhpcy5hZGRUb0h0dHBQYXJhbXNSZWN1cnNpdmUoaHR0cFBhcmFtcywgZWxlbSwga2V5KSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkuc3Vic3RyKDAsIDEwKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcImtleSBtYXkgbm90IGJlIG51bGwgaWYgdmFsdWUgaXMgRGF0ZVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKCBrID0+IGh0dHBQYXJhbXMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtc1JlY3Vyc2l2ZShcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcywgdmFsdWVba10sIGtleSAhPSBudWxsID8gYCR7a2V5fS4ke2t9YCA6IGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJrZXkgbWF5IG5vdCBiZSBudWxsIGlmIHZhbHVlIGlzIG5vdCBvYmplY3Qgb3IgYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGltZS1kaXN0YW5jZSBtYXRyaXhcbiAgICAgKiBDcmVhdGluZyB0aW1lLWRpc3RhbmNlIG1hdHJpY2VzIGJldHdlZW4gZWFjaCBwYWlyIG9mIGxvY2F0aW9ucy4gVGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBtYXkgc2xpZ2h0bHkgZGlmZmVyIGZyb20gdGhlICYjeDYwO3JvdXRlJiN4NjA7IG1ldGhvZC4gXG4gICAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHJ1bk1hdHJpeENhbGN1bGF0aW9uKHJlcXVlc3RQYXJhbWV0ZXJzOiBSdW5NYXRyaXhDYWxjdWxhdGlvblJlcXVlc3RQYXJhbXMsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxNYXRyaXhSZXN1bHRSb3V0aW5nPjtcbiAgICBwdWJsaWMgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbiwgb3B0aW9ucz86IHtodHRwSGVhZGVyQWNjZXB0PzogJ2FwcGxpY2F0aW9uL2pzb24nLCBjb250ZXh0PzogSHR0cENvbnRleHR9KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8TWF0cml4UmVzdWx0Um91dGluZz4+O1xuICAgIHB1YmxpYyBydW5NYXRyaXhDYWxjdWxhdGlvbihyZXF1ZXN0UGFyYW1ldGVyczogUnVuTWF0cml4Q2FsY3VsYXRpb25SZXF1ZXN0UGFyYW1zLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsIG9wdGlvbnM/OiB7aHR0cEhlYWRlckFjY2VwdD86ICdhcHBsaWNhdGlvbi9qc29uJywgY29udGV4dD86IEh0dHBDb250ZXh0fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG1hdHJpeFRhc2tSb3V0aW5nID0gcmVxdWVzdFBhcmFtZXRlcnMubWF0cml4VGFza1JvdXRpbmc7XG4gICAgICAgIGlmIChtYXRyaXhUYXNrUm91dGluZyA9PT0gbnVsbCB8fCBtYXRyaXhUYXNrUm91dGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBtYXRyaXhUYXNrUm91dGluZyB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHJ1bk1hdHJpeENhbGN1bGF0aW9uLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgbGV0IGxvY2FsVmFyQ3JlZGVudGlhbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAvLyBhdXRoZW50aWNhdGlvbiAoQXBpS2V5QXV0aCkgcmVxdWlyZWRcbiAgICAgICAgbG9jYWxWYXJDcmVkZW50aWFsID0gdGhpcy5jb25maWd1cmF0aW9uLmxvb2t1cENyZWRlbnRpYWwoJ0FwaUtleUF1dGgnKTtcbiAgICAgICAgaWYgKGxvY2FsVmFyQ3JlZGVudGlhbCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIGxvY2FsVmFyQ3JlZGVudGlhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG9wdGlvbnMgJiYgb3B0aW9ucy5odHRwSGVhZGVyQWNjZXB0O1xuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldCgnQWNjZXB0JywgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBDb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySHR0cENvbnRleHQgPSBuZXcgSHR0cENvbnRleHQoKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZVR5cGVfOiAndGV4dCcgfCAnanNvbicgfCAnYmxvYicgPSAnanNvbic7XG4gICAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoJ3RleHQnKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAndGV4dCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSkge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnanNvbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZV8gPSAnYmxvYic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxNYXRyaXhSZXN1bHRSb3V0aW5nPihgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3JvdXRpbmcvbWF0cml4L2NhbGN1bGF0aW9uYCxcbiAgICAgICAgICAgIG1hdHJpeFRhc2tSb3V0aW5nLFxuICAgXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZUludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqICMgRGVzY3JpcHRpb24gICoqVlJ0LlJvdXRpbmcqKiBpcyBkZXNpZ25lZCB0byBmaW5kIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgYW5kIGJ1aWxkIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMuICAjIyBGZWF0dXJlcyAgKiBHZXR0aW5nIHRoZSBkaXN0YW5jZSBhbmQgdGltZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMsIGluY2x1ZGluZyB0cmFmZmljIGphbXMgKiBGaW5kaW5nIGEgcm91dGUgYmV0d2VlbiBzcGVjaWZpZWQgbG9jYXRpb25zICogQ3JlYXRpbmcgYSB0aW1lLWRpc3RhbmNlIG1hdHJpeCAgIyMgRW50aXR5IHJlbGF0aW9uc2hpcCBkaWFncmFtICAhW2VyZF0oLi4vdW1sL3JvdXRpbmcuc3ZnKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjcuMTYwNVxuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAwUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDA0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IE1hdHJpeFJlc3VsdFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgTWF0cml4VGFza1JvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuXG5cbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcyB7XG4gICAgbWF0cml4VGFza1JvdXRpbmc6IE1hdHJpeFRhc2tSb3V0aW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0cml4U2VydmljZUludGVyZmFjZSB7XG4gICAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICAgIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaW1lLWRpc3RhbmNlIG1hdHJpeFxuICAgICAqIENyZWF0aW5nIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMgYmV0d2VlbiBlYWNoIHBhaXIgb2YgbG9jYXRpb25zLiBUaGUgcmVzdWx0IG9mIHRoaXMgbWV0aG9kIG1heSBzbGlnaHRseSBkaWZmZXIgZnJvbSB0aGUgJiN4NjA7cm91dGUmI3g2MDsgbWV0aG9kLiBcbiogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICovXG4gICAgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8TWF0cml4UmVzdWx0Um91dGluZz47XG5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4U2VydmljZUludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9tYXRyaXhTZXJ2aWNlSW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZSdC5Sb3V0aW5nIFtST11cbiAqICMgRGVzY3JpcHRpb24gICoqVlJ0LlJvdXRpbmcqKiBpcyBkZXNpZ25lZCB0byBmaW5kIGEgcm91dGUgYmV0d2VlbiBsb2NhdGlvbnMgYW5kIGJ1aWxkIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMuICAjIyBGZWF0dXJlcyAgKiBHZXR0aW5nIHRoZSBkaXN0YW5jZSBhbmQgdGltZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMsIGluY2x1ZGluZyB0cmFmZmljIGphbXMgKiBGaW5kaW5nIGEgcm91dGUgYmV0d2VlbiBzcGVjaWZpZWQgbG9jYXRpb25zICogQ3JlYXRpbmcgYSB0aW1lLWRpc3RhbmNlIG1hdHJpeCAgIyMgRW50aXR5IHJlbGF0aW9uc2hpcCBkaWFncmFtICAhW2VyZF0oLi4vdW1sL3JvdXRpbmcuc3ZnKVxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjcuMTYwN1xuICogQ29udGFjdDogc2VydmljZWRlc2tAdmVlcm91dGUuY29tXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDAwUm91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQwMVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U0MDJSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IElubGluZVJlc3BvbnNlNDA0Um91dGluZyB9IGZyb20gJy4uL21vZGVsL21vZGVscyc7XG5pbXBvcnQgeyBJbmxpbmVSZXNwb25zZTQyOVJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgSW5saW5lUmVzcG9uc2U1MDBSb3V0aW5nIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7IE1hdHJpeFJlc3VsdFJvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHsgTWF0cml4VGFza1JvdXRpbmcgfSBmcm9tICcuLi9tb2RlbC9tb2RlbHMnO1xuXG5cbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcyB7XG4gICAgbWF0cml4VGFza1JvdXRpbmc6IE1hdHJpeFRhc2tSb3V0aW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0cml4U2VydmljZUludGVyZmFjZSB7XG4gICAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICAgIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaW1lLWRpc3RhbmNlIG1hdHJpeFxuICAgICAqIENyZWF0aW5nIHRpbWUtZGlzdGFuY2UgbWF0cmljZXMgYmV0d2VlbiBlYWNoIHBhaXIgb2YgbG9jYXRpb25zLiBUaGUgcmVzdWx0IG9mIHRoaXMgbWV0aG9kIG1heSBzbGlnaHRseSBkaWZmZXIgZnJvbSB0aGUgJiN4NjA7cm91dGUmI3g2MDsgbWV0aG9kLiBcbiogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAgICovXG4gICAgcnVuTWF0cml4Q2FsY3VsYXRpb24ocmVxdWVzdFBhcmFtZXRlcnM6IFJ1bk1hdHJpeENhbGN1bGF0aW9uUmVxdWVzdFBhcmFtcywgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8TWF0cml4UmVzdWx0Um91dGluZz47XG5cbn1cbiJdfQ==