@esfaenza/extensions 11.2.56 → 11.2.57
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/esfaenza-extensions.umd.js +3 -0
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +1 -1
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esm2015/lib/services/extensions.utilities.service.js +4 -1
- package/fesm2015/esfaenza-extensions.js +3 -0
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/package.json +1 -1
|
@@ -198,6 +198,9 @@ export class UtilityService {
|
|
|
198
198
|
case '[object String]':
|
|
199
199
|
case '[object Date]':
|
|
200
200
|
return new source.constructor(source.valueOf());
|
|
201
|
+
// Clonazione di un file -> Restituisco il riferimento al file stesso
|
|
202
|
+
case "[object File]":
|
|
203
|
+
return source;
|
|
201
204
|
default: break;
|
|
202
205
|
}
|
|
203
206
|
// Oggetti Complessi
|
|
@@ -224,4 +227,4 @@ export class UtilityService {
|
|
|
224
227
|
UtilityService.decorators = [
|
|
225
228
|
{ type: Injectable }
|
|
226
229
|
];
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnV0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUV2Qjs7T0FFRztJQUNJLGtCQUFrQjtRQUNyQixJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFJLFNBQVM7Z0JBQ3hDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDN0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFHLFVBQVU7Z0JBQ3ZELE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUUvQzthQUFNLElBQVUsUUFBUyxDQUFDLFNBQVMsRUFBRyxNQUFNO1lBQ25DLFFBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGVBQWUsQ0FBSSxVQUFlLEVBQUUsaUJBQXlCLEVBQUUsYUFBcUI7UUFDdkYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksYUFBYTtnQkFDeEMsT0FBTyxJQUFJLENBQUM7U0FDbkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLElBQVksRUFBRSxhQUFxQixJQUFJLEVBQUUsYUFBcUIsSUFBSTtRQUMvRSxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxHQUFHLFdBQVcsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLEdBQUcsV0FBVyxFQUFFO2dCQUMxSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQy9CO2lCQUNJO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDekM7U0FDSjtRQUVELHdCQUF3QjtRQUN2QixJQUErQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUM3QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxRQUFRO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFFZCxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUM3RCxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDdkQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDOUQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLFVBQVUsR0FBRyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzFELElBQUksVUFBVSxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFMUQsT0FBTyxRQUFRLEdBQUcsR0FBRyxHQUFHLFVBQVUsR0FBRyxHQUFH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QU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDM0MsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxjQUFjLEtBQUssVUFBVSxFQUFFO1lBQzlELEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUNwQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO29CQUMxQixXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN0RDtTQUNKO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7O1lBOU9KLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgVHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbHMvVHlwZUNvZGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIG1ldG9kaSBkaSBwdWJibGljYSB1dGlsaXTDoFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzZWxlemlvbmEgaWwgdGVzdG8gZXZlbnR1YWxtZW50ZSBzZWxlemlvbmF0b1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXJUZXh0U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkpICAgLy8gQ2hyb21lXHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcclxuICAgICAgICAgICAgZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcykgIC8vIEZpcmVmb3hcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICgoPGFueT5kb2N1bWVudCkuc2VsZWN0aW9uKSAgLy8gSUU/XHJcbiAgICAgICAgICAgICg8YW55PmRvY3VtZW50KS5zZWxlY3Rpb24uZW1wdHkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnRlbmRvIGRhIHVuYSBsaXN0YSwgZGF0byBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgY2hpYXZlIGUgaWwgdmFsb3JlIGRlbGxhIGNoaWF2ZSBzZWxlemlvbmF0YSwgXHJcbiAgICAgKiB0cm92YSBlIHJlc3RpdHVpc2NlIGwnb2dnZXR0byBkZXNpZGVyYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VFtdfSBzb3VyY2VMaXN0IExpc3RhIGRpIG9nZ2V0dGkgZGVudHJvIGN1aSBjZXJjYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlSXRlbUlkRmllbGQgTm9tZSBkZWxsYSBwcm9wcmlldMOgIGNoZSByYXBwcmVzZW50YSBsYSBjaGlhdmUgZGkgdW4gb2dnZXR0byBkaSB0aXBvIFRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFZhbHVlIFZhbG9yZSBkaSBjaGlhdmUgc2VsZXppb25hdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1R9IE9nZ2V0dG8gbGEgY3VpIHByb3ByaWV0w6AgKipzb3VyY2VJdGVtSWRGaWVsZCoqIGFzc3VtZSBpbCB2YWxvcmUgKipzZWxlY3RlZFZhbHVlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNlbGVjdGVkSXRlbTxUPihzb3VyY2VMaXN0OiBUW10sIHNvdXJjZUl0ZW1JZEZpZWxkOiBzdHJpbmcsIHNlbGVjdGVkVmFsdWU6IHN0cmluZyk6IFQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgaXRlbSA9IHNvdXJjZUxpc3RbaV07XHJcbiAgICAgICAgICAgIGlmIChpdGVtW3NvdXJjZUl0ZW1JZEZpZWxkXSA9PSBzZWxlY3RlZFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgcmVzZXQgZGkgdW4gRm9ybSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7TmdGb3JtfSBmb3JtIEZvcm0gZGEgcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMSBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMiBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhbkZvcm0oZm9ybTogTmdGb3JtLCBleGNlcHRpb24xOiBzdHJpbmcgPSBudWxsLCBleGNlcHRpb24yOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBmb3JtLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lICYmIG5hbWUgIT0gZXhjZXB0aW9uMSAmJiBuYW1lICE9IGV4Y2VwdGlvbjEgKyBcIl9pbnRlcm5hbFwiICYmIG5hbWUgIT0gZXhjZXB0aW9uMiAmJiBuYW1lICE9IGV4Y2VwdGlvbjIgKyBcIl9pbnRlcm5hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1JlaW1wb3N0byBpbCBzdWJtaXR0ZWRcclxuICAgICAgICAoZm9ybSBhcyB7IHN1Ym1pdHRlZDogYm9vbGVhbiB9KS5zdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgZGF0byB1biBVUkwgKEdlbmVyYXRvIGRhIHVuYSBjaGlhbWF0YSBhZCAqKndpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgT2JqZWN0VVJMIGNoZSByYXBwcmVzZW50YSBpbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbGVEb3dubG9hZCh1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuICAgICAgICBhLmNsYXNzTmFtZSA9IFwidGEtZGlzcGxheS1ub25lXCI7XHJcbiAgICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIHBlciBsYSBmb3JtYXR0YXppb25lIGRpIHVuIG51bWVybyBkaSBtaWxsaXNlY29uZGkgaW4gdW5hIHN0cmluZ2EgcGnDuSBjb21wcmVuc2liaWxlIHBlciB1biB1bWFub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGVtcG8gZXNwcmVzc28gaW4gbWlsbGlzZWNvbmRpXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IER1cmF0YSBmb3JtYXR0YXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtc1RvVGltZShkdXJhdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWR1cmF0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gJSAxMDAwKSAvIDEwMCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gMTAwMCkgJSA2MCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gKDEwMDAgKiA2MCkpICUgNjApLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBob3VycyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAoMTAwMCAqIDYwICogNjApKSAlIDI0KS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgdmFyIHN0X2hvdXJzID0gKGhvdXJzIDwgMTApID8gXCIwXCIgKyBob3VycyA6IGhvdXJzO1xyXG4gICAgICAgIHZhciBzdF9taW51dGVzID0gKG1pbnV0ZXMgPCAxMCkgPyBcIjBcIiArIG1pbnV0ZXMgOiBtaW51dGVzO1xyXG4gICAgICAgIHZhciBzdF9zZWNvbmRzID0gKHNlY29uZHMgPCAxMCkgPyBcIjBcIiArIHNlY29uZHMgOiBzZWNvbmRzO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RfaG91cnMgKyBcIjpcIiArIHN0X21pbnV0ZXMgKyBcIjpcIiArIHN0X3NlY29uZHMgKyBcIi5cIiArIG1pbGxpc2Vjb25kcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgaW4gQmFzZTY0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlNjREYXRhIEJhc2U2NCBjaGUgcmFwcHJlc2VudGEgaWwgZmlsZSBkYSBzY2FyaWNhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBOb21lIGRlbCBmaWxlIHN1Z2dlcml0byBpbiBmYXNlIGRpIHNhbHZhdGFnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzYXZlRmlsZShiYXNlNjREYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgc2FtcGxlQXJyID0gdGhpcy5iYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NERhdGEpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUJ5dGVBcnJheShzYW1wbGVBcnIsIGZpbGVuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYXNmb3JtYSB1biBCYXNlNjQgaW4gdW4gQXJyYXlCdWZmZXJcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NERhdGEgQmFzZTY0IGRhIHRyYXNmb3JtYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBBcnJheSBVVEY4XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFzZTY0VG9BcnJheUJ1ZmZlcihiYXNlNjREYXRhOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuICAgICAgICB2YXIgYmluYXJ5U3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgdmFyIGJpbmFyeUxlbiA9IGJpbmFyeVN0cmluZy5sZW5ndGg7XHJcbiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5TGVuKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeUxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBhc2NpaSA9IGJpbmFyeVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBieXRlc1tpXSA9IGFzY2lpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnl0ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgY2hlIHBlcm1ldHRlIGRpIHNjYXJpY2FyZSB1biBmaWxlIGRhdG8gdW4gYXJyYXkgZGkgQnl0ZSAoKipVaW50OEFycmF5KiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VWludDhBcnJheX0gYnl0ZSBSYXBwcmVzZW50YXppb25lIGRlbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQnl0ZUFycmF5KGJ5dGU6IFVpbnQ4QXJyYXksIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtieXRlXSk7XHJcbiAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHZhciBmaWxlTmFtZSA9IGZpbGVuYW1lO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXR5IHBlciBsbyBzd2FwIGRpIGR1ZSBlbGVtZW50aSBkaSB1biBhcnJheVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBhcnJheSBBcnJheSBkaSBjdWkgaW52ZXJ0aXJlIGR1ZSBlbGVtZW50aVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHggSW5kaWNlIGRlbCBwcmltbyBlbGVtZW50b1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgSW5kaWNlIGRlbCBzZWNvbmRvIGVsZW1lbnRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzd2FwKGFycmF5OiBhbnlbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgICAgICB2YXIgYiA9IGFycmF5W3hdO1xyXG4gICAgICAgIGFycmF5W3hdID0gYXJyYXlbeV07XHJcbiAgICAgICAgYXJyYXlbeV0gPSBiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGRpIHRyYXNjb2RpZmljYSBkYSB0aXBvIGMjIGEgdGlwbyBUeXBlc2NyaXB0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VHlwZUNvZGV9IHR5cGUgVGlwbyBkYSB0cmFzY29kaWZpY2FyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7XCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwiZGF0ZVwifSBUaXBvIFR5cGVzY3JpcHQgY29ycmlzcG9uZGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEpzVHlwZUZyb21UeXBlQ29kZSh0eXBlOiBUeXBlQ29kZSk6IFwiYm9vbGVhblwiIHwgXCJudW1iZXJcIiB8IFwic3RyaW5nXCIgfCBcImRhdGVcIiAge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkJvb2xlYW46XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJib29sZWFuXCI7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkRlY2ltYWw6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuRG91YmxlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNpbmdsZTpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQzMjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQ2NDpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5CeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNCeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlVJbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5VSW50MzI6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuVUludDY0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuQ2hhcjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5TdHJpbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5EYXRlVGltZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImRhdGVcIjtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiVW5yZWNvZ25pemVkIGlucHV0IHR5cGUuIFR5cGVjb2RlOlwiICsgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBsYSBjbG9uYXppb25lIHByb2ZvbmRhIGRpIHVuIG9nZ2V0dG8gaW4gbWFuaWVyYSBtb2x0byBwacO5IHBlcmZvcm1hbnRlIGNoZSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCkpLlxyXG4gICAgICogXHJcbiAgICAgKiBVc2FyZSBzb2xvIHBlciBvZ2dldHRpIHB1cmkgZSBxdWFudG9tZW5vIHNlbXBsaWNpIHBlciBldml0YXJlIGNvbXBsaWNhemlvbmkgZGVyaXZhbnRpIGRhbGxlIHNlbXBsaWZpY2F6aW9uaSBjaGUgcXVlc3RvIG1ldG9kbyBhc3N1bWVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHNvdXJjZSBPZ2dldHRvIGRhIGNsb25hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybiB7YW55fSBDbG9uZSBkZWxsJ29nZ2V0dG8gcGFzc2F0byBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlZXBDbG9uZShzb3VyY2U6IGFueSk6IGFueSB7XHJcblxyXG4gICAgICAgIC8vIFZhbG9yaSBzZW1wbGljaVxyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCB8fCB0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuXHJcbiAgICAgICAgLy8gUHNldWRvIFN0cnVjdFxyXG4gICAgICAgIHN3aXRjaCAodG9TdHJpbmcuY2FsbChzb3VyY2UpKSB7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IEJvb2xlYW5dJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBOdW1iZXJdJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBTdHJpbmddJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBEYXRlXSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHNvdXJjZS5jb25zdHJ1Y3Rvcihzb3VyY2UudmFsdWVPZigpKTtcclxuICAgICAgICAgICAgZGVmYXVsdDogYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBPZ2dldHRpIENvbXBsZXNzaVxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlY3Vyc2l2ZVN0ZXAoc291cmNlLCBBcnJheS5pc0FycmF5KHNvdXJjZSkgfHwgc291cmNlIGluc3RhbmNlb2YgQXJyYXkgPyBbXSA6IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNvdXJjZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqIFN0ZXAgcmljb3JzaXZvIHBlciBsYSBjbG9uYXR1cmEgZGVnbGkgb2dnZXR0aS4gVmVkZXJlICoqZGVlcENsb25lKipcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWN1cnNpdmVTdGVwKHNvdXJjZTogYW55LCBkZXN0aW5hdGlvbjogYW55KSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgaWkgPSBzb3VyY2UubGVuZ3RoOyBpIDwgaWk7IGkrKylcclxuICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLnB1c2godGhpcy5kZWVwQ2xvbmUoc291cmNlW2ldKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzb3VyY2UgJiYgdHlwZW9mIHNvdXJjZS5oYXNPd25Qcm9wZXJ0eSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gc291cmNlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KGtleSkpXHJcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25ba2V5XSA9IHRoaXMuZGVlcENsb25lKHNvdXJjZVtrZXldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uO1xyXG4gICAgfVxyXG59Il19
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnV0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUV2Qjs7T0FFRztJQUNJLGtCQUFrQjtRQUNyQixJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFJLFNBQVM7Z0JBQ3hDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDN0IsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFHLFVBQVU7Z0JBQ3ZELE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUUvQzthQUFNLElBQVUsUUFBUyxDQUFDLFNBQVMsRUFBRyxNQUFNO1lBQ25DLFFBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGVBQWUsQ0FBSSxVQUFlLEVBQUUsaUJBQXlCLEVBQUUsYUFBcUI7UUFDdkYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksYUFBYTtnQkFDeEMsT0FBTyxJQUFJLENBQUM7U0FDbkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLElBQVksRUFBRSxhQUFxQixJQUFJLEVBQUUsYUFBcUIsSUFBSTtRQUMvRSxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxHQUFHLFdBQVcsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLEdBQUcsV0FBVyxFQUFFO2dCQUMxSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQy9CO2lCQUNJO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDekM7U0FDSjtRQUVELHdCQUF3QjtRQUN2QixJQUErQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUM3QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxRQUFRO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFFZCxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUM3RCxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDdkQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDOUQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLFVBQVUsR0FBRyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzFELElBQUksVUFBVSxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFMUQsT0FBTyxRQUFRLEdBQUcsR0FBRyxHQUFHLFVBQVUsR0FBRyxHQUFH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QUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDM0MsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7YUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxjQUFjLEtBQUssVUFBVSxFQUFFO1lBQzlELEtBQUssSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUNwQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO29CQUMxQixXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN0RDtTQUNKO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7O1lBalBKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgVHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbHMvVHlwZUNvZGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIG1ldG9kaSBkaSBwdWJibGljYSB1dGlsaXTDoFxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzZWxlemlvbmEgaWwgdGVzdG8gZXZlbnR1YWxtZW50ZSBzZWxlemlvbmF0b1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXJUZXh0U2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkpICAgLy8gQ2hyb21lXHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcclxuICAgICAgICAgICAgZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcykgIC8vIEZpcmVmb3hcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICgoPGFueT5kb2N1bWVudCkuc2VsZWN0aW9uKSAgLy8gSUU/XHJcbiAgICAgICAgICAgICg8YW55PmRvY3VtZW50KS5zZWxlY3Rpb24uZW1wdHkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnRlbmRvIGRhIHVuYSBsaXN0YSwgZGF0byBpbCBub21lIGRlbGxhIHByb3ByaWV0w6AgY2hpYXZlIGUgaWwgdmFsb3JlIGRlbGxhIGNoaWF2ZSBzZWxlemlvbmF0YSwgXHJcbiAgICAgKiB0cm92YSBlIHJlc3RpdHVpc2NlIGwnb2dnZXR0byBkZXNpZGVyYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VFtdfSBzb3VyY2VMaXN0IExpc3RhIGRpIG9nZ2V0dGkgZGVudHJvIGN1aSBjZXJjYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlSXRlbUlkRmllbGQgTm9tZSBkZWxsYSBwcm9wcmlldMOgIGNoZSByYXBwcmVzZW50YSBsYSBjaGlhdmUgZGkgdW4gb2dnZXR0byBkaSB0aXBvIFRcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFZhbHVlIFZhbG9yZSBkaSBjaGlhdmUgc2VsZXppb25hdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1R9IE9nZ2V0dG8gbGEgY3VpIHByb3ByaWV0w6AgKipzb3VyY2VJdGVtSWRGaWVsZCoqIGFzc3VtZSBpbCB2YWxvcmUgKipzZWxlY3RlZFZhbHVlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNlbGVjdGVkSXRlbTxUPihzb3VyY2VMaXN0OiBUW10sIHNvdXJjZUl0ZW1JZEZpZWxkOiBzdHJpbmcsIHNlbGVjdGVkVmFsdWU6IHN0cmluZyk6IFQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlTGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgaXRlbSA9IHNvdXJjZUxpc3RbaV07XHJcbiAgICAgICAgICAgIGlmIChpdGVtW3NvdXJjZUl0ZW1JZEZpZWxkXSA9PSBzZWxlY3RlZFZhbHVlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgcmVzZXQgZGkgdW4gRm9ybSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7TmdGb3JtfSBmb3JtIEZvcm0gZGEgcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMSBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXhjZXB0aW9uMiBDYW1wbyBkYSBub24gcmVzZXR0YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhbkZvcm0oZm9ybTogTmdGb3JtLCBleGNlcHRpb24xOiBzdHJpbmcgPSBudWxsLCBleGNlcHRpb24yOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBmb3JtLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChuYW1lICYmIG5hbWUgIT0gZXhjZXB0aW9uMSAmJiBuYW1lICE9IGV4Y2VwdGlvbjEgKyBcIl9pbnRlcm5hbFwiICYmIG5hbWUgIT0gZXhjZXB0aW9uMiAmJiBuYW1lICE9IGV4Y2VwdGlvbjIgKyBcIl9pbnRlcm5hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzW25hbWVdLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1JlaW1wb3N0byBpbCBzdWJtaXR0ZWRcclxuICAgICAgICAoZm9ybSBhcyB7IHN1Ym1pdHRlZDogYm9vbGVhbiB9KS5zdWJtaXR0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgZGF0byB1biBVUkwgKEdlbmVyYXRvIGRhIHVuYSBjaGlhbWF0YSBhZCAqKndpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgT2JqZWN0VVJMIGNoZSByYXBwcmVzZW50YSBpbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbGVEb3dubG9hZCh1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuICAgICAgICBhLmNsYXNzTmFtZSA9IFwidGEtZGlzcGxheS1ub25lXCI7XHJcbiAgICAgICAgYS5ocmVmID0gdXJsO1xyXG4gICAgICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIHBlciBsYSBmb3JtYXR0YXppb25lIGRpIHVuIG51bWVybyBkaSBtaWxsaXNlY29uZGkgaW4gdW5hIHN0cmluZ2EgcGnDuSBjb21wcmVuc2liaWxlIHBlciB1biB1bWFub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGVtcG8gZXNwcmVzc28gaW4gbWlsbGlzZWNvbmRpXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IER1cmF0YSBmb3JtYXR0YXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtc1RvVGltZShkdXJhdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIWR1cmF0aW9uKVxyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHBhcnNlSW50KCgoZHVyYXRpb24gJSAxMDAwKSAvIDEwMCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gMTAwMCkgJSA2MCkudG9TdHJpbmcoKSksXHJcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBwYXJzZUludCgoKGR1cmF0aW9uIC8gKDEwMDAgKiA2MCkpICUgNjApLnRvU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICBob3VycyA9IHBhcnNlSW50KCgoZHVyYXRpb24gLyAoMTAwMCAqIDYwICogNjApKSAlIDI0KS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgICAgdmFyIHN0X2hvdXJzID0gKGhvdXJzIDwgMTApID8gXCIwXCIgKyBob3VycyA6IGhvdXJzO1xyXG4gICAgICAgIHZhciBzdF9taW51dGVzID0gKG1pbnV0ZXMgPCAxMCkgPyBcIjBcIiArIG1pbnV0ZXMgOiBtaW51dGVzO1xyXG4gICAgICAgIHZhciBzdF9zZWNvbmRzID0gKHNlY29uZHMgPCAxMCkgPyBcIjBcIiArIHNlY29uZHMgOiBzZWNvbmRzO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RfaG91cnMgKyBcIjpcIiArIHN0X21pbnV0ZXMgKyBcIjpcIiArIHN0X3NlY29uZHMgKyBcIi5cIiArIG1pbGxpc2Vjb25kcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhlbHBlciBjaGUgcGVybWV0dGUgZGkgc2NhcmljYXJlIHVuIGZpbGUgaW4gQmFzZTY0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlNjREYXRhIEJhc2U2NCBjaGUgcmFwcHJlc2VudGEgaWwgZmlsZSBkYSBzY2FyaWNhcmVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBOb21lIGRlbCBmaWxlIHN1Z2dlcml0byBpbiBmYXNlIGRpIHNhbHZhdGFnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzYXZlRmlsZShiYXNlNjREYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgc2FtcGxlQXJyID0gdGhpcy5iYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NERhdGEpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUJ5dGVBcnJheShzYW1wbGVBcnIsIGZpbGVuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYXNmb3JtYSB1biBCYXNlNjQgaW4gdW4gQXJyYXlCdWZmZXJcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NERhdGEgQmFzZTY0IGRhIHRyYXNmb3JtYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBBcnJheSBVVEY4XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYmFzZTY0VG9BcnJheUJ1ZmZlcihiYXNlNjREYXRhOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuICAgICAgICB2YXIgYmluYXJ5U3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgdmFyIGJpbmFyeUxlbiA9IGJpbmFyeVN0cmluZy5sZW5ndGg7XHJcbiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYmluYXJ5TGVuKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeUxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBhc2NpaSA9IGJpbmFyeVN0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgICAgICBieXRlc1tpXSA9IGFzY2lpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnl0ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIZWxwZXIgY2hlIHBlcm1ldHRlIGRpIHNjYXJpY2FyZSB1biBmaWxlIGRhdG8gdW4gYXJyYXkgZGkgQnl0ZSAoKipVaW50OEFycmF5KiopXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VWludDhBcnJheX0gYnl0ZSBSYXBwcmVzZW50YXppb25lIGRlbCBmaWxlIGRhIHNjYXJpY2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIE5vbWUgZGVsIGZpbGUgc3VnZ2VyaXRvIGluIGZhc2UgZGkgc2FsdmF0YWdnaW9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQnl0ZUFycmF5KGJ5dGU6IFVpbnQ4QXJyYXksIGZpbGVuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtieXRlXSk7XHJcbiAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuaHJlZiA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHZhciBmaWxlTmFtZSA9IGZpbGVuYW1lO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXR5IHBlciBsbyBzd2FwIGRpIGR1ZSBlbGVtZW50aSBkaSB1biBhcnJheVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBhcnJheSBBcnJheSBkaSBjdWkgaW52ZXJ0aXJlIGR1ZSBlbGVtZW50aVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHggSW5kaWNlIGRlbCBwcmltbyBlbGVtZW50b1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHkgSW5kaWNlIGRlbCBzZWNvbmRvIGVsZW1lbnRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzd2FwKGFycmF5OiBhbnlbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgICAgICB2YXIgYiA9IGFycmF5W3hdO1xyXG4gICAgICAgIGFycmF5W3hdID0gYXJyYXlbeV07XHJcbiAgICAgICAgYXJyYXlbeV0gPSBiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGVscGVyIGRpIHRyYXNjb2RpZmljYSBkYSB0aXBvIGMjIGEgdGlwbyBUeXBlc2NyaXB0XHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7VHlwZUNvZGV9IHR5cGUgVGlwbyBkYSB0cmFzY29kaWZpY2FyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7XCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwiZGF0ZVwifSBUaXBvIFR5cGVzY3JpcHQgY29ycmlzcG9uZGVudGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEpzVHlwZUZyb21UeXBlQ29kZSh0eXBlOiBUeXBlQ29kZSk6IFwiYm9vbGVhblwiIHwgXCJudW1iZXJcIiB8IFwic3RyaW5nXCIgfCBcImRhdGVcIiAge1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkJvb2xlYW46XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJib29sZWFuXCI7XHJcblxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLkRlY2ltYWw6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuRG91YmxlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNpbmdsZTpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQzMjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5JbnQ2NDpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5CeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlNCeXRlOlxyXG4gICAgICAgICAgICBjYXNlIFR5cGVDb2RlLlVJbnQxNjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5VSW50MzI6XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuVUludDY0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XHJcbiAgICAgICAgICAgIGNhc2UgVHlwZUNvZGUuQ2hhcjpcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5TdHJpbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICAgICAgY2FzZSBUeXBlQ29kZS5EYXRlVGltZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiBcImRhdGVcIjtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiVW5yZWNvZ25pemVkIGlucHV0IHR5cGUuIFR5cGVjb2RlOlwiICsgdHlwZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJzdHJpbmdcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBsYSBjbG9uYXppb25lIHByb2ZvbmRhIGRpIHVuIG9nZ2V0dG8gaW4gbWFuaWVyYSBtb2x0byBwacO5IHBlcmZvcm1hbnRlIGNoZSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KCkpLlxyXG4gICAgICogXHJcbiAgICAgKiBVc2FyZSBzb2xvIHBlciBvZ2dldHRpIHB1cmkgZSBxdWFudG9tZW5vIHNlbXBsaWNpIHBlciBldml0YXJlIGNvbXBsaWNhemlvbmkgZGVyaXZhbnRpIGRhbGxlIHNlbXBsaWZpY2F6aW9uaSBjaGUgcXVlc3RvIG1ldG9kbyBhc3N1bWVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHNvdXJjZSBPZ2dldHRvIGRhIGNsb25hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybiB7YW55fSBDbG9uZSBkZWxsJ29nZ2V0dG8gcGFzc2F0byBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlZXBDbG9uZShzb3VyY2U6IGFueSk6IGFueSB7XHJcblxyXG4gICAgICAgIC8vIFZhbG9yaSBzZW1wbGljaVxyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCB8fCB0eXBlb2Ygc291cmNlICE9PSAnb2JqZWN0JylcclxuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcclxuXHJcbiAgICAgICAgLy8gUHNldWRvIFN0cnVjdFxyXG4gICAgICAgIHN3aXRjaCAodG9TdHJpbmcuY2FsbChzb3VyY2UpKSB7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdbb2JqZWN0IEJvb2xlYW5dJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBOdW1iZXJdJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBTdHJpbmddJzpcclxuICAgICAgICAgICAgY2FzZSAnW29iamVjdCBEYXRlXSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHNvdXJjZS5jb25zdHJ1Y3Rvcihzb3VyY2UudmFsdWVPZigpKTtcclxuICAgICAgICAgICAgLy8gQ2xvbmF6aW9uZSBkaSB1biBmaWxlIC0+IFJlc3RpdHVpc2NvIGlsIHJpZmVyaW1lbnRvIGFsIGZpbGUgc3Rlc3NvXHJcbiAgICAgICAgICAgIGNhc2UgXCJbb2JqZWN0IEZpbGVdXCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9nZ2V0dGkgQ29tcGxlc3NpXHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlU3RlcChzb3VyY2UsIEFycmF5LmlzQXJyYXkoc291cmNlKSB8fCBzb3VyY2UgaW5zdGFuY2VvZiBBcnJheSA/IFtdIDogT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc291cmNlKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICogU3RlcCByaWNvcnNpdm8gcGVyIGxhIGNsb25hdHVyYSBkZWdsaSBvZ2dldHRpLiBWZWRlcmUgKipkZWVwQ2xvbmUqKlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlY3Vyc2l2ZVN0ZXAoc291cmNlOiBhbnksIGRlc3RpbmF0aW9uOiBhbnkpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpIHx8IHNvdXJjZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBpaSA9IHNvdXJjZS5sZW5ndGg7IGkgPCBpaTsgaSsrKVxyXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb24ucHVzaCh0aGlzLmRlZXBDbG9uZShzb3VyY2VbaV0pKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZSAmJiB0eXBlb2Ygc291cmNlLmhhc093blByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBzb3VyY2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3VyY2UuaGFzT3duUHJvcGVydHkoa2V5KSlcclxuICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbltrZXldID0gdGhpcy5kZWVwQ2xvbmUoc291cmNlW2tleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGVzdGluYXRpb247XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1921,6 +1921,9 @@ class UtilityService {
|
|
|
1921
1921
|
case '[object String]':
|
|
1922
1922
|
case '[object Date]':
|
|
1923
1923
|
return new source.constructor(source.valueOf());
|
|
1924
|
+
// Clonazione di un file -> Restituisco il riferimento al file stesso
|
|
1925
|
+
case "[object File]":
|
|
1926
|
+
return source;
|
|
1924
1927
|
default: break;
|
|
1925
1928
|
}
|
|
1926
1929
|
// Oggetti Complessi
|