@eo-sdk/client 9.6.2 → 9.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +4 -4
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
- package/bundles/eo-sdk-client.umd.js +4 -5
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
- package/esm2015/app/eo-framework/media/media.component.js +2 -2
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +1 -2
- package/esm2015/app/eo-framework/object-form/object-form-helper.service.js +2 -2
- package/esm2015/projects/eo-sdk/core/lib/service/prepare/prepare.service.js +5 -5
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +4 -4
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
- package/fesm2015/eo-sdk-client.js +4 -5
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/package.json +1 -1
|
@@ -151,7 +151,7 @@ export class ObjectFormHelperService {
|
|
|
151
151
|
}
|
|
152
152
|
formatValue(value, formElement) {
|
|
153
153
|
if (formElement.type === 'DATETIME' && !formElement.withtime) {
|
|
154
|
-
if (typeof value === 'string' || value instanceof Date) {
|
|
154
|
+
if (typeof value === 'string' || (value instanceof Date && !isNaN(value.getTime()))) {
|
|
155
155
|
return this.datePipe.transform(value, 'yyyy-MM-dd');
|
|
156
156
|
}
|
|
157
157
|
else if (value instanceof RangeValue) {
|
|
@@ -173,4 +173,4 @@ ObjectFormHelperService.ctorParameters = () => [
|
|
|
173
173
|
{ type: Logger },
|
|
174
174
|
{ type: SystemService }
|
|
175
175
|
];
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0taGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9vYmplY3QtZm9ybS9vYmplY3QtZm9ybS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRSxPQUFPLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3pDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFBb0IsTUFBYyxFQUFVLGFBQTRCO1FBQXBELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZoRSxhQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxPQUFZLEVBQUUsU0FBa0I7UUFFbkQsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDL0IsSUFBSTtnQkFDRixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7YUFBTTtZ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WUFwTEYsVUFBVTs7O1lBSkgsTUFBTTtZQUFFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtVmFsaWRhdGlvbn0gZnJvbSAnLi9vYmplY3QtZm9ybS9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uJztcbmltcG9ydCB7T2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyfSBmcm9tICcuL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWNvbnRyb2wtd3JhcHBlcic7XG5pbXBvcnQge09iamVjdEZvcm1Db250cm9sfSBmcm9tICcuL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHtPYmplY3RGb3JtR3JvdXB9IGZyb20gJy4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0tZ3JvdXAnO1xuaW1wb3J0IHtMb2dnZXIsIFN5c3RlbVNlcnZpY2UsIFJhbmdlVmFsdWV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09iamVjdEZvcm1Nb2RlbH0gZnJvbSAnLi9vYmplY3QtZm9ybS9vYmplY3QtZm9ybS5tb2RlbCc7XG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT2JqZWN0Rm9ybUhlbHBlclNlcnZpY2Uge1xuXG4gIHByaXZhdGUgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuJyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IExvZ2dlciwgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBmb3JtIGVsZW1lbnQgb2JqZWN0IHRvIGFuIE9iamVjdEZvcm1Db250cm9sV3JhcHBlciB3aGljaCB0aGVuIGNhbiBiZSB1c2VkIHRvXG4gICAqIHJlbmRlciBhIGZyb20gY29udHJvbC4gUmVzdWx0IGNhbiBiZSB1c2VkIGFzIGlucHV0IGZvciBGb3JtRWxlbWVudENvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGVsZW1lbnQgLSB0aGUgZWxlbWVudCBvYmplY3Qgb3IgYSBqc29uIHN0cmluZ1xuICAgKiBAcGFyYW0gc2l0dWF0aW9uIC0gb3B0aW9uYWwgcHJvcGVydHkgdG8gc2V0IHVwIGEgZm9ybSBzaXR1YXRpb24gZm9yIHRoZSBjb250cm9sIChkZWZhdWx0IGlzIEVESVQpXG4gICAqIEByZXR1cm4gdGhlIGNvbnZlcnRlZCBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXIgb3IgbnVsbCBpbiBjYXNlIG9mIGFuIGVycm9yXG4gICAqL1xuICBlbGVtZW50VG9Gb3JtQ29udHJvbChlbGVtZW50OiBhbnksIHNpdHVhdGlvbj86IHN0cmluZyk6IE9iamVjdEZvcm1Db250cm9sV3JhcHBlciB7XG5cbiAgICBsZXQgZm9ybUVsZW1lbnQ7XG4gICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZm9ybUVsZW1lbnQgPSBKU09OLnBhcnNlKGVsZW1lbnQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignVW5hYmxlIHRvIHBhcnNlIGZvcm0gZWxlbWVudCBmcm9tIGpzb24gJywgZm9ybUVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFmb3JtRWxlbWVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXJcbiAgICBsZXQgd3JhcHBlciA9IG5ldyBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXIoe30pO1xuICAgIGxldCBmb3JtU2l0dWF0aW9uID0gc2l0dWF0aW9uID8gc2l0dWF0aW9uIDogJ0VESVQnO1xuXG4gICAgd3JhcHBlci5fZW9Gb3JtQ29udHJvbFdyYXBwZXIgPSB7XG4gICAgICBjb250cm9sTmFtZTogZm9ybUVsZW1lbnQubmFtZSxcbiAgICAgIHNpdHVhdGlvbjogZm9ybVNpdHVhdGlvblxuICAgIH07XG5cbiAgICAvLyBmb3IgY29kZXN5c3RlbSBlbGVtZW50cyBhZGQgZW50cmllcyBpZiBub3QgeWV0IHByb3ZpZGVkXG4gICAgaWYgKGZvcm1FbGVtZW50LnR5cGUgPT09ICdDT0RFU1lTVEVNJyAmJiAoIWZvcm1FbGVtZW50LmNvZGVzeXN0ZW0gfHwgIWZvcm1FbGVtZW50LmNvZGVzeXN0ZW0uZW50cmllcykpIHtcbiAgICAgIGZvcm1FbGVtZW50LmNvZGVzeXN0ZW0gPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0Q29kZXN5c3RlbShmb3JtRWxlbWVudC5jb2Rlc3lzdGVtLmlkKTtcbiAgICB9XG4gICAgLy8gY3JlYXRlIHRoZSBhY3R1YWwgZm9ybSBjb250cm9sXG4gICAgbGV0IGNvbnRyb2xEaXNhYmxlZCA9ICEhZm9ybUVsZW1lbnQucmVhZG9ubHk7XG4gICAgbGV0IGZvcm1Db250cm9sID0gbmV3IE9iamVjdEZvcm1Db250cm9sKHtcbiAgICAgIHZhbHVlOiBmb3JtRWxlbWVudC52YWx1ZSxcbiAgICAgIGRpc2FibGVkOiBjb250cm9sRGlzYWJsZWRcbiAgICB9LCBGb3JtVmFsaWRhdGlvbi5nZXRWYWxpZGF0b3JzKGZvcm1FbGVtZW50LCBmb3JtU2l0dWF0aW9uKSk7XG5cbiAgICAvLyBGb3JtIGVsZW1lbnRzIGluIFNFQVJDSCBzaXR1YXRpb24gbWF5IGFycml2ZSB3aXRoIGEgdmFsdWUgc2V0IHRvIE5VTEwgKGV4cGxpY2l0IHNlYXJjaCBmb3JcbiAgICAvLyBmaWVsZHMgdGhhdCBhcmUgTk9UIHNldCkuIEluIHRoYXQgY2FzZSB3ZSBuZWVkIHRvIHByZXBhcmUgdGhlIGZvcm0gY29udHJvbFxuICAgIGlmIChmb3JtU2l0dWF0aW9uID09PSAnU0VBUkNIJyAmJiBmb3JtRWxlbWVudC52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgZm9ybUVsZW1lbnQuaXNOb3RTZXRWYWx1ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgZm9ybUNvbnRyb2wuX2VvRm9ybUVsZW1lbnQgPSBmb3JtRWxlbWVudDtcbiAgICB3cmFwcGVyLmFkZENvbnRyb2woZm9ybUVsZW1lbnQubmFtZSwgZm9ybUNvbnRyb2wpO1xuXG4gICAgcmV0dXJuIHdyYXBwZXI7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdCBkYXRhIGZyb20gYW4gb2JqZWN0IGZvcm0gYmFzZWQgb24gc2l0dWF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybSAtIGZvcm0gdG8gZXh0cmFjdCBkYXRhIGZyb21cbiAgICogQHBhcmFtIHNpdHVhdGlvbiAtIGZvcm0gc2l0dWF0aW9uXG4gICAqIEBwYXJhbSBbaW5pdGlhbERhdGFdIC0gb3B0aW9uYWwgZm9ybSBkYXRhIHRvIG1hdGNoIHRoZSBjdXJyZW50IHZhbHVlcyBhZ2FpbnN0XG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGVkaXRpZyBpbmRleGRhdGEgKEVESVQgc2l0dWF0aW9uKSwgYmVjYXVzZSB3ZSBoYXZlIHRvIGNvbXBhcmUgbmV3IHZhbHVlc1xuICAgKiBhZ2FpbnN0IHRoZSBpbml0aWFsIHZhbHVlcy4gSWYgYSBwcm9wZXJ0eSB0aGF0IGlzIGNvbnRhaW5lZCBpbiB0aGUgZm9ybXMgaW5pdGlhbCBkYXRhIGlzIHJlbW92ZWRcbiAgICogKGUuZy4gc2V0IHRvIG51bGwpIHRoZW4gd2UgaGF2ZSB0byBzZXQgdGhpcyBudWxsIHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgc2VydmVyIHdvdWxkXG4gICAqIGlnbm9yZSB0aGUgY2hhbmdlcy5cbiAgICogQHBhcmFtIGlzVGFibGVSb3dFZGl0Rm9ybSBGbGFnIGluZGljYXRpbmcgdGhhdCB0aGUgcHJvdmlkZWQgZm9ybSBpcyBhbiBpbmxpbmUgZm9ybSB1c2VkIGJ5XG4gICAqIGEgZm9ybXMgdGFibGUgZWxlbWVudCBmb3IgZWRpdGluZyByb3dzLiBUaG9zZSBuZWVkIGEgc3BlY2lhbCBoYW5kbGluZy5cbiAgICogQHJldHVybiBleHRyYWN0ZWQgZGF0YSBhcyBvYmplY3RcbiAgICovXG4gIGV4dHJhY3RGb3JtRGF0YShmb3JtOiBPYmplY3RGb3JtR3JvdXAsIHNpdHVhdGlvbjogc3RyaW5nLCBpbml0aWFsRGF0YT86IGFueSwgaXNUYWJsZVJvd0VkaXRGb3JtPzogYm9vbGVhbikge1xuICAgIGxldCBleHRyYWN0ZWREYXRhID0ge307XG4gICAgdGhpcy5nZXRFbGVtZW50VmFsdWVzKGV4dHJhY3RlZERhdGEsIGZvcm0sIHNpdHVhdGlvbiB8fCAnRURJVCcsIGluaXRpYWxEYXRhLCBpc1RhYmxlUm93RWRpdEZvcm0pO1xuICAgIHJldHVybiBleHRyYWN0ZWREYXRhO1xuICB9XG5cbiAgLy8gUmVjdXJzaXZlIG1ldGhvZCB0byBnZXQgdGhlIHZhbHVlcyBmcm9tIGVhY2ggZm9ybSBjb250cm9sLlxuICBwcml2YXRlIGdldEVsZW1lbnRWYWx1ZXMoZGF0YTogYW55LCBmb3JtQ29udHJvbDogT2JqZWN0Rm9ybU1vZGVsLCBzaXR1YXRpb246IHN0cmluZywgaW5pdGlhbERhdGE/OiBhbnksIGlzVGFibGVSb3dFZGl0Rm9ybT86IGJvb2xlYW4pIHtcblxuICAgIGlmICghZm9ybUNvbnRyb2wgfHwgIWZvcm1Db250cm9sLmNvbnRyb2xzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyKSB7XG5cbiAgICAgIGNvbnN0IGZjOiBhbnkgPSBmb3JtQ29udHJvbC5jb250cm9sc1tmb3JtQ29udHJvbC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIuY29udHJvbE5hbWVdO1xuXG4gICAgICBpZiAoZmMuX2VvRm9ybUVsZW1lbnQuaXNOb3RTZXRWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAvLyBmb3JtIGVsZW1lbnRzIG1heSBleHBsaWNpdGx5IHNldCB0byBoYXZlIE5VTEwgdmFsdWUgKGUuZy4gZnJvbSBTZWFyY2ggZm9ybSBpZiB2YWx1ZXMgYXJlIHJlcXVlc3RlZCB0aGF0IGhhdmUgbm8gdmFsdWVzKVxuICAgICAgICBpZiAoaXNUYWJsZVJvd0VkaXRGb3JtKSB7XG4gICAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUoZmMuX2VvRm9ybUVsZW1lbnQubmFtZSwgbnVsbCwgZGF0YSwgZmMuX2VvRm9ybUVsZW1lbnQsIGlzVGFibGVSb3dFZGl0Rm9ybSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUoZmMuX2VvRm9ybUVsZW1lbnQucW5hbWUsIG51bGwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pO1xuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSBpZiAoZmMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgdmFsID0gZmMudmFsdWU7XG5cbiAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgbWV0YSBkYXRhIGFyZSBhbHNvIHVwIHRvIGRhdGVcbiAgICAgICAgaWYgKGZjLl9lb0Zvcm1FbGVtZW50LnR5cGUgPT09ICdDT0RFU1lTVEVNJykge1xuICAgICAgICAgIGNvbnN0IGNzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0oZmMuX2VvRm9ybUVsZW1lbnQuY29kZXN5c3RlbS5pZCk7XG4gICAgICAgICAgZmMuX2VvRm9ybUVsZW1lbnQuZGF0YU1ldGEgPSBjcy5lbnRyaWVzLmZpbmQoZSA9PiBlLmRhdGEgPT09IHZhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHNpdHVhdGlvbikge1xuICAgICAgICAgIGNhc2UgJ1NFQVJDSCc6IHtcbiAgICAgICAgICAgIGlmICh2YWwgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gcm93IGVkaXRpbmcgZm9ybXMgdXNlIHRoZSBuYW1lIGluc3RlYWQgb2YgdGhlIHFuYW1lIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZVxuICAgICAgICAgICAgICAvLyB0YWJsZXMgZ3JpZCBpc24ndCBhYmxlIHRvIG1hcCB0aGUgZmllbGRzXG4gICAgICAgICAgICAgIGlmICghaXNUYWJsZVJvd0VkaXRGb3JtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUoZmMuX2VvRm9ybUVsZW1lbnQucW5hbWUsIHZhbCwgZGF0YSwgZmMuX2VvRm9ybUVsZW1lbnQsIGlzVGFibGVSb3dFZGl0Rm9ybSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShmYy5fZW9Gb3JtRWxlbWVudC5uYW1lLCB2YWwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdDUkVBVEUnOiB7XG4gICAgICAgICAgICAvLyBhbHNvIGFkZCBOVUxMIHZhbHVlcyAob3ZlcnJpZGUgZXhpc3RpbmcgZGVmYXVsdHZhbHVlcylcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKGZjLl9lb0Zvcm1FbGVtZW50Lm5hbWUsIHZhbCwgZGF0YSwgZmMuX2VvRm9ybUVsZW1lbnQsIGlzVGFibGVSb3dFZGl0Rm9ybSlcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdFRElUJzoge1xuICAgICAgICAgICAgLy8gaW4gZWRpdCBzaXR1YXRpb24gd2UgaGF2ZSB0byBjb21wYXJlIG5ldyB2YWx1ZXMgYWdhaW5zdCB0aGUgaW5pdGlhbCB2YWx1ZXNcbiAgICAgICAgICAgIC8vIElmIGEgcHJvcGVydHkgdGhhdCBpcyBjb250YWluZWQgaW4gdGhlIGZvcm1zIGluaXRpYWwgZGF0YSBpcyByZW1vdmVkIChlLmcuIHNldCB0byBudWxsKVxuICAgICAgICAgICAgLy8gdGhlbiB3ZSBoYXZlIHRvIHNldCB0aGlzIG51bGwgdmFsdWUsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBzZXJ2ZXIgd2lsbCBpZ25vcmUgdGhlIGNoYW5nZXNcbiAgICAgICAgICAgIGlmICh2YWwgIT09IG51bGwgfHwgKGluaXRpYWxEYXRhICYmIGluaXRpYWxEYXRhW2ZjLl9lb0Zvcm1FbGVtZW50Lm5hbWVdICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgICAgIC8vIGRhdGFbZmMuX2VvRm9ybUVsZW1lbnQubmFtZV0gPSB2YWw7XG4gICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKGZjLl9lb0Zvcm1FbGVtZW50Lm5hbWUsIHZhbCwgZGF0YSwgZmMuX2VvRm9ybUVsZW1lbnQsIGlzVGFibGVSb3dFZGl0Rm9ybSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3Qua2V5cyhmb3JtQ29udHJvbC5jb250cm9scylcbiAgICAgICAgLmZvckVhY2goY29udHJvbEtleSA9PiB7XG4gICAgICAgICAgbGV0IGZvcm1Db250cm9sS2V5ZWQgPSA8T2JqZWN0Rm9ybUdyb3VwPmZvcm1Db250cm9sLmNvbnRyb2xzW2NvbnRyb2xLZXldO1xuICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudFZhbHVlcyhkYXRhLCBmb3JtQ29udHJvbEtleWVkLCBzaXR1YXRpb24sIGluaXRpYWxEYXRhLCBpc1RhYmxlUm93RWRpdEZvcm0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERhdGFWYWx1ZShrZXksIHZhbHVlLCBkYXRhLCBmb3JtRWxlbWVudCwgaXNUYWJsZVJvd0VkaXRGb3JtKSB7XG4gICAgZGF0YVtrZXldID0gdGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSwgZm9ybUVsZW1lbnQpO1xuXG4gICAgaWYgKGlzVGFibGVSb3dFZGl0Rm9ybSAmJiBmb3JtRWxlbWVudC5kYXRhTWV0YSkge1xuICAgICAgLy8gaW5uZXIgdGFibGVzIG5lZWQgdG8gc2V0IHVwIHRoZSBtZXRhIGRhdGEgYXMgd2VsbFxuICAgICAgZGF0YVtrZXkgKyAnX21ldGEnXSA9IGZvcm1FbGVtZW50LmRhdGFNZXRhO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFZhbHVlKHZhbHVlLCBmb3JtRWxlbWVudCkge1xuICAgIGlmIChmb3JtRWxlbWVudC50eXBlID09PSAnREFURVRJTUUnICYmICFmb3JtRWxlbWVudC53aXRodGltZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBSYW5nZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgUmFuZ2VWYWx1ZShcbiAgICAgICAgICB2YWx1ZS5vcGVyYXRvcixcbiAgICAgICAgICB2YWx1ZS5maXJzdFZhbHVlICYmIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLmZpcnN0VmFsdWUsICd5eXl5LU1NLWRkJyksXG4gICAgICAgICAgdmFsdWUuc2Vjb25kVmFsdWUgJiYgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUuc2Vjb25kVmFsdWUsICd5eXl5LU1NLWRkJylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZm9ybUVsZW1lbnQudHlwZSA9PT0gJ1RBQkxFJykge1xuICAgICAgKGZvcm1FbGVtZW50LmVsZW1lbnRzIHx8IFtdKS5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgKHZhbHVlIHx8IFtdKS5mb3JFYWNoKHYgPT4gdltlbC5uYW1lXSA9IHRoaXMuZm9ybWF0VmFsdWUodltlbC5uYW1lXSwgZWwpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxufVxuIl19
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0taGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9vYmplY3QtZm9ybS9vYmplY3QtZm9ybS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRSxPQUFPLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3pDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFBb0IsTUFBYyxFQUFVLGFBQTRCO1FBQXBELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZoRSxhQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFHdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxPQUFZLEVBQUUsU0FBa0I7UUFFbkQsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDL0IsSUFBSTtnQkFDRixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7YUFBTTtZ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NUUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBcExGLFVBQVU7OztZQUpILE1BQU07WUFBRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybVZhbGlkYXRpb259IGZyb20gJy4vb2JqZWN0LWZvcm0vZm9ybS12YWxpZGF0aW9uL2Zvcm0tdmFsaWRhdGlvbic7XG5pbXBvcnQge09iamVjdEZvcm1Db250cm9sV3JhcHBlcn0gZnJvbSAnLi9vYmplY3QtZm9ybS9vYmplY3QtZm9ybS1jb250cm9sLXdyYXBwZXInO1xuaW1wb3J0IHtPYmplY3RGb3JtQ29udHJvbH0gZnJvbSAnLi9vYmplY3QtZm9ybS9vYmplY3QtZm9ybS1jb250cm9sJztcbmltcG9ydCB7T2JqZWN0Rm9ybUdyb3VwfSBmcm9tICcuL29iamVjdC1mb3JtL29iamVjdC1mb3JtLWdyb3VwJztcbmltcG9ydCB7TG9nZ2VyLCBTeXN0ZW1TZXJ2aWNlLCBSYW5nZVZhbHVlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtPYmplY3RGb3JtTW9kZWx9IGZyb20gJy4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0ubW9kZWwnO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9iamVjdEZvcm1IZWxwZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbicpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIsIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgZm9ybSBlbGVtZW50IG9iamVjdCB0byBhbiBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXIgd2hpY2ggdGhlbiBjYW4gYmUgdXNlZCB0b1xuICAgKiByZW5kZXIgYSBmcm9tIGNvbnRyb2wuIFJlc3VsdCBjYW4gYmUgdXNlZCBhcyBpbnB1dCBmb3IgRm9ybUVsZW1lbnRDb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IC0gdGhlIGVsZW1lbnQgb2JqZWN0IG9yIGEganNvbiBzdHJpbmdcbiAgICogQHBhcmFtIHNpdHVhdGlvbiAtIG9wdGlvbmFsIHByb3BlcnR5IHRvIHNldCB1cCBhIGZvcm0gc2l0dWF0aW9uIGZvciB0aGUgY29udHJvbCAoZGVmYXVsdCBpcyBFRElUKVxuICAgKiBAcmV0dXJuIHRoZSBjb252ZXJ0ZWQgT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyIG9yIG51bGwgaW4gY2FzZSBvZiBhbiBlcnJvclxuICAgKi9cbiAgZWxlbWVudFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55LCBzaXR1YXRpb24/OiBzdHJpbmcpOiBPYmplY3RGb3JtQ29udHJvbFdyYXBwZXIge1xuXG4gICAgbGV0IGZvcm1FbGVtZW50O1xuICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZvcm1FbGVtZW50ID0gSlNPTi5wYXJzZShlbGVtZW50KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ1VuYWJsZSB0byBwYXJzZSBmb3JtIGVsZW1lbnQgZnJvbSBqc29uICcsIGZvcm1FbGVtZW50KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybUVsZW1lbnQgPSBlbGVtZW50O1xuICAgIH1cblxuICAgIGlmICghZm9ybUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSB0aGUgT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyXG4gICAgbGV0IHdyYXBwZXIgPSBuZXcgT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyKHt9KTtcbiAgICBsZXQgZm9ybVNpdHVhdGlvbiA9IHNpdHVhdGlvbiA/IHNpdHVhdGlvbiA6ICdFRElUJztcblxuICAgIHdyYXBwZXIuX2VvRm9ybUNvbnRyb2xXcmFwcGVyID0ge1xuICAgICAgY29udHJvbE5hbWU6IGZvcm1FbGVtZW50Lm5hbWUsXG4gICAgICBzaXR1YXRpb246IGZvcm1TaXR1YXRpb25cbiAgICB9O1xuXG4gICAgLy8gZm9yIGNvZGVzeXN0ZW0gZWxlbWVudHMgYWRkIGVudHJpZXMgaWYgbm90IHlldCBwcm92aWRlZFxuICAgIGlmIChmb3JtRWxlbWVudC50eXBlID09PSAnQ09ERVNZU1RFTScgJiYgKCFmb3JtRWxlbWVudC5jb2Rlc3lzdGVtIHx8ICFmb3JtRWxlbWVudC5jb2Rlc3lzdGVtLmVudHJpZXMpKSB7XG4gICAgICBmb3JtRWxlbWVudC5jb2Rlc3lzdGVtID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0oZm9ybUVsZW1lbnQuY29kZXN5c3RlbS5pZCk7XG4gICAgfVxuICAgIC8vIGNyZWF0ZSB0aGUgYWN0dWFsIGZvcm0gY29udHJvbFxuICAgIGxldCBjb250cm9sRGlzYWJsZWQgPSAhIWZvcm1FbGVtZW50LnJlYWRvbmx5O1xuICAgIGxldCBmb3JtQ29udHJvbCA9IG5ldyBPYmplY3RGb3JtQ29udHJvbCh7XG4gICAgICB2YWx1ZTogZm9ybUVsZW1lbnQudmFsdWUsXG4gICAgICBkaXNhYmxlZDogY29udHJvbERpc2FibGVkXG4gICAgfSwgRm9ybVZhbGlkYXRpb24uZ2V0VmFsaWRhdG9ycyhmb3JtRWxlbWVudCwgZm9ybVNpdHVhdGlvbikpO1xuXG4gICAgLy8gRm9ybSBlbGVtZW50cyBpbiBTRUFSQ0ggc2l0dWF0aW9uIG1heSBhcnJpdmUgd2l0aCBhIHZhbHVlIHNldCB0byBOVUxMIChleHBsaWNpdCBzZWFyY2ggZm9yXG4gICAgLy8gZmllbGRzIHRoYXQgYXJlIE5PVCBzZXQpLiBJbiB0aGF0IGNhc2Ugd2UgbmVlZCB0byBwcmVwYXJlIHRoZSBmb3JtIGNvbnRyb2xcbiAgICBpZiAoZm9ybVNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcgJiYgZm9ybUVsZW1lbnQudmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGZvcm1FbGVtZW50LmlzTm90U2V0VmFsdWUgPSB0cnVlO1xuICAgIH1cblxuICAgIGZvcm1Db250cm9sLl9lb0Zvcm1FbGVtZW50ID0gZm9ybUVsZW1lbnQ7XG4gICAgd3JhcHBlci5hZGRDb250cm9sKGZvcm1FbGVtZW50Lm5hbWUsIGZvcm1Db250cm9sKTtcblxuICAgIHJldHVybiB3cmFwcGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgZGF0YSBmcm9tIGFuIG9iamVjdCBmb3JtIGJhc2VkIG9uIHNpdHVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGZvcm0gLSBmb3JtIHRvIGV4dHJhY3QgZGF0YSBmcm9tXG4gICAqIEBwYXJhbSBzaXR1YXRpb24gLSBmb3JtIHNpdHVhdGlvblxuICAgKiBAcGFyYW0gW2luaXRpYWxEYXRhXSAtIG9wdGlvbmFsIGZvcm0gZGF0YSB0byBtYXRjaCB0aGUgY3VycmVudCB2YWx1ZXMgYWdhaW5zdFxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIGZvciBlZGl0aWcgaW5kZXhkYXRhIChFRElUIHNpdHVhdGlvbiksIGJlY2F1c2Ugd2UgaGF2ZSB0byBjb21wYXJlIG5ldyB2YWx1ZXNcbiAgICogYWdhaW5zdCB0aGUgaW5pdGlhbCB2YWx1ZXMuIElmIGEgcHJvcGVydHkgdGhhdCBpcyBjb250YWluZWQgaW4gdGhlIGZvcm1zIGluaXRpYWwgZGF0YSBpcyByZW1vdmVkXG4gICAqIChlLmcuIHNldCB0byBudWxsKSB0aGVuIHdlIGhhdmUgdG8gc2V0IHRoaXMgbnVsbCB2YWx1ZSwgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHNlcnZlciB3b3VsZFxuICAgKiBpZ25vcmUgdGhlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBpc1RhYmxlUm93RWRpdEZvcm0gRmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIHByb3ZpZGVkIGZvcm0gaXMgYW4gaW5saW5lIGZvcm0gdXNlZCBieVxuICAgKiBhIGZvcm1zIHRhYmxlIGVsZW1lbnQgZm9yIGVkaXRpbmcgcm93cy4gVGhvc2UgbmVlZCBhIHNwZWNpYWwgaGFuZGxpbmcuXG4gICAqIEByZXR1cm4gZXh0cmFjdGVkIGRhdGEgYXMgb2JqZWN0XG4gICAqL1xuICBleHRyYWN0Rm9ybURhdGEoZm9ybTogT2JqZWN0Rm9ybUdyb3VwLCBzaXR1YXRpb246IHN0cmluZywgaW5pdGlhbERhdGE/OiBhbnksIGlzVGFibGVSb3dFZGl0Rm9ybT86IGJvb2xlYW4pIHtcbiAgICBsZXQgZXh0cmFjdGVkRGF0YSA9IHt9O1xuICAgIHRoaXMuZ2V0RWxlbWVudFZhbHVlcyhleHRyYWN0ZWREYXRhLCBmb3JtLCBzaXR1YXRpb24gfHwgJ0VESVQnLCBpbml0aWFsRGF0YSwgaXNUYWJsZVJvd0VkaXRGb3JtKTtcbiAgICByZXR1cm4gZXh0cmFjdGVkRGF0YTtcbiAgfVxuXG4gIC8vIFJlY3Vyc2l2ZSBtZXRob2QgdG8gZ2V0IHRoZSB2YWx1ZXMgZnJvbSBlYWNoIGZvcm0gY29udHJvbC5cbiAgcHJpdmF0ZSBnZXRFbGVtZW50VmFsdWVzKGRhdGE6IGFueSwgZm9ybUNvbnRyb2w6IE9iamVjdEZvcm1Nb2RlbCwgc2l0dWF0aW9uOiBzdHJpbmcsIGluaXRpYWxEYXRhPzogYW55LCBpc1RhYmxlUm93RWRpdEZvcm0/OiBib29sZWFuKSB7XG5cbiAgICBpZiAoIWZvcm1Db250cm9sIHx8ICFmb3JtQ29udHJvbC5jb250cm9scykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIE9iamVjdEZvcm1Db250cm9sV3JhcHBlcikge1xuXG4gICAgICBjb25zdCBmYzogYW55ID0gZm9ybUNvbnRyb2wuY29udHJvbHNbZm9ybUNvbnRyb2wuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lXTtcblxuICAgICAgaWYgKGZjLl9lb0Zvcm1FbGVtZW50LmlzTm90U2V0VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgLy8gZm9ybSBlbGVtZW50cyBtYXkgZXhwbGljaXRseSBzZXQgdG8gaGF2ZSBOVUxMIHZhbHVlIChlLmcuIGZyb20gU2VhcmNoIGZvcm0gaWYgdmFsdWVzIGFyZSByZXF1ZXN0ZWQgdGhhdCBoYXZlIG5vIHZhbHVlcylcbiAgICAgICAgaWYgKGlzVGFibGVSb3dFZGl0Rm9ybSkge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKGZjLl9lb0Zvcm1FbGVtZW50Lm5hbWUsIG51bGwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKGZjLl9lb0Zvcm1FbGVtZW50LnFuYW1lLCBudWxsLCBkYXRhLCBmYy5fZW9Gb3JtRWxlbWVudCwgaXNUYWJsZVJvd0VkaXRGb3JtKTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2UgaWYgKGZjLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IHZhbCA9IGZjLnZhbHVlO1xuXG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IG1ldGEgZGF0YSBhcmUgYWxzbyB1cCB0byBkYXRlXG4gICAgICAgIGlmIChmYy5fZW9Gb3JtRWxlbWVudC50eXBlID09PSAnQ09ERVNZU1RFTScpIHtcbiAgICAgICAgICBjb25zdCBjcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRDb2Rlc3lzdGVtKGZjLl9lb0Zvcm1FbGVtZW50LmNvZGVzeXN0ZW0uaWQpO1xuICAgICAgICAgIGZjLl9lb0Zvcm1FbGVtZW50LmRhdGFNZXRhID0gY3MuZW50cmllcy5maW5kKGUgPT4gZS5kYXRhID09PSB2YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoIChzaXR1YXRpb24pIHtcbiAgICAgICAgICBjYXNlICdTRUFSQ0gnOiB7XG4gICAgICAgICAgICBpZiAodmFsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIHJvdyBlZGl0aW5nIGZvcm1zIHVzZSB0aGUgbmFtZSBpbnN0ZWFkIG9mIHRoZSBxbmFtZSBiZWNhdXNlIG90aGVyd2lzZSB0aGVcbiAgICAgICAgICAgICAgLy8gdGFibGVzIGdyaWQgaXNuJ3QgYWJsZSB0byBtYXAgdGhlIGZpZWxkc1xuICAgICAgICAgICAgICBpZiAoIWlzVGFibGVSb3dFZGl0Rm9ybSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKGZjLl9lb0Zvcm1FbGVtZW50LnFuYW1lLCB2YWwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUoZmMuX2VvRm9ybUVsZW1lbnQubmFtZSwgdmFsLCBkYXRhLCBmYy5fZW9Gb3JtRWxlbWVudCwgaXNUYWJsZVJvd0VkaXRGb3JtKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnQ1JFQVRFJzoge1xuICAgICAgICAgICAgLy8gYWxzbyBhZGQgTlVMTCB2YWx1ZXMgKG92ZXJyaWRlIGV4aXN0aW5nIGRlZmF1bHR2YWx1ZXMpXG4gICAgICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShmYy5fZW9Gb3JtRWxlbWVudC5uYW1lLCB2YWwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnRURJVCc6IHtcbiAgICAgICAgICAgIC8vIGluIGVkaXQgc2l0dWF0aW9uIHdlIGhhdmUgdG8gY29tcGFyZSBuZXcgdmFsdWVzIGFnYWluc3QgdGhlIGluaXRpYWwgdmFsdWVzXG4gICAgICAgICAgICAvLyBJZiBhIHByb3BlcnR5IHRoYXQgaXMgY29udGFpbmVkIGluIHRoZSBmb3JtcyBpbml0aWFsIGRhdGEgaXMgcmVtb3ZlZCAoZS5nLiBzZXQgdG8gbnVsbClcbiAgICAgICAgICAgIC8vIHRoZW4gd2UgaGF2ZSB0byBzZXQgdGhpcyBudWxsIHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgc2VydmVyIHdpbGwgaWdub3JlIHRoZSBjaGFuZ2VzXG4gICAgICAgICAgICBpZiAodmFsICE9PSBudWxsIHx8IChpbml0aWFsRGF0YSAmJiBpbml0aWFsRGF0YVtmYy5fZW9Gb3JtRWxlbWVudC5uYW1lXSAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICAvLyBkYXRhW2ZjLl9lb0Zvcm1FbGVtZW50Lm5hbWVdID0gdmFsO1xuICAgICAgICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShmYy5fZW9Gb3JtRWxlbWVudC5uYW1lLCB2YWwsIGRhdGEsIGZjLl9lb0Zvcm1FbGVtZW50LCBpc1RhYmxlUm93RWRpdEZvcm0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmtleXMoZm9ybUNvbnRyb2wuY29udHJvbHMpXG4gICAgICAgIC5mb3JFYWNoKGNvbnRyb2xLZXkgPT4ge1xuICAgICAgICAgIGxldCBmb3JtQ29udHJvbEtleWVkID0gPE9iamVjdEZvcm1Hcm91cD5mb3JtQ29udHJvbC5jb250cm9sc1tjb250cm9sS2V5XTtcbiAgICAgICAgICB0aGlzLmdldEVsZW1lbnRWYWx1ZXMoZGF0YSwgZm9ybUNvbnRyb2xLZXllZCwgc2l0dWF0aW9uLCBpbml0aWFsRGF0YSwgaXNUYWJsZVJvd0VkaXRGb3JtKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRhVmFsdWUoa2V5LCB2YWx1ZSwgZGF0YSwgZm9ybUVsZW1lbnQsIGlzVGFibGVSb3dFZGl0Rm9ybSkge1xuICAgIGRhdGFba2V5XSA9IHRoaXMuZm9ybWF0VmFsdWUodmFsdWUsIGZvcm1FbGVtZW50KTtcblxuICAgIGlmIChpc1RhYmxlUm93RWRpdEZvcm0gJiYgZm9ybUVsZW1lbnQuZGF0YU1ldGEpIHtcbiAgICAgIC8vIGlubmVyIHRhYmxlcyBuZWVkIHRvIHNldCB1cCB0aGUgbWV0YSBkYXRhIGFzIHdlbGxcbiAgICAgIGRhdGFba2V5ICsgJ19tZXRhJ10gPSBmb3JtRWxlbWVudC5kYXRhTWV0YTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRWYWx1ZSh2YWx1ZSwgZm9ybUVsZW1lbnQpIHtcbiAgICBpZiAoZm9ybUVsZW1lbnQudHlwZSA9PT0gJ0RBVEVUSU1FJyAmJiAhZm9ybUVsZW1lbnQud2l0aHRpbWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8ICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBSYW5nZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgUmFuZ2VWYWx1ZShcbiAgICAgICAgICB2YWx1ZS5vcGVyYXRvcixcbiAgICAgICAgICB2YWx1ZS5maXJzdFZhbHVlICYmIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLmZpcnN0VmFsdWUsICd5eXl5LU1NLWRkJyksXG4gICAgICAgICAgdmFsdWUuc2Vjb25kVmFsdWUgJiYgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUuc2Vjb25kVmFsdWUsICd5eXl5LU1NLWRkJylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZm9ybUVsZW1lbnQudHlwZSA9PT0gJ1RBQkxFJykge1xuICAgICAgKGZvcm1FbGVtZW50LmVsZW1lbnRzIHx8IFtdKS5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgKHZhbHVlIHx8IFtdKS5mb3JFYWNoKHYgPT4gdltlbC5uYW1lXSA9IHRoaXMuZm9ybWF0VmFsdWUodltlbC5uYW1lXSwgZWwpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxufVxuIl19
|
|
@@ -210,7 +210,7 @@ export class PrepareService {
|
|
|
210
210
|
* @returns Observable<any>
|
|
211
211
|
*/
|
|
212
212
|
uploadContent(preparedItemId, file) {
|
|
213
|
-
const uri = `${this.backend.getServiceBase()}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
213
|
+
const uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
214
214
|
return this.uploadService
|
|
215
215
|
.upload(uri, [file])
|
|
216
216
|
.pipe(
|
|
@@ -246,7 +246,7 @@ export class PrepareService {
|
|
|
246
246
|
*
|
|
247
247
|
* @type string
|
|
248
248
|
*/
|
|
249
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
249
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
250
250
|
parentId: null,
|
|
251
251
|
createMany: !useBatchUpload
|
|
252
252
|
});
|
|
@@ -256,7 +256,7 @@ export class PrepareService {
|
|
|
256
256
|
* upload to dms object, means adding or replacing content file
|
|
257
257
|
*/
|
|
258
258
|
const { referenceObject } = uploadTarget;
|
|
259
|
-
uri = `${this.backend.getServiceBase()}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
259
|
+
uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
260
260
|
}
|
|
261
261
|
else if (uploadTarget.type === UploadTarget.CONTEXT || uploadTarget.type === UploadTarget.CONTEXT_TREE) {
|
|
262
262
|
/**
|
|
@@ -266,7 +266,7 @@ export class PrepareService {
|
|
|
266
266
|
*
|
|
267
267
|
* @type string
|
|
268
268
|
*/
|
|
269
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
269
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
270
270
|
parentId: uploadTarget.referenceObject.id,
|
|
271
271
|
createMany: !useBatchUpload,
|
|
272
272
|
childType: uploadTarget.subFolder && uploadTarget.subFolder.data.type ? uploadTarget.subFolder.data.type : null
|
|
@@ -297,4 +297,4 @@ PrepareService.ctorParameters = () => [
|
|
|
297
297
|
{ type: BackendService },
|
|
298
298
|
{ type: UploadService }
|
|
299
299
|
];
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUF1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFpQjdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFBb0IsT0FBdUIsRUFDdkIsYUFBNEI7UUFENUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSeEMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQStCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdwRiw0QkFBdUIsR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDLHVCQUF1QixDQUFD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LEVBQUU7Z0JBQ3pDLFVBQVUsRUFBRSxDQUFDLGNBQWM7Z0JBQzNCLFNBQVMsRUFBRSxZQUFZLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO2FBQ2hILENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSx5QkFBeUIsQ0FBQyxjQUFzQixFQUFFLEtBQWM7UUFDckUsTUFBTSxHQUFHLEdBQUcsWUFBWSxjQUFjLFVBQVUsR0FBRyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNsQyxDQUFDO0lBQ04sQ0FBQzs7O1lBbFZGLFVBQVU7OztZQXpCSCxjQUFjO1lBSWQsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWVyZ2VNYXAsIG1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVdGlsc30gZnJvbSAnLi4vLi4vdXRpbC91dGlscyc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtPYmplY3RUeXBlfSBmcm9tICcuLi8uLi9tb2RlbC9vYmplY3QtdHlwZS5tb2RlbCc7XG5pbXBvcnQge1ByZXBhcmVkSXRlbSwgUHJlcGFyZWRJdGVtVGVtcGxhdGV9IGZyb20gJy4uLy4uL21vZGVsL3ByZXBhcmVkLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHtVcGxvYWRTZXJ2aWNlfSBmcm9tICcuLi91cGxvYWQvdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHtVcGxvYWRUYXJnZXR9IGZyb20gJy4uLy4uL21vZGVsL3VwbG9hZC10YXJnZXQubW9kZWwnO1xuaW1wb3J0IHtVcGxvYWRGaWxlSXRlbX0gZnJvbSAnLi4vLi4vbW9kZWwvdXBsb2FkLWZpbGUtaXRlbS5tb2RlbCc7XG5pbXBvcnQge0lQcmVwYXJlQ2hpbGRUeXBlc30gZnJvbSAnLi9vYmplY3RUeXBlcy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFBvc3RQYXJhbSB7XG4gIHBhcmVudElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gY3JlYXRlIG9uZSBQcmVwYXJlZEl0ZW0gdXNpbmcgbXVsdGlwbGUgZmlsZXMgdXBsb2FkZWQgKGZhbHNlKVxuICAgKiBvciBjcmVhdGluZyBhIFByZXBhcmVkSXRlbSBmb3IgZWFjaCBmaWxlIHBvc3RlZCB0byB0aGUgVVJMICh0cnVlKVxuICAgKi9cbiAgY3JlYXRlTWFueT86IGJvb2xlYW47XG4gIGNoaWxkVHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIFByZXBhcmUgU2VydmljZXNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByZXBhcmVTZXJ2aWNlIHtcblxuICBwcml2YXRlIHByZXBhcmVkSXRlbXM6IFByZXBhcmVkSXRlbVtdO1xuICBwcml2YXRlIHByZXBhcmVkSXRlbXNTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxQcmVwYXJlZEl0ZW1bXT4oMSk7XG4gIHB1YmxpYyBwcmVwYXJlZEl0ZW1zJDogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1bXT4gPSB0aGlzLnByZXBhcmVkSXRlbXNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1Db3VudDogbnVtYmVyO1xuICBwcml2YXRlIHByZXBhcmVkSXRlbUNvdW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8bnVtYmVyPigxKTtcbiAgcHVibGljIHByZXBhcmVkSXRlbUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5wcmVwYXJlZEl0ZW1Db3VudFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaWMgRmV0Y2ggUHJlcGFyZSBpdGVtc1xuICAgKi9cbiAgcmVmcmVzaFByZXBhcmVkSXRlbXNDb3VudCgpIHtcbiAgICB0aGlzLmZldGNoUHJlcGFyZWRJdGVtc0NvdW50KCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgbnVtYmVyIG9mIHByZXBhcmVkIGl0ZW1zIGZvciB0aGUgY3VycmVudCB1c2VyLlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFByZXBhcmVkSXRlbXNDb3VudCgpIHtcbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3ByZXBhcmUvc3RhdGUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiByZXMuY291bnQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5wcmVwYXJlZEl0ZW1Db3VudCA9IHJlcztcbiAgICAgICAgdGhpcy5wcmVwYXJlZEl0ZW1Db3VudFNvdXJjZS5uZXh0KHRoaXMucHJlcGFyZWRJdGVtQ291bnQpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHByZXBhcmVkIGl0ZW0gb24gdGhlIGJhY2tlZCBzaWRlLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyZW50SWQgVGhlIElEIG9mIHRoZSBwYXJlbnQgZG1zIG9iamVjdCB0byBhZGQgdGhlIHByZXBhcmVkIGl0ZW0gdG9cbiAgICogQHBhcmFtIGNoaWxkVHlwZSBUaGUgdHlwZSBvZiBvYmplY3QgdG8gYmUgY3JlYXRlZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVQcmVwYXJlZEl0ZW0ocGFyZW50SWQ6IHN0cmluZywgY2hpbGRUeXBlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wb3N0KHRoaXMuY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybCh7XG4gICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgY2hpbGRUeXBlOiBjaGlsZFR5cGUgPyBjaGlsZFR5cGUgOiBudWxsXG4gICAgICB9KSwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVByZXBhcmVkSXRlbUluZGV4RGF0YShwcmVwYXJlZEl0ZW1JZCwgZGF0YSkge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wdXQoJy9wcmVwYXJlLycgKyBwcmVwYXJlZEl0ZW1JZCwgZGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIFVSTCBmb3IgY3JlYXRpbmcgYSBQcmVwYXJlZEl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgUGFyYW1zIGZvciBnZW5lcmF0aW5nIGFwcHJvcHJpYXRlIHVyaS5cbiAgICogQHJldHVybnMgc3RyaW5nIEEgUE9TVCBVUkwgZm9yIGNyZWF0aW5nIFByZXBhcmVkSXRlbXNcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVQcmVwYXJlZEl0ZW1Qb3N0VXJsKHBhcmFtczogUHJlcGFyZWRQb3N0UGFyYW0pOiBzdHJpbmcge1xuXG4gICAgbGV0IHVybCA9IHBhcmFtcy5jcmVhdGVNYW55ID8gJy9wcmVwYXJlL2NyZWF0ZW1hbnknIDogJy9wcmVwYXJlL2NyZWF0ZSc7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgdXJsID0gVXRpbHMuYnVpbGRVcmkodXJsLCBwYXJhbXMpO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgdGhlIHVzZXJzIHByZXBhcmVkIGl0ZW1zLlxuICAgKlxuICAgKiBAcGFyYW0gbm9Gb3JtcyBJZiBzZXQgdG8gdHJ1ZSB0aGUgcHJlcGFyZWQgaXRlbXMgd2lsbCBiZSBmZXRjaGVkIHdpdGhvdXQgdGhlIGZvcm0gd2hpY2ggaXMgZmFzdGVyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+IEEgY29sbGVjdGlvbiBvZiBwcmVwYXJlZCBpdGVtIG9iamVjdHNcbiAgICovXG4gIHB1YmxpYyBnZXRQcmVwYXJlZEl0ZW1zJChub0Zvcm1zPzogYm9vbGVhbik6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+IHtcbiAgICB0aGlzLmZldGNoUHJlcGFyZWRJdGVtcyhub0Zvcm1zKS5zdWJzY3JpYmUoKTtcbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlZEl0ZW1zJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBQcmVwYXJlSXRlbXMgYW5kIGZvcm0gdGhlbVxuICAgKlxuICAgKiBAcGFyYW0gYm9vbGVhbiBub0Zvcm1zXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+XG4gICAqL1xuICBwcml2YXRlIGZldGNoUHJlcGFyZWRJdGVtcyhub0Zvcm1zPzogYm9vbGVhbik6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+IHtcbiAgICBsZXQgdXJpID0gKG5vRm9ybXMpID8gJy9wcmVwYXJlJyA6ICcvcHJlcGFyZT9mb3JtPXRydWUnO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiByZXMubWFwKGkgPT4gbmV3IFByZXBhcmVkSXRlbShpKSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5mZXRjaFByZXBhcmVkSXRlbXNDb3VudCgpKSxcbiAgICAgICAgdGFwKChwcmVwYXJlZEl0ZW1zOiBQcmVwYXJlZEl0ZW1bXSkgPT4gdGhpcy5wcmVwYXJlZEl0ZW1zU291cmNlLm5leHQocHJlcGFyZWRJdGVtcy5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2NyZWF0ZWQnLCAnZGVzYycpKSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBwcmVwYXJlZCBpdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtSWQgSUQgb2YgdGhlIGl0ZW0gdG8gYmUgcmVtb3ZlZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT4gU2VydmVyIHJlc3BvbnNlXG4gICAqL1xuICBkZWxldGVQcmVwYXJlZEl0ZW0ocHJlcGFyZWRJdGVtSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmRlbChgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIG9iamVjdCB0eXBlcyBhbGxvd2VkIHRvIGJlIHBsYWNlZCBkaXJlY3RseSBiZWxvdyByb290LlxuICAgKlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE9iamVjdFR5cGVbXT4gQSBsaXN0IG9mIHN1cHBvcnRlZCBvYmplY3QgdHlwZXNcbiAgICovXG4gIHB1YmxpYyBnZXRQcmVwYXJlUm9vdFR5cGVzKCk6IE9ic2VydmFibGU8T2JqZWN0VHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldFZpYVRlbXBDYWNoZSgnL3ByZXBhcmUvdHlwZXMnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzKSA9PiByZXMudHlwZXMubWFwKCh0eXBlKSA9PiBuZXcgT2JqZWN0VHlwZSh0eXBlKSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGFsbG93ZWQgY2hpbGQgb2JqZWN0IHR5cGVzIGZvciBhIHNlbGVjdGVkIHBhcmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmVudElkIFRoZSBpZCBvZiB0aGUgcGFyZW50IGRtcyBvYmplY3QgKGNvbnRleHQgZm9sZGVyKVxuICAgKiBAcGFyYW0gd2l0aENvbnRlbnRPbmx5IElmIHNldCB0byB0cnVlIG9ubHkgY2hpbGQgdHlwZXMsIHRoYXQgc3VwcG9ydCBjb250ZW50IGFyZSByZXR1cm5lZC5cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxJUHJlcGFyZUNoaWxkVHlwZXM+IEEgbGlzdCBvZiBzdXBwb3J0ZWQgb2JqZWN0IHR5cGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZUNoaWxkVHlwZXMocGFyZW50SWQ6IHN0cmluZywgd2l0aENvbnRlbnRPbmx5PzogYm9vbGVhbik6IE9ic2VydmFibGU8SVByZXBhcmVDaGlsZFR5cGVzPiB7XG4gICAgY29uc3QgcGFyYW1zID0gcGFyZW50SWQgPyB7cGFyZW50SWQsIHdpdGhjb250ZW50OiB3aXRoQ29udGVudE9ubHl9IDoge3dpdGhjb250ZW50OiB3aXRoQ29udGVudE9ubHl9XG4gICAgY29uc3QgdXJpID0gVXRpbHMuYnVpbGRVcmkoJy9wcmVwYXJlL3R5cGVzJywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0VmlhVGVtcENhY2hlKHVyaSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+ICh7cGFyZW50OiByZXMucGFyZW50LCB0eXBlczogcmVzLnR5cGVzLm1hcCgodHlwZSkgPT4gbmV3IE9iamVjdFR5cGUodHlwZSkpfSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGZldGNoIHRoZSBwcmV2aWV3IHVyaSBmb3IgYSBwcmVwYXJlZCBpdGVtXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW1cbiAgICogQHBhcmFtIGluZGV4IFdoZW4gYSBwcmVwYXJlZCBpdGVtIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgY29udGVudHMsIHRoZSBpbmRleCBzcGVjaWZpZXMgd2hpY2ggY29udGVudFxuICAgKiBAcGFyYW0gcmVuZGl0aW9uIFRhcmdldCByZW5kaXRpb24gKFBERilcbiAgICogdG8gcmV0cmlldmUgdGhlIHByZXZpZXcgdXJpIGZvclxuICAgKiBAcmV0dXJucyBzdHJpbmcgUHJldmlldyB1cmlcbiAgICovXG4gIHB1YmxpYyBnZXRQcmV2aWV3VXJpKGlkOiBzdHJpbmcsIGluZGV4PzogbnVtYmVyLCByZW5kaXRpb24/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBVdGlscy5idWlsZFVyaShgJHt0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKX0vcHJlcGFyZS8ke2lkfS9jb250ZW50YCwge3JlbmRpdGlvbiwgaW5kZXh9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwcmVwYXJlZCBpdGVtcyB0YXJnZXQgb2JqZWN0IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBvYmplY3RUeXBlIFRoZSB0YXJnZXQgb2JqZWN0IHR5cGVzIG5hbWVcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIFRoZSBpZCBvZiB0aGUgcHJlcGFyZWQgaXRlbSB0byBzZXQgdGhlIHR5cGUgZm9yXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiBUaGUgdXBkYXRlZCBwcmVwYXJlZCBpdGVtXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQ2hpbGRUeXBlKG9iamVjdFR5cGU6IHN0cmluZywgcHJlcGFyZWRJdGVtSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnB1dChgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vJHtvYmplY3RUeXBlfT9mb3JtPXRydWUmY29udGVudG1ldGE9dHJ1ZWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiBuZXcgUHJlcGFyZWRJdGVtKHJlcykpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRlbXBsYXRlIHRvIGEgcHJlcGFyZWQgaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIFRoZSBpZCBvZiB0aGUgcHJlcGFyZWQgaXRlbSB0byBhZGQgdGhlIHRlbXBsYXRlIHRvXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZUlkIFRoZSBpZCBvZiB0aGUgdGVtcGxhdGUgdG8gYmUgYWRkZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+ICBUaGUgdXBkYXRlZCBwcmVwYXJlZCBpdGVtXG4gICAqL1xuICBwdWJsaWMgYWRkVGVtcGxhdGUocHJlcGFyZWRJdGVtSWQsIHRlbXBsYXRlSWQpOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wdXQoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9L3RlbXBsYXRlP3RlbXBsYXRlaWQ9JHt0ZW1wbGF0ZUlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiBuZXcgUHJlcGFyZWRJdGVtKHJlcykpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGF2YWlsYWJsZSB0ZW1wbGF0ZXMgZm9yIGEgZ2l2ZW4gb2JqZWN0IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVRlbXBsYXRlW10+IG9iamVjdFR5cGVOYW1lXG4gICAqL1xuICBwdWJsaWMgZ2V0VGVtcGxhdGVzKG9iamVjdFR5cGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVRlbXBsYXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbignL3RlbXBsYXRlL2xpc3Q/dHlwZT0nICsgb2JqZWN0VHlwZU5hbWUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzIGFzIFByZXBhcmVkSXRlbVRlbXBsYXRlW10pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdXJsIG9mIGEgdGVtcGxhdGUgcHJldmlld1xuICAgKlxuICAgKiBAcGFyYW0gaWQgVGVtcGxhdGUgSURcbiAgICogQHBhcmFtIHJlbmRpdGlvbiBUYXJnZXQgcmVuZGl0aW9uIChQREYpXG4gICAqIEByZXR1cm5zIHN0cmluZyBUaGUgdGVtcGxhdGUgcHJldmlldyB1cmwuXG4gICAqL1xuICBwdWJsaWMgZ2V0VGVtcGxhdGVQcmV2aWV3VXJpKGlkLCByZW5kaXRpb24/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBVdGlscy5idWlsZFVyaShgJHt0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKX0vdGVtcGxhdGUvJHtpZH0vY29udGVudGAsIHtyZW5kaXRpb259KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21taXQgYSBwcmVwYXJlZCBpdGVtLiBUaGlzIHdpbGwgY3JlYXRlIGFuIGFjdHVhbCBkbXMgb2JqZWN0LlxuICAgKiBVcGRhdGVzIHRoZSBwcmVwYXJlZCBjcmVhdGlvbiBvYmplY3QgdGFyZ2V0IHR5cGVcbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBwcmVwYXJlZCBpdGVtXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1UeXBlIE5hbWUgb2YgdGhlIHByZXBhcmVkIGl0ZW1zIHRhcmdldCBvYmplY3QgdHlwZVxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtRGF0YSBPYmplY3QgaG9sZGluZyBkYXRhIG9mIHRoZSBwcmVwYXJlZCBpdGVtXG4gICAqIEByZXR1cm5zIFRoZSBpZCBvZiB0aGUgY3JlYXRlZCBkbXMgb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgY29tbWl0UHJlcGFyZWRJdGVtKHByZXBhcmVkSXRlbUlkLCBwcmVwYXJlZEl0ZW1UeXBlLCBwcmVwYXJlZEl0ZW1EYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KGAvcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS8ke3ByZXBhcmVkSXRlbVR5cGV9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmJhY2tlbmQucG9zdChgL3ByZXBhcmUvY29tbWl0LyR7cHJlcGFyZWRJdGVtSWR9YCwgcHJlcGFyZWRJdGVtRGF0YSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKSxcbiAgICAgICAgbWFwKHJlcyA9PiByZXMuaWQpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBDb250ZW50XG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgcHJlcGFyZWRJdGVtSWRcbiAgICogQHBhcmFtIEZpbGUgZmlsZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHVwbG9hZENvbnRlbnQocHJlcGFyZWRJdGVtSWQ6IHN0cmluZywgZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IHVyaSA9IGAke3RoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpfS9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9L2NvbnRlbnQuanNvbj9mb3JtPXRydWUmY29udGVudG1ldGE9dHJ1ZWA7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkU2VydmljZVxuICAgICAgLnVwbG9hZCh1cmksIFtmaWxlXSlcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWRzIGZpbGVzIHRvIGFuIHVwbG9hZCB0YXJnZXQuXG4gICAqXG4gICAqIEBwYXJhbSB1cGxvYWRUYXJnZXQgVGhlIHVwbG9hZCB0YXJnZXQgdG8gdXBsb2FkIGZpbGVzIHRvXG4gICAqIEBwYXJhbSB1cGxvYWRGaWxlcyBGaWxlcyB0byBiZSB1cGxvYWRlZFxuICAgKiBAcGFyYW0gdXNlQmF0Y2hVcGxvYWQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHVzZSBiYXRjaCBwcm9jZXNzaW5nIG9uIHRoZSBiYWNrZW5kIHNpZGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICB1cGxvYWRUb1RhcmdldCh1cGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldCwgdXBsb2FkRmlsZXM6IFVwbG9hZEZpbGVJdGVtW10sIHVzZUJhdGNoVXBsb2FkPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBjb25zdCBmaWxlcyA9IHVwbG9hZEZpbGVzLm1hcChmID0+IGYuX2ZpbGUpO1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2VcbiAgICAgIC51cGxvYWQodGhpcy5nZXRVcGxvYWRUYXJnZXQodXBsb2FkVGFyZ2V0LCB1c2VCYXRjaFVwbG9hZCksIGZpbGVzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdXJpIHRvIHBvc3QgZmlsZXMgdG8gYmFzZWQgb24gdGhlIHVwbG9hZCB0YXJnZXQuXG4gICAqXG4gICAqIEBwYXJhbSB1cGxvYWRUYXJnZXQgVGhlIHRhcmdldCB0byB1cGxvYWQgZmlsZXMgdG9cbiAgICogQHBhcmFtIHVzZUJhdGNoVXBsb2FkIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0byB1cGxvYWQgYWxsIGZpbGVzIGluIGEgc2luZ2xlIHBvc3RcbiAgICogQHJldHVybnMgc3RyaW5nIHRoZSB1cmlcbiAgICovXG4gIHByaXZhdGUgZ2V0VXBsb2FkVGFyZ2V0KHVwbG9hZFRhcmdldDogVXBsb2FkVGFyZ2V0LCB1c2VCYXRjaFVwbG9hZD86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGxldCB1cmk7XG5cbiAgICBpZiAodXBsb2FkVGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5ST09UKSB7XG4gICAgICAvKipcbiAgICAgICAqIHVwbG9hZCB0byBnZW5lcmFsIGZpbGluZyBsb2NhdGlvblxuICAgICAgICpcbiAgICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAgICovXG4gICAgICB1cmkgPSB0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSArIHRoaXMuY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybCh7XG4gICAgICAgICAgcGFyZW50SWQ6IG51bGwsXG4gICAgICAgICAgY3JlYXRlTWFueTogIXVzZUJhdGNoVXBsb2FkXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICB9IGVsc2UgaWYgKHVwbG9hZFRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuT0JKRUNUKSB7XG4gICAgICAvKipcbiAgICAgICAqIHVwbG9hZCB0byBkbXMgb2JqZWN0LCBtZWFucyBhZGRpbmcgb3IgcmVwbGFjaW5nIGNvbnRlbnQgZmlsZVxuICAgICAgICovXG4gICAgICBjb25zdCB7cmVmZXJlbmNlT2JqZWN0fSA9IHVwbG9hZFRhcmdldDtcbiAgICAgIHVyaSA9IGAke3RoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpfS9kbXMvJHtyZWZlcmVuY2VPYmplY3QuaWR9L2NvbnRlbnRzP3R5cGU9JHtyZWZlcmVuY2VPYmplY3QudHlwZS5uYW1lfWA7XG5cbiAgICB9IGVsc2UgaWYgKHVwbG9hZFRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuQ09OVEVYVCB8fCB1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LkNPTlRFWFRfVFJFRSkge1xuICAgICAgLyoqXG4gICAgICAgKiB1cGxvYWQgdG8gY29udGV4dCBmb2xkZXIsIG1lYW5zIGFkZGluZyBhIG5ldyBkbXMgb2JqZWN0IHRvIGEgc3BlY2lmaWNcbiAgICAgICAqIGNvbnRleHQgZm9sZGVyIC4uLlxuICAgICAgICogLi4uIGlmIHdlIGdvdCBhIHN1YkZvbGRlciAobm9kZSBmcm9tIHRoZSBjb250ZXh0IHRyZWUpIHNldCB1cCB3ZSdsbCBhZGQgdGhhdCB0b29cbiAgICAgICAqXG4gICAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgICAqL1xuICAgICAgdXJpID0gdGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCkgKyB0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICBwYXJlbnRJZDogdXBsb2FkVGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5pZCxcbiAgICAgICAgY3JlYXRlTWFueTogIXVzZUJhdGNoVXBsb2FkLFxuICAgICAgICBjaGlsZFR5cGU6IHVwbG9hZFRhcmdldC5zdWJGb2xkZXIgJiYgdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLnR5cGUgPyB1cGxvYWRUYXJnZXQuc3ViRm9sZGVyLmRhdGEudHlwZSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdXJpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBwcmVwYXJlZCBjcmVhdGlvbiBvYmplY3QgY29udGVudCBlbGVtZW50IGJ5IGluZGV4IG9yIHRoZSBjb21wbGV0ZSBjb250ZW50LlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhbiBpbmRleCB0aGUgY29udGVudCBjb25zaXN0cyBvbmx5IG9mIG9uZSBlbGVtZW50LFxuICAgKiB0aGUgY29udGVudCBpcyBjb21wbGV0ZWx5IHJlbW92ZWQgZnJvbSB0aGUgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0LlxuICAgKiBcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHdpdGggdGhlIGNvbnRlbnQgdG8gYmUgcmVtb3ZlZFxuICAgKiBAcGFyYW0gaW5kZXggUGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGljaCBjb250ZW50IGVsZW1lbnQgc2hvdWxkIGJlIGRlbGV0ZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiBUaGUgdXBkYXRlZCBwcmVwYXJlZCBpdGVtXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlUHJlcGFyZWRJdGVtQ29udGVudChwcmVwYXJlZEl0ZW1JZDogc3RyaW5nLCBpbmRleD86IG51bWJlcik6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9L2NvbnRlbnRgICsgKGluZGV4ICE9PSB1bmRlZmluZWQgPyBgP2luZGV4PSR7aW5kZXh9YCA6ICcnKTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZGVsKHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IG5ldyBQcmVwYXJlZEl0ZW0ocmVzKSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUF1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFpQjdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFBb0IsT0FBdUIsRUFDdkIsYUFBNEI7UUFENUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSeEMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQStCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdwRiw0QkFBdUIsR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBSTVGLENBQUM7SUFFRDs7T0FFRztJQUNILHlCQUF5QjtRQUN2QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7YUFDbkMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUN4QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7WUFDN0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLFNBQWtCO1FBRTVELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUNuQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDeEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUNOLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDJCQUEyQixDQUFDLGNBQWMsRUFBRSxJQUFJO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLE1BQXlCO1FBRXhELElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUN4RSxJQUFJLE1BQU0sRUFBRTtZQUNWLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksaUJBQWlCLENBQUMsT0FBaUI7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxrQkFBa0IsQ0FBQyxPQUFpQjtRQUMxQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNaLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9ILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBQyxjQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLEdBQUcsQ0FBQyxZQUFZLGNBQWMsRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsZUFBZSxDQUFDLGdCQUFnQixDQUFDO2FBQ2pDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CLENBQUMsUUFBZ0IsRUFBRSxlQUF5QjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLENBQUE7UUFDbkcsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLGVBQWUsQ0FBQyxHQUFHLENBQUM7YUFDcEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQ3pGLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxhQUFhLENBQUMsRUFBVSxFQUFFLEtBQWMsRUFBRSxTQUFrQjtRQUNqRSxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxVQUFrQixFQUFFLGNBQXNCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyxJQUFJLFVBQVUsNkJBQTZCLENBQUM7YUFDMUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVyxDQUFDLGNBQWMsRUFBRSxVQUFVO1FBQzNDLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyx3QkFBd0IsVUFBVSxFQUFFLENBQUM7YUFDbkUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxjQUFzQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUM7YUFDaEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBNkIsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxTQUFrQjtRQUNqRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyxJQUFJLGdCQUFnQixFQUFFLENBQUM7YUFDckQsSUFBSSxDQUNILFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxFQUN4RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUNuQixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWEsQ0FBQyxjQUFzQixFQUFFLElBQVU7UUFDOUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxjQUFjLDBDQUEwQyxDQUFDO1FBQ2xKLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CLElBQUk7UUFDSCxzQ0FBc0M7U0FDdkMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFlBQTBCLEVBQUUsV0FBNkIsRUFBRSxjQUF3QjtRQUVoRyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQzthQUNqRSxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQ3BDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZUFBZSxDQUFDLFlBQTBCLEVBQUUsY0FBd0I7UUFDMUUsSUFBSSxHQUFHLENBQUM7UUFFUixJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksRUFBRTtZQUMzQzs7OztlQUlHO1lBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztnQkFDbEcsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLENBQUMsY0FBYzthQUM1QixDQUNGLENBQUM7U0FFSDthQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3BEOztlQUVHO1lBQ0gsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLFlBQVksQ0FBQztZQUN2QyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxlQUFlLENBQUMsRUFBRSxrQkFBa0IsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUVoSjthQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFlBQVksRUFBRTtZQUN4Rzs7Ozs7O2VBTUc7WUFDSCxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO2dCQUNwRyxRQUFRLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN6QyxVQUFVLEVBQUUsQ0FBQyxjQUFjO2dCQUMzQixTQUFTLEVBQUUsWUFBWSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNoSCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0kseUJBQXlCLENBQUMsY0FBc0IsRUFBRSxLQUFjO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLFlBQVksY0FBYyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbEMsQ0FBQztJQUNOLENBQUM7OztZQWxWRixVQUFVOzs7WUF6QkgsY0FBYztZQUlkLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21lcmdlTWFwLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7T2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWwnO1xuaW1wb3J0IHtQcmVwYXJlZEl0ZW0sIFByZXBhcmVkSXRlbVRlbXBsYXRlfSBmcm9tICcuLi8uLi9tb2RlbC9wcmVwYXJlZC1pdGVtLm1vZGVsJztcbmltcG9ydCB7VXBsb2FkU2VydmljZX0gZnJvbSAnLi4vdXBsb2FkL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7VXBsb2FkVGFyZ2V0fSBmcm9tICcuLi8uLi9tb2RlbC91cGxvYWQtdGFyZ2V0Lm1vZGVsJztcbmltcG9ydCB7VXBsb2FkRmlsZUl0ZW19IGZyb20gJy4uLy4uL21vZGVsL3VwbG9hZC1maWxlLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHtJUHJlcGFyZUNoaWxkVHlwZXN9IGZyb20gJy4vb2JqZWN0VHlwZXMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRQb3N0UGFyYW0ge1xuICBwYXJlbnRJZDogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBvbmUgUHJlcGFyZWRJdGVtIHVzaW5nIG11bHRpcGxlIGZpbGVzIHVwbG9hZGVkIChmYWxzZSlcbiAgICogb3IgY3JlYXRpbmcgYSBQcmVwYXJlZEl0ZW0gZm9yIGVhY2ggZmlsZSBwb3N0ZWQgdG8gdGhlIFVSTCAodHJ1ZSlcbiAgICovXG4gIGNyZWF0ZU1hbnk/OiBib29sZWFuO1xuICBjaGlsZFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBQcmVwYXJlIFNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVwYXJlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zOiBQcmVwYXJlZEl0ZW1bXTtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8UHJlcGFyZWRJdGVtW10+KDEpO1xuICBwdWJsaWMgcHJlcGFyZWRJdGVtcyQ6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+ID0gdGhpcy5wcmVwYXJlZEl0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcHJlcGFyZWRJdGVtQ291bnQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1Db3VudFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyBwcmVwYXJlZEl0ZW1Db3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIEZldGNoIFByZXBhcmUgaXRlbXNcbiAgICovXG4gIHJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXNDb3VudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIG51bWJlciBvZiBwcmVwYXJlZCBpdGVtcyBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIHByaXZhdGUgZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9wcmVwYXJlL3N0YXRlJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLmNvdW50KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnQgPSByZXM7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UubmV4dCh0aGlzLnByZXBhcmVkSXRlbUNvdW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwcmVwYXJlZCBpdGVtIG9uIHRoZSBiYWNrZWQgc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmVudElkIFRoZSBJRCBvZiB0aGUgcGFyZW50IGRtcyBvYmplY3QgdG8gYWRkIHRoZSBwcmVwYXJlZCBpdGVtIHRvXG4gICAqIEBwYXJhbSBjaGlsZFR5cGUgVGhlIHR5cGUgb2Ygb2JqZWN0IHRvIGJlIGNyZWF0ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtKHBhcmVudElkOiBzdHJpbmcsIGNoaWxkVHlwZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdCh0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgIGNoaWxkVHlwZTogY2hpbGRUeXBlID8gY2hpbGRUeXBlIDogbnVsbFxuICAgICAgfSksIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVQcmVwYXJlZEl0ZW1JbmRleERhdGEocHJlcGFyZWRJdGVtSWQsIGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KCcvcHJlcGFyZS8nICsgcHJlcGFyZWRJdGVtSWQsIGRhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBVUkwgZm9yIGNyZWF0aW5nIGEgUHJlcGFyZWRJdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIFBhcmFtcyBmb3IgZ2VuZXJhdGluZyBhcHByb3ByaWF0ZSB1cmkuXG4gICAqIEByZXR1cm5zIHN0cmluZyBBIFBPU1QgVVJMIGZvciBjcmVhdGluZyBQcmVwYXJlZEl0ZW1zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybChwYXJhbXM6IFByZXBhcmVkUG9zdFBhcmFtKTogc3RyaW5nIHtcblxuICAgIGxldCB1cmwgPSBwYXJhbXMuY3JlYXRlTWFueSA/ICcvcHJlcGFyZS9jcmVhdGVtYW55JyA6ICcvcHJlcGFyZS9jcmVhdGUnO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHVybCA9IFV0aWxzLmJ1aWxkVXJpKHVybCwgcGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHRoZSB1c2VycyBwcmVwYXJlZCBpdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIG5vRm9ybXMgSWYgc2V0IHRvIHRydWUgdGhlIHByZXBhcmVkIGl0ZW1zIHdpbGwgYmUgZmV0Y2hlZCB3aXRob3V0IHRoZSBmb3JtIHdoaWNoIGlzIGZhc3RlclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiBBIGNvbGxlY3Rpb24gb2YgcHJlcGFyZWQgaXRlbSBvYmplY3RzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZWRJdGVtcyQobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcykuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlcGFyZWRJdGVtcyQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgUHJlcGFyZUl0ZW1zIGFuZCBmb3JtIHRoZW1cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gbm9Gb3Jtc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgbGV0IHVyaSA9IChub0Zvcm1zKSA/ICcvcHJlcGFyZScgOiAnL3ByZXBhcmU/Zm9ybT10cnVlJztcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbih1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzLm1hcChpID0+IG5ldyBQcmVwYXJlZEl0ZW0oaSkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSksXG4gICAgICAgIHRhcCgocHJlcGFyZWRJdGVtczogUHJlcGFyZWRJdGVtW10pID0+IHRoaXMucHJlcGFyZWRJdGVtc1NvdXJjZS5uZXh0KHByZXBhcmVkSXRlbXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdjcmVhdGVkJywgJ2Rlc2MnKSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgcHJlcGFyZWQgaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+IFNlcnZlciByZXNwb25zZVxuICAgKi9cbiAgZGVsZXRlUHJlcGFyZWRJdGVtKHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5kZWwoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBvYmplY3QgdHlwZXMgYWxsb3dlZCB0byBiZSBwbGFjZWQgZGlyZWN0bHkgYmVsb3cgcm9vdC5cbiAgICpcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxPYmplY3RUeXBlW10+IEEgbGlzdCBvZiBzdXBwb3J0ZWQgb2JqZWN0IHR5cGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZVJvb3RUeXBlcygpOiBPYnNlcnZhYmxlPE9iamVjdFR5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRWaWFUZW1wQ2FjaGUoJy9wcmVwYXJlL3R5cGVzJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnR5cGVzLm1hcCgodHlwZSkgPT4gbmV3IE9iamVjdFR5cGUodHlwZSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhbGxvd2VkIGNoaWxkIG9iamVjdCB0eXBlcyBmb3IgYSBzZWxlY3RlZCBwYXJlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJlbnRJZCBUaGUgaWQgb2YgdGhlIHBhcmVudCBkbXMgb2JqZWN0IChjb250ZXh0IGZvbGRlcilcbiAgICogQHBhcmFtIHdpdGhDb250ZW50T25seSBJZiBzZXQgdG8gdHJ1ZSBvbmx5IGNoaWxkIHR5cGVzLCB0aGF0IHN1cHBvcnQgY29udGVudCBhcmUgcmV0dXJuZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8SVByZXBhcmVDaGlsZFR5cGVzPiBBIGxpc3Qgb2Ygc3VwcG9ydGVkIG9iamVjdCB0eXBlc1xuICAgKi9cbiAgcHVibGljIGdldFByZXBhcmVDaGlsZFR5cGVzKHBhcmVudElkOiBzdHJpbmcsIHdpdGhDb250ZW50T25seT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPElQcmVwYXJlQ2hpbGRUeXBlcz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHBhcmVudElkID8ge3BhcmVudElkLCB3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fSA6IHt3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fVxuICAgIGNvbnN0IHVyaSA9IFV0aWxzLmJ1aWxkVXJpKCcvcHJlcGFyZS90eXBlcycsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldFZpYVRlbXBDYWNoZSh1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiAoe3BhcmVudDogcmVzLnBhcmVudCwgdHlwZXM6IHJlcy50eXBlcy5tYXAoKHR5cGUpID0+IG5ldyBPYmplY3RUeXBlKHR5cGUpKX0pKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmZXRjaCB0aGUgcHJldmlldyB1cmkgZm9yIGEgcHJlcGFyZWQgaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSBwcmVwYXJlZCBpdGVtXG4gICAqIEBwYXJhbSBpbmRleCBXaGVuIGEgcHJlcGFyZWQgaXRlbSBjb250YWlucyBtb3JlIHRoYW4gb25lIGNvbnRlbnRzLCB0aGUgaW5kZXggc3BlY2lmaWVzIHdoaWNoIGNvbnRlbnRcbiAgICogQHBhcmFtIHJlbmRpdGlvbiBUYXJnZXQgcmVuZGl0aW9uIChQREYpXG4gICAqIHRvIHJldHJpZXZlIHRoZSBwcmV2aWV3IHVyaSBmb3JcbiAgICogQHJldHVybnMgc3RyaW5nIFByZXZpZXcgdXJpXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJldmlld1VyaShpZDogc3RyaW5nLCBpbmRleD86IG51bWJlciwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCl9L3ByZXBhcmUvJHtpZH0vY29udGVudGAsIHtyZW5kaXRpb24sIGluZGV4fSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgaXRlbXMgdGFyZ2V0IG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0VHlwZSBUaGUgdGFyZ2V0IG9iamVjdCB0eXBlcyBuYW1lXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gc2V0IHRoZSB0eXBlIGZvclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4gVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUNoaWxkVHlwZShvYmplY3RUeXBlOiBzdHJpbmcsIHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wdXQoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9LyR7b2JqZWN0VHlwZX0/Zm9ybT10cnVlJmNvbnRlbnRtZXRhPXRydWVgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0ZW1wbGF0ZSB0byBhIHByZXBhcmVkIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gYWRkIHRoZSB0ZW1wbGF0ZSB0b1xuICAgKiBAcGFyYW0gdGVtcGxhdGVJZCBUaGUgaWQgb2YgdGhlIHRlbXBsYXRlIHRvIGJlIGFkZGVkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiAgVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIGFkZFRlbXBsYXRlKHByZXBhcmVkSXRlbUlkLCB0ZW1wbGF0ZUlkKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KGAvcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS90ZW1wbGF0ZT90ZW1wbGF0ZWlkPSR7dGVtcGxhdGVJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhdmFpbGFibGUgdGVtcGxhdGVzIGZvciBhIGdpdmVuIG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiBvYmplY3RUeXBlTmFtZVxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlcyhvYmplY3RUeXBlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oJy90ZW1wbGF0ZS9saXN0P3R5cGU9JyArIG9iamVjdFR5cGVOYW1lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcyBhcyBQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHVybCBvZiBhIHRlbXBsYXRlIHByZXZpZXdcbiAgICpcbiAgICogQHBhcmFtIGlkIFRlbXBsYXRlIElEXG4gICAqIEBwYXJhbSByZW5kaXRpb24gVGFyZ2V0IHJlbmRpdGlvbiAoUERGKVxuICAgKiBAcmV0dXJucyBzdHJpbmcgVGhlIHRlbXBsYXRlIHByZXZpZXcgdXJsLlxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlUHJldmlld1VyaShpZCwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCl9L3RlbXBsYXRlLyR7aWR9L2NvbnRlbnRgLCB7cmVuZGl0aW9ufSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0IGEgcHJlcGFyZWQgaXRlbS4gVGhpcyB3aWxsIGNyZWF0ZSBhbiBhY3R1YWwgZG1zIG9iamVjdC5cbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0IHRhcmdldCB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBJRCBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtVHlwZSBOYW1lIG9mIHRoZSBwcmVwYXJlZCBpdGVtcyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbURhdGEgT2JqZWN0IGhvbGRpbmcgZGF0YSBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIGNyZWF0ZWQgZG1zIG9iamVjdFxuICAgKi9cbiAgcHVibGljIGNvbW1pdFByZXBhcmVkSXRlbShwcmVwYXJlZEl0ZW1JZCwgcHJlcGFyZWRJdGVtVHlwZSwgcHJlcGFyZWRJdGVtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnB1dChgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vJHtwcmVwYXJlZEl0ZW1UeXBlfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5iYWNrZW5kLnBvc3QoYC9wcmVwYXJlL2NvbW1pdC8ke3ByZXBhcmVkSXRlbUlkfWAsIHByZXBhcmVkSXRlbURhdGEpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSksXG4gICAgICAgIG1hcChyZXMgPT4gcmVzLmlkKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgQ29udGVudFxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHByZXBhcmVkSXRlbUlkXG4gICAqIEBwYXJhbSBGaWxlIGZpbGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICB1cGxvYWRDb250ZW50KHByZXBhcmVkSXRlbUlkOiBzdHJpbmcsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCB1cmkgPSBgJHt0aGlzLmJhY2tlbmQuZ2V0QmFzZVdpdGhDb250ZXh0KHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpKX0vcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS9jb250ZW50Lmpzb24/Zm9ybT10cnVlJmNvbnRlbnRtZXRhPXRydWVgO1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2VcbiAgICAgIC51cGxvYWQodXJpLCBbZmlsZV0pXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkcyBmaWxlcyB0byBhbiB1cGxvYWQgdGFyZ2V0LlxuICAgKlxuICAgKiBAcGFyYW0gdXBsb2FkVGFyZ2V0IFRoZSB1cGxvYWQgdGFyZ2V0IHRvIHVwbG9hZCBmaWxlcyB0b1xuICAgKiBAcGFyYW0gdXBsb2FkRmlsZXMgRmlsZXMgdG8gYmUgdXBsb2FkZWRcbiAgICogQHBhcmFtIHVzZUJhdGNoVXBsb2FkIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0byB1c2UgYmF0Y2ggcHJvY2Vzc2luZyBvbiB0aGUgYmFja2VuZCBzaWRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgdXBsb2FkVG9UYXJnZXQodXBsb2FkVGFyZ2V0OiBVcGxvYWRUYXJnZXQsIHVwbG9hZEZpbGVzOiBVcGxvYWRGaWxlSXRlbVtdLCB1c2VCYXRjaFVwbG9hZD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uc3QgZmlsZXMgPSB1cGxvYWRGaWxlcy5tYXAoZiA9PiBmLl9maWxlKTtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlXG4gICAgICAudXBsb2FkKHRoaXMuZ2V0VXBsb2FkVGFyZ2V0KHVwbG9hZFRhcmdldCwgdXNlQmF0Y2hVcGxvYWQpLCBmaWxlcylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVyaSB0byBwb3N0IGZpbGVzIHRvIGJhc2VkIG9uIHRoZSB1cGxvYWQgdGFyZ2V0LlxuICAgKlxuICAgKiBAcGFyYW0gdXBsb2FkVGFyZ2V0IFRoZSB0YXJnZXQgdG8gdXBsb2FkIGZpbGVzIHRvXG4gICAqIEBwYXJhbSB1c2VCYXRjaFVwbG9hZCBGbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gdXBsb2FkIGFsbCBmaWxlcyBpbiBhIHNpbmdsZSBwb3N0XG4gICAqIEByZXR1cm5zIHN0cmluZyB0aGUgdXJpXG4gICAqL1xuICBwcml2YXRlIGdldFVwbG9hZFRhcmdldCh1cGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldCwgdXNlQmF0Y2hVcGxvYWQ/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBsZXQgdXJpO1xuXG4gICAgaWYgKHVwbG9hZFRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuUk9PVCkge1xuICAgICAgLyoqXG4gICAgICAgKiB1cGxvYWQgdG8gZ2VuZXJhbCBmaWxpbmcgbG9jYXRpb25cbiAgICAgICAqXG4gICAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgICAqL1xuICAgICAgdXJpID0gdGhpcy5iYWNrZW5kLmdldEJhc2VXaXRoQ29udGV4dCh0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSkgKyB0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICAgIHBhcmVudElkOiBudWxsLFxuICAgICAgICAgIGNyZWF0ZU1hbnk6ICF1c2VCYXRjaFVwbG9hZFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0Lk9CSkVDVCkge1xuICAgICAgLyoqXG4gICAgICAgKiB1cGxvYWQgdG8gZG1zIG9iamVjdCwgbWVhbnMgYWRkaW5nIG9yIHJlcGxhY2luZyBjb250ZW50IGZpbGVcbiAgICAgICAqL1xuICAgICAgY29uc3Qge3JlZmVyZW5jZU9iamVjdH0gPSB1cGxvYWRUYXJnZXQ7XG4gICAgICB1cmkgPSBgJHt0aGlzLmJhY2tlbmQuZ2V0QmFzZVdpdGhDb250ZXh0KHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpKX0vZG1zLyR7cmVmZXJlbmNlT2JqZWN0LmlkfS9jb250ZW50cz90eXBlPSR7cmVmZXJlbmNlT2JqZWN0LnR5cGUubmFtZX1gO1xuXG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LkNPTlRFWFQgfHwgdXBsb2FkVGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5DT05URVhUX1RSRUUpIHtcbiAgICAgIC8qKlxuICAgICAgICogdXBsb2FkIHRvIGNvbnRleHQgZm9sZGVyLCBtZWFucyBhZGRpbmcgYSBuZXcgZG1zIG9iamVjdCB0byBhIHNwZWNpZmljXG4gICAgICAgKiBjb250ZXh0IGZvbGRlciAuLi5cbiAgICAgICAqIC4uLiBpZiB3ZSBnb3QgYSBzdWJGb2xkZXIgKG5vZGUgZnJvbSB0aGUgY29udGV4dCB0cmVlKSBzZXQgdXAgd2UnbGwgYWRkIHRoYXQgdG9vXG4gICAgICAgKlxuICAgICAgICogQHR5cGUgc3RyaW5nXG4gICAgICAgKi9cbiAgICAgIHVyaSA9IHRoaXMuYmFja2VuZC5nZXRCYXNlV2l0aENvbnRleHQodGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCkpICsgdGhpcy5jcmVhdGVQcmVwYXJlZEl0ZW1Qb3N0VXJsKHtcbiAgICAgICAgcGFyZW50SWQ6IHVwbG9hZFRhcmdldC5yZWZlcmVuY2VPYmplY3QuaWQsXG4gICAgICAgIGNyZWF0ZU1hbnk6ICF1c2VCYXRjaFVwbG9hZCxcbiAgICAgICAgY2hpbGRUeXBlOiB1cGxvYWRUYXJnZXQuc3ViRm9sZGVyICYmIHVwbG9hZFRhcmdldC5zdWJGb2xkZXIuZGF0YS50eXBlID8gdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLnR5cGUgOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVyaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0IGNvbnRlbnQgZWxlbWVudCBieSBpbmRleCBvciB0aGUgY29tcGxldGUgY29udGVudC5cbiAgICogSWYgeW91IHByb3ZpZGUgYW4gaW5kZXggdGhlIGNvbnRlbnQgY29uc2lzdHMgb25seSBvZiBvbmUgZWxlbWVudCxcbiAgICogdGhlIGNvbnRlbnQgaXMgY29tcGxldGVseSByZW1vdmVkIGZyb20gdGhlIHByZXBhcmVkIGNyZWF0aW9uIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHdpdGggdGhlIGNvbnRlbnQgdG8gYmUgcmVtb3ZlZFxuICAgKiBAcGFyYW0gaW5kZXggUGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGljaCBjb250ZW50IGVsZW1lbnQgc2hvdWxkIGJlIGRlbGV0ZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiBUaGUgdXBkYXRlZCBwcmVwYXJlZCBpdGVtXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlUHJlcGFyZWRJdGVtQ29udGVudChwcmVwYXJlZEl0ZW1JZDogc3RyaW5nLCBpbmRleD86IG51bWJlcik6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9L2NvbnRlbnRgICsgKGluZGV4ICE9PSB1bmRlZmluZWQgPyBgP2luZGV4PSR7aW5kZXh9YCA6ICcnKTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZGVsKHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IG5ldyBQcmVwYXJlZEl0ZW0ocmVzKSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2877,7 +2877,7 @@ class PrepareService {
|
|
|
2877
2877
|
* @returns Observable<any>
|
|
2878
2878
|
*/
|
|
2879
2879
|
uploadContent(preparedItemId, file) {
|
|
2880
|
-
const uri = `${this.backend.getServiceBase()}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
2880
|
+
const uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
2881
2881
|
return this.uploadService
|
|
2882
2882
|
.upload(uri, [file])
|
|
2883
2883
|
.pipe(
|
|
@@ -2913,7 +2913,7 @@ class PrepareService {
|
|
|
2913
2913
|
*
|
|
2914
2914
|
* @type string
|
|
2915
2915
|
*/
|
|
2916
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
2916
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
2917
2917
|
parentId: null,
|
|
2918
2918
|
createMany: !useBatchUpload
|
|
2919
2919
|
});
|
|
@@ -2923,7 +2923,7 @@ class PrepareService {
|
|
|
2923
2923
|
* upload to dms object, means adding or replacing content file
|
|
2924
2924
|
*/
|
|
2925
2925
|
const { referenceObject } = uploadTarget;
|
|
2926
|
-
uri = `${this.backend.getServiceBase()}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
2926
|
+
uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
2927
2927
|
}
|
|
2928
2928
|
else if (uploadTarget.type === UploadTarget.CONTEXT || uploadTarget.type === UploadTarget.CONTEXT_TREE) {
|
|
2929
2929
|
/**
|
|
@@ -2933,7 +2933,7 @@ class PrepareService {
|
|
|
2933
2933
|
*
|
|
2934
2934
|
* @type string
|
|
2935
2935
|
*/
|
|
2936
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
2936
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
2937
2937
|
parentId: uploadTarget.referenceObject.id,
|
|
2938
2938
|
createMany: !useBatchUpload,
|
|
2939
2939
|
childType: uploadTarget.subFolder && uploadTarget.subFolder.data.type ? uploadTarget.subFolder.data.type : null
|