general-library-union 2.5.49 → 2.5.51

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.
@@ -87,7 +87,7 @@ export class ErrorIntecertorService {
87
87
  const OkButton = document.getElementById('Ok');
88
88
  OkButton.classList.add('swal2-styled', 'swal2-cancel', 'btn-ok');
89
89
  OkButton.addEventListener('click', () => {
90
- // Swal.close();
90
+ Swal.close();
91
91
  this.utilsService.sleep(500).then(data => {
92
92
  this.utilsService.resizeWindowIFrame();
93
93
  });
@@ -136,7 +136,7 @@ export class ErrorIntecertorService {
136
136
  });
137
137
  });
138
138
  OkButton.addEventListener('click', () => {
139
- //Swal.close();
139
+ Swal.close();
140
140
  this.utilsService.sleep(500).then(data => {
141
141
  this.utilsService.resizeWindowIFrame();
142
142
  });
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
163
163
  providedIn: 'root'
164
164
  }]
165
165
  }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.StorageService }] });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBVS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFFYjtJQUNBO0lBQ0E7SUFDQTtJQUhwQixZQUFvQixZQUEwQixFQUMxQixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsY0FBOEI7UUFIOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUM5QyxDQUFDO0lBRUo7OztNQUdFO0lBQ0gsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZO2VBQzNELEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLDRCQUE0QixDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsZ0NBQWdDLENBQUM7ZUFDbEgsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRyxDQUFDO1lBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFD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J0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbmltcG9ydCB7IEVycm9yUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uL21vZGVsb3MvZXJyb3ItcmVzcG9uc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVjZXJ0b3JTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIE11ZXN0cmEgdW4gbWVuc2FqZSBkZSBlcnJvciBzZWfDum4gZWwgdGlwbyBkZSBlcnJvciBwcm9wb3JjaW9uYWRvLlxyXG4gICAqIEBwYXJhbSBlcnJvckpzb24gRWwgb2JqZXRvIEpTT04gcXVlIHJlcHJlc2VudGEgZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgc2hvd0Vycm9yKGVycm9ySnNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBlcnJvcjogRXJyb3JSZXNwb25zZU1vZGVsID0gSlNPTi5wYXJzZShlcnJvckpzb24pO1xyXG4gICAgaWYgKGVycm9yLmNvZGlnbyA9PSAnVU5JLURCLTAwMicgfHwgZXJyb3IuY29kaWdvID09ICdVTkktREItMDAzJyBcclxuICAgICAgfHwgZXJyb3IubWVuc2FqZT8uaW5jbHVkZXMoJ1NlIHByb2R1am8gdW4gZXJyb3IgZGUgcmVkJykgfHwgZXJyb3IubWVuc2FqZT8uaW5jbHVkZXMoJ0VsIHNlcnZpY2lvIG5vIGVzdMOhIGRpc3BvbmlibGUnKSBcclxuICAgICAgfHwgZXJyb3IubWVuc2FqZT8uaW5jbHVkZXMoJ0NvbmV4aW9uIG5vIHZhbGlkYScpKSAge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21lbnNhamVfbm90Zm91bmQnLCBlcnJvci5tZW5zYWplKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCd1cmxfcmVncmVzYXInLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyArIHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL25vdC1mb3VuZCdcclxuICAgICAgLy90aGlzLnJvdXRlLm5hdmlnYXRlKFt0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpKycvbm90LWZvdW5kJ10pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXJyb3IudGlwbyA9PT0gJ0lORicpIHtcclxuICAgICAgdGhpcy5zaG93SW5mbyhlcnJvci5tZW5zYWplLCBlcnJvci5jb2RpZ28pO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci50aXBvID09PSAnV0FSJykge1xyXG4gICAgICB0aGlzLnNob3dXYXJuaW5nKGVycm9yLm1lbnNhamUsIGVycm9yLmNvZGlnbywgZXJyb3IuY2F1c2EsIGVycm9yLmFjY2lvbiwgZXJyb3IudHJhemEpO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci50aXBvID09PSAnRVJSJykge1xyXG4gICAgICB0aGlzLnNob3dFcnJvckRldGFpbHMoZXJyb3IubWVuc2FqZSA/IGVycm9yLm1lbnNhamUgOiAnJywgZXJyb3IuY29kaWdvLCBlcnJvci50cmF6YSwgZXJyb3IuY2F1c2EpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTXVlc3RyYSB1biBtZW5zYWplIGRlIGluZm9ybWFjacOzbiBjb24gZWwgY8OzZGlnby5cclxuICAgKiBAcGFyYW0gbWVuc2FqZSBFbCBtZW5zYWplIGEgbW9zdHJhci5cclxuICAgKiBAcGFyYW0gY29kaWdvIEVsIGPDs2RpZ28gYXNvY2lhZG8gYWwgbWVuc2FqZS5cclxuICAgKi9cclxuICBwcml2YXRlIHNob3dJbmZvKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjZjdiZmJmJyxcclxuICAgICAgcG9zaXRpb246ICd0b3AtZW5kJyxcclxuICAgICAgaHRtbDogJzxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0O1wiPicgK1xyXG4gICAgICAgICAgICAgICc8cCBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCI+PGI+Q8OzZGlnbzo8L2I+ICcgKyBjb2RpZ28gKyAnPC9wPicgK1xyXG4gICAgICAgICAgICAgICc8cCBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZToxMnB4XCI+JyArIG1lbnNhamUgKyAnPC9wPicgK1xyXG4gICAgICAgICAgICAnPC9kaXY+JyxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICB0aW1lcjogNTUwMCxcclxuICAgICAgY29sb3I6ICcjZmYwMDAwJ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnV0aWxzU2VydmljZS5zbGVlcCg1MDApLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnJlc2l6ZVdpbmRvd0lGcmFtZSgpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE11ZXN0cmEgdW5hIGFkdmVydGVuY2lhIGNvbiBkZXRhbGxlcyBhZGljaW9uYWxlcyBjb21vIGNhdXNhLCBhY2Npw7NuIHkgdHJhemEuXHJcbiAgICogQHBhcmFtIG1lbnNhamUgRWwgbWVuc2FqZSBhIG1vc3RyYXIuXHJcbiAgICogQHBhcmFtIGNvZGlnbyBFbCBjw7NkaWdvIGFzb2NpYWRvIGFsIG1lbnNhamUuXHJcbiAgICogQHBhcmFtIGNhdXNhIExhIGNhdXNhIGRlbCBlcnJvci5cclxuICAgKiBAcGFyYW0gYWNjaW9uIExhIGFjY2nDs24gcmVjb21lbmRhZGEuXHJcbiAgICogQHBhcmFtIHRyYXphIExhIHRyYXphIGRlbCBlcnJvci5cclxuICAgKi9cclxuICBwcml2YXRlIHNob3dXYXJuaW5nKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcsIGNhdXNhOiBzdHJpbmcsIGFjY2lvbjogc3RyaW5nLCB0cmF6YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsZXQgY29udGVuaWRvSHRtbCA9IGA8cCBjbGFzcz1cIm1zakVycm9yXCI+JHttZW5zYWplfTwvcD5gXHJcbiAgICBjb250ZW5pZG9IdG1sID0gY29udGVuaWRvSHRtbCArICh0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3Jpbyhjb2RpZ28pID8gYDxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5Dw7NkaWdvOjwvYj4gJHtjb2RpZ299PC9wPmAgOiAnICcpO1xyXG4gICAgY29udGVuaWRvSHRtbCA9IGNvbnRlbmlkb0h0bWwgKyAodGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2F1c2EpID8gYDxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5DYXVzYTo8L2I+ICR7Y2F1c2F9PC9wPmAgOiAnICcpO1xyXG4gICAgY29udGVuaWRvSHRtbCA9IGNvbnRlbmlkb0h0bWwgKyAodGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oYWNjaW9uKSA/IGA8cCBjbGFzcz1cImNhdUVycm9yXCI+PGI+QWNjacOzbiBSZWNvbWVuZGFkYTo8L2I+ICR7YWNjaW9ufTwvcD5gIDogJyAnKTtcclxuICAgIGxldCBjb250ZW5pZG9QbHVzSHRtbCA9IGA8cCBjbGFzcz1cIm1zakVycm9yXCI+JHttZW5zYWplLnNsaWNlKDAsIDEwMCl9PC9wPjxidXR0b24gaWQ9XCJ2ZXJNYXNCdXR0b25cIj5WZXIgbcOhczwvYnV0dG9uPiA8YnV0dG9uIGlkPVwiT2tcIj5PSzwvYnV0dG9uPmA7XHJcblxyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgdGl0bGU6ICc8c3BhbiBzdHlsZT1cImNvbG9yOiB2YXIoLS1jb2xvci03MDApO1wiPicgKyAnQWR2ZXJ0ZW5jaWEnICsgJzwvc3Bhbj4nLFxyXG4gICAgICBodG1sOiBjb250ZW5pZG9IdG1sLFxyXG4gICAgICBpY29uOiAnd2FybmluZycsXHJcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxyXG4gICAgICBzaG93Q2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBPa0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdPaycpO1xyXG4gICAgICAgICAgT2tCdXR0b24uY2xhc3NMaXN0LmFkZCgnc3dhbDItc3R5bGVkJywgJ3N3YWwyLWNhbmNlbCcsICdidG4tb2snKTtcclxuICAgICAgICAgIE9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgIC8vIFN3YWwuY2xvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2Uuc2xlZXAoNTAwKS50aGVuKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnJlc2l6ZVdpbmRvd0lGcmFtZSgpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgdGhpcy51dGlsc1NlcnZpY2Uuc2xlZXAoNTAwKS50aGVuKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnV0aWxzU2VydmljZS5yZXNpemVXaW5kb3dJRnJhbWUoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhIHVuIG1lbnNhamUgZGUgZXJyb3IgY29uIGRldGFsbGVzIGFkaWNpb25hbGVzIGNvbW8gZWwgY8OzZGlnbyBkZSBlcnJvciB5IGxhIHRyYXphLlxyXG4gICAqIEBwYXJhbSBtZW5zYWplIEVsIG1lbnNhamUgYSBtb3N0cmFyLlxyXG4gICAqIEBwYXJhbSBlcnJvckNvZGUgRWwgY8OzZGlnbyBkZSBlcnJvciBhc29jaWFkbyBhbCBtZW5zYWplLlxyXG4gICAqIEBwYXJhbSB0cmF6YSBMYSB0cmF6YSBkZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93RXJyb3JEZXRhaWxzKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcsIHRyYXphOiBzdHJpbmcsIGNhdXNhPyA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICBsZXQgY29udGVuaWRvSHRtbCA9IGA8cCBjbGFzcz1cIm1zakVycm9yXCI+JHttZW5zYWplfTwvcD48cCBjbGFzcz1cImNvZEVycm9yXCI+PGI+Q8OzZGlnbzo8L2I+ICR7Y29kaWdvfTwvcD48cCBjbGFzcz1cInRyYUVycm9yXCI+PGI+VHJhemE6PC9iPiAke3RyYXphfTwvcD48cCBjbGFzcz1cImNhdUVycm9yXCI+YDtcclxuICAgICAgaWYgKGNhdXNhIT0gbnVsbCAmJiBjYXVzYSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPjxwIGNsYXNzPVwiY29kRXJyb3JcIj48Yj5Dw7NkaWdvOjwvYj4gJHtjb2RpZ299PC9wPjxwIGNsYXNzPVwidHJhRXJyb3JcIj48Yj5UcmF6YTo8L2I+ICR7dHJhemF9PC9wPjxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5DYXVzYTo8L2I+ICR7Y2F1c2F9PC9wPmA7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGNvbnRlbmlkb1BsdXNIdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamUuc2xpY2UoMCwgMTAwKX08L3A+PGJ1dHRvbiBpZD1cInZlck1hc0J1dHRvblwiPlZlciBtw6FzPC9idXR0b24+IDxidXR0b24gY2xhc3M9XCJidG4tb2tcIiBpZD1cIk9rXCI+T0s8L2J1dHRvbj5gO1xyXG5cclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogJzxzcGFuIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTcwMCk7XCI+JyArICdFcnJvcicgKyAnPC9zcGFuPicsXHJcbiAgICAgICAgaHRtbDogKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCA/IGNvbnRlbmlkb1BsdXNIdG1sIDogY29udGVuaWRvSHRtbCxcclxuICAgICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxyXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6ICdteS1zd2FsJyxcclxuICAgICAgICBkaWRPcGVuOiAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCkge1xyXG4gICAgICAgICAgICAvLyBBZ3JlZ2FyIGVzdGlsb3MgYWwgYm90w7NuIFwiVmVyIG3DoXNcIlxyXG4gICAgICAgICAgICBjb25zdCB2ZXJNYXNCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmVyTWFzQnV0dG9uJyk7XHJcbiAgICAgICAgICAgIHZlck1hc0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJywgJ2J0bi12ZXJtYXMnICk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBPa0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdPaycpO1xyXG4gICAgICAgICAgICBPa0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJyAsICdidG4tb2snKTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFncmVnYXIgdW4gZXZlbnRvIGFsIGJvdMOzbiBcIlZlciBtw6FzXCIgcGFyYSBtb3N0cmFyIHRvZG8gZWwgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGNsaWNcclxuICAgICAgICAgICAgdmVyTWFzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFN3YWwudXBkYXRlKHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5zbGVlcCg1MDApLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5yZXNpemVXaW5kb3dJRnJhbWUoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIE9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vU3dhbC5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnNsZWVwKDUwMCkudGhlbihkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnJlc2l6ZVdpbmRvd0lGcmFtZSgpO1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgU3dhbC51cGRhdGUoe1xyXG4gICAgICAgICAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBcclxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLnNsZWVwKDUwMCkudGhlbihkYXRhID0+IHtcclxuICAgICAgdGhpcy51dGlsc1NlcnZpY2UucmVzaXplV2luZG93SUZyYW1lKCk7XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZXJyb3ItaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBVS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFFYjtJQUNBO0lBQ0E7SUFDQTtJQUhwQixZQUFvQixZQUEwQixFQUMxQixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsY0FBOEI7UUFIOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUM5QyxDQUFDO0lBRUo7OztNQUdFO0lBQ0gsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZO2VBQzNELEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLDRCQUE0QixDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsZ0NBQWdDLENBQUM7ZUFDbEgsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRyxDQUFDO1lBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFD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Q29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxvcy9lcnJvci1yZXNwb25zZS5tb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySW50ZWNlcnRvclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGU6IFJvdXRlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICApIHsgfVxyXG5cclxuICAgLyoqXHJcbiAgICogTXVlc3RyYSB1biBtZW5zYWplIGRlIGVycm9yIHNlZ8O6biBlbCB0aXBvIGRlIGVycm9yIHByb3BvcmNpb25hZG8uXHJcbiAgICogQHBhcmFtIGVycm9ySnNvbiBFbCBvYmpldG8gSlNPTiBxdWUgcmVwcmVzZW50YSBlbCBlcnJvci5cclxuICAgKi9cclxuICBzaG93RXJyb3IoZXJyb3JKc29uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVycm9yOiBFcnJvclJlc3BvbnNlTW9kZWwgPSBKU09OLnBhcnNlKGVycm9ySnNvbik7XHJcbiAgICBpZiAoZXJyb3IuY29kaWdvID09ICdVTkktREItMDAyJyB8fCBlcnJvci5jb2RpZ28gPT0gJ1VOSS1EQi0wMDMnIFxyXG4gICAgICB8fCBlcnJvci5tZW5zYWplPy5pbmNsdWRlcygnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQnKSB8fCBlcnJvci5tZW5zYWplPy5pbmNsdWRlcygnRWwgc2VydmljaW8gbm8gZXN0w6EgZGlzcG9uaWJsZScpIFxyXG4gICAgICB8fCBlcnJvci5tZW5zYWplPy5pbmNsdWRlcygnQ29uZXhpb24gbm8gdmFsaWRhJykpICB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbWVuc2FqZV9ub3Rmb3VuZCcsIGVycm9yLm1lbnNhamUpO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ3VybF9yZWdyZXNhcicsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy8nICsgdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvbm90LWZvdW5kJ1xyXG4gICAgICAvL3RoaXMucm91dGUubmF2aWdhdGUoW3RoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkrJy9ub3QtZm91bmQnXSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChlcnJvci50aXBvID09PSAnSU5GJykge1xyXG4gICAgICB0aGlzLnNob3dJbmZvKGVycm9yLm1lbnNhamUsIGVycm9yLmNvZGlnbyk7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yLnRpcG8gPT09ICdXQVInKSB7XHJcbiAgICAgIHRoaXMuc2hvd1dhcm5pbmcoZXJyb3IubWVuc2FqZSwgZXJyb3IuY29kaWdvLCBlcnJvci5jYXVzYSwgZXJyb3IuYWNjaW9uLCBlcnJvci50cmF6YSk7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yLnRpcG8gPT09ICdFUlInKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yRGV0YWlscyhlcnJvci5tZW5zYWplID8gZXJyb3IubWVuc2FqZSA6ICcnLCBlcnJvci5jb2RpZ28sIGVycm9yLnRyYXphLCBlcnJvci5jYXVzYSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhIHVuIG1lbnNhamUgZGUgaW5mb3JtYWNpw7NuIGNvbiBlbCBjw7NkaWdvLlxyXG4gICAqIEBwYXJhbSBtZW5zYWplIEVsIG1lbnNhamUgYSBtb3N0cmFyLlxyXG4gICAqIEBwYXJhbSBjb2RpZ28gRWwgY8OzZGlnbyBhc29jaWFkbyBhbCBtZW5zYWplLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2hvd0luZm8obWVuc2FqZTogc3RyaW5nLCBjb2RpZ286IHN0cmluZyk6IHZvaWQge1xyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgYmFja2dyb3VuZDogJyNmN2JmYmYnLFxyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1lbmQnLFxyXG4gICAgICBodG1sOiAnPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCI+JyArXHJcbiAgICAgICAgICAgICAgJzxwIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIj48Yj5Dw7NkaWdvOjwvYj4gJyArIGNvZGlnbyArICc8L3A+JyArXHJcbiAgICAgICAgICAgICAgJzxwIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOjEycHhcIj4nICsgbWVuc2FqZSArICc8L3A+JyArXHJcbiAgICAgICAgICAgICc8L2Rpdj4nLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHRpbWVyOiA1NTAwLFxyXG4gICAgICBjb2xvcjogJyNmZjAwMDAnXHJcbiAgICB9KTtcclxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLnNsZWVwKDUwMCkudGhlbihkYXRhID0+IHtcclxuICAgICAgdGhpcy51dGlsc1NlcnZpY2UucmVzaXplV2luZG93SUZyYW1lKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTXVlc3RyYSB1bmEgYWR2ZXJ0ZW5jaWEgY29uIGRldGFsbGVzIGFkaWNpb25hbGVzIGNvbW8gY2F1c2EsIGFjY2nDs24geSB0cmF6YS5cclxuICAgKiBAcGFyYW0gbWVuc2FqZSBFbCBtZW5zYWplIGEgbW9zdHJhci5cclxuICAgKiBAcGFyYW0gY29kaWdvIEVsIGPDs2RpZ28gYXNvY2lhZG8gYWwgbWVuc2FqZS5cclxuICAgKiBAcGFyYW0gY2F1c2EgTGEgY2F1c2EgZGVsIGVycm9yLlxyXG4gICAqIEBwYXJhbSBhY2Npb24gTGEgYWNjacOzbiByZWNvbWVuZGFkYS5cclxuICAgKiBAcGFyYW0gdHJhemEgTGEgdHJhemEgZGVsIGVycm9yLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2hvd1dhcm5pbmcobWVuc2FqZTogc3RyaW5nLCBjb2RpZ286IHN0cmluZywgY2F1c2E6IHN0cmluZywgYWNjaW9uOiBzdHJpbmcsIHRyYXphOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPmBcclxuICAgIGNvbnRlbmlkb0h0bWwgPSBjb250ZW5pZG9IdG1sICsgKHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNvZGlnbykgPyBgPHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkPDs2RpZ286PC9iPiAke2NvZGlnb308L3A+YCA6ICcgJyk7XHJcbiAgICBjb250ZW5pZG9IdG1sID0gY29udGVuaWRvSHRtbCArICh0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYXVzYSkgPyBgPHAgY2xhc3M9XCJjYXVFcnJvclwiPjxiPkNhdXNhOjwvYj4gJHtjYXVzYX08L3A+YCA6ICcgJyk7XHJcbiAgICBjb250ZW5pZG9IdG1sID0gY29udGVuaWRvSHRtbCArICh0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhhY2Npb24pID8gYDxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5BY2Npw7NuIFJlY29tZW5kYWRhOjwvYj4gJHthY2Npb259PC9wPmAgOiAnICcpO1xyXG4gICAgbGV0IGNvbnRlbmlkb1BsdXNIdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamUuc2xpY2UoMCwgMTAwKX08L3A+PGJ1dHRvbiBpZD1cInZlck1hc0J1dHRvblwiPlZlciBtw6FzPC9idXR0b24+IDxidXR0b24gaWQ9XCJPa1wiPk9LPC9idXR0b24+YDtcclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICB0aXRsZTogJzxzcGFuIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTcwMCk7XCI+JyArICdBZHZlcnRlbmNpYScgKyAnPC9zcGFuPicsXHJcbiAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IE9rQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ09rJyk7XHJcbiAgICAgICAgICBPa0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJywgJ2J0bi1vaycpO1xyXG4gICAgICAgICAgT2tCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIFN3YWwuY2xvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2Uuc2xlZXAoNTAwKS50aGVuKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnJlc2l6ZVdpbmRvd0lGcmFtZSgpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgdGhpcy51dGlsc1NlcnZpY2Uuc2xlZXAoNTAwKS50aGVuKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnV0aWxzU2VydmljZS5yZXNpemVXaW5kb3dJRnJhbWUoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNdWVzdHJhIHVuIG1lbnNhamUgZGUgZXJyb3IgY29uIGRldGFsbGVzIGFkaWNpb25hbGVzIGNvbW8gZWwgY8OzZGlnbyBkZSBlcnJvciB5IGxhIHRyYXphLlxyXG4gICAqIEBwYXJhbSBtZW5zYWplIEVsIG1lbnNhamUgYSBtb3N0cmFyLlxyXG4gICAqIEBwYXJhbSBlcnJvckNvZGUgRWwgY8OzZGlnbyBkZSBlcnJvciBhc29jaWFkbyBhbCBtZW5zYWplLlxyXG4gICAqIEBwYXJhbSB0cmF6YSBMYSB0cmF6YSBkZWwgZXJyb3IuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzaG93RXJyb3JEZXRhaWxzKG1lbnNhamU6IHN0cmluZywgY29kaWdvOiBzdHJpbmcsIHRyYXphOiBzdHJpbmcsIGNhdXNhPyA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICBsZXQgY29udGVuaWRvSHRtbCA9IGA8cCBjbGFzcz1cIm1zakVycm9yXCI+JHttZW5zYWplfTwvcD48cCBjbGFzcz1cImNvZEVycm9yXCI+PGI+Q8OzZGlnbzo8L2I+ICR7Y29kaWdvfTwvcD48cCBjbGFzcz1cInRyYUVycm9yXCI+PGI+VHJhemE6PC9iPiAke3RyYXphfTwvcD48cCBjbGFzcz1cImNhdUVycm9yXCI+YDtcclxuICAgICAgaWYgKGNhdXNhIT0gbnVsbCAmJiBjYXVzYSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb250ZW5pZG9IdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamV9PC9wPjxwIGNsYXNzPVwiY29kRXJyb3JcIj48Yj5Dw7NkaWdvOjwvYj4gJHtjb2RpZ299PC9wPjxwIGNsYXNzPVwidHJhRXJyb3JcIj48Yj5UcmF6YTo8L2I+ICR7dHJhemF9PC9wPjxwIGNsYXNzPVwiY2F1RXJyb3JcIj48Yj5DYXVzYTo8L2I+ICR7Y2F1c2F9PC9wPmA7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGNvbnRlbmlkb1BsdXNIdG1sID0gYDxwIGNsYXNzPVwibXNqRXJyb3JcIj4ke21lbnNhamUuc2xpY2UoMCwgMTAwKX08L3A+PGJ1dHRvbiBpZD1cInZlck1hc0J1dHRvblwiPlZlciBtw6FzPC9idXR0b24+IDxidXR0b24gY2xhc3M9XCJidG4tb2tcIiBpZD1cIk9rXCI+T0s8L2J1dHRvbj5gO1xyXG5cclxuICAgICAgU3dhbC5maXJlKHtcclxuICAgICAgICB0aXRsZTogJzxzcGFuIHN0eWxlPVwiY29sb3I6IHZhcigtLWNvbG9yLTcwMCk7XCI+JyArICdFcnJvcicgKyAnPC9zcGFuPicsXHJcbiAgICAgICAgaHRtbDogKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCA/IGNvbnRlbmlkb1BsdXNIdG1sIDogY29udGVuaWRvSHRtbCxcclxuICAgICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxyXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgY3VzdG9tQ2xhc3M6ICdteS1zd2FsJyxcclxuICAgICAgICBkaWRPcGVuOiAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoKG1lbnNhamUubGVuZ3RoICsgdHJhemEubGVuZ3RoKSA+IDEwMCkge1xyXG4gICAgICAgICAgICAvLyBBZ3JlZ2FyIGVzdGlsb3MgYWwgYm90w7NuIFwiVmVyIG3DoXNcIlxyXG4gICAgICAgICAgICBjb25zdCB2ZXJNYXNCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmVyTWFzQnV0dG9uJyk7XHJcbiAgICAgICAgICAgIHZlck1hc0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJywgJ2J0bi12ZXJtYXMnICk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBPa0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdPaycpO1xyXG4gICAgICAgICAgICBPa0J1dHRvbi5jbGFzc0xpc3QuYWRkKCdzd2FsMi1zdHlsZWQnLCAnc3dhbDItY2FuY2VsJyAsICdidG4tb2snKTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFncmVnYXIgdW4gZXZlbnRvIGFsIGJvdMOzbiBcIlZlciBtw6FzXCIgcGFyYSBtb3N0cmFyIHRvZG8gZWwgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGNsaWNcclxuICAgICAgICAgICAgdmVyTWFzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFN3YWwudXBkYXRlKHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IGNvbnRlbmlkb0h0bWwsXHJcbiAgICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5zbGVlcCg1MDApLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5yZXNpemVXaW5kb3dJRnJhbWUoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIE9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFN3YWwuY2xvc2UoKTtcclxuICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5zbGVlcCg1MDApLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5yZXNpemVXaW5kb3dJRnJhbWUoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIFN3YWwudXBkYXRlKHtcclxuICAgICAgICAgICAgICBodG1sOiBjb250ZW5pZG9IdG1sLFxyXG4gICAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgXHJcbiAgICB0aGlzLnV0aWxzU2VydmljZS5zbGVlcCg1MDApLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnJlc2l6ZVdpbmRvd0lGcmFtZSgpO1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
@@ -215,7 +215,6 @@ export class UtilsService {
215
215
  ifrm.style.height = tamanio + "px";
216
216
  }
217
217
  getDocHeight(doc) {
218
- console.log('getDocHeight');
219
218
  let navegador = this.obtenerNavegador().toLowerCase();
220
219
  var height = 0;
221
220
  doc = doc || document;
@@ -228,10 +227,8 @@ export class UtilsService {
228
227
  }
229
228
  }
230
229
  const swalPopup = doc.querySelector('.swal2-popup');
231
- console.log(swalPopup);
232
230
  if (swalPopup) {
233
- console.log(swalPopup.offsetHeight);
234
- height += swalPopup.offsetHeight;
231
+ height = swalPopup.offsetHeight + 40;
235
232
  }
236
233
  // console.warn('FCO : llama a getDocHeight');
237
234
  return height;
@@ -328,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
328
325
  type: Inject,
329
326
  args: [DOCUMENT]
330
327
  }] }] });
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUtIO0lBQXdEO0lBSHBFLDhCQUE4QixHQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsVUFBVSxHQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFbkwsWUFBb0IsYUFBNEIsRUFBNEIsUUFBa0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxP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QUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7UUFDekMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7dUdBNVZVLFlBQVksK0NBS21DLFFBQVE7MkdBTHZELFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTW9ELE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBSRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVI6IGFueVtdID0gWyc7J11cclxuICBwcml2YXRlIHJlc2VydmFkYXM6IGFueVtdID0gWydBTFRFUicsICdERUxFVEUnLCAnRFJPUCcsICdNT0RJRlknLCAnQ1JFQVRFJywgJ0RBVEFCQVNFJywgJ1RBQkxFJywgJ1VQREFURScsICdUUklHR0VSJywgJ0dSQU5UJywgJ1JFVk9LRScsICdDQUxMJywgJ0lOU0VSVCcsICdUUlVOQ0FURScsICdVU0UnLCAnLS0nXVxyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsKXtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIGdlbmVyYXJMbGF2ZSgpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IDMyO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFyYWN0ZXJzTGVuZ3RoOyBpKyspIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBnZW5lcmFyUGluKGNhbnRpZGFkOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW50aWRhZDsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjYW50aWRhZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHJpZ2h0cGFkKHN0ciwgbGVuZ3RoLCBjaGFyKSB7XHJcbiAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignTG9zIGFyZ3VtZW50b3MgZGViZW4gc2VyIHVuYSBjYWRlbmEgeSB1biBuw7ptZXJvLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHIubGVuZ3RoID49IGxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYXIgPSBjaGFyIHx8ICcgJzsgLy8gVXRpbGl6YSB1biBlc3BhY2lvIGNvbW8gY2Fyw6FjdGVyIGRlIHJlbGxlbm8gc2kgbm8gc2UgcHJvcG9yY2lvbmEgdW5vXHJcblxyXG4gICAgdmFyIHBhZExlbmd0aCA9IGxlbmd0aCAtIHN0ci5sZW5ndGg7XHJcbiAgICB2YXIgcGFkZGluZyA9IGNoYXIucmVwZWF0KHBhZExlbmd0aCk7XHJcblxyXG4gICAgcmV0dXJuIHN0ciArIHBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICB2YWxpZGFyQ2FtcG9OdW1lcmljbyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldDtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL1teMC05XS9naTtcclxuICAgIGlucHV0LnZhbHVlID0gaW5wdXQudmFsdWUucmVwbGFjZShyZWdleCwgJycpO1xyXG4gIH1cclxuXHJcbiAgaXNOb3RCbGFuayhzdHI6IHN0cmluZyB8IFN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzdHIgIT0gbnVsbCAmJiBzdHIudHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBpc0JsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHN0ciA9PSBudWxsIHx8IHN0cj8udHJpbSgpID09PSAnJztcclxuICB9XHJcblxyXG4gIHZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHZhbG9yKTogYm9vbGVhbiB7XHJcbiAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgbnVsbCBuaSB1bmRlZmluZWRcclxuICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1bmEgY2FkZW5hIHZhY8OtYSAoZW4gY2FzbyBkZSBzZXIgdW5hIGNhZGVuYSlcclxuICAgICAgaWYgKHR5cGVvZiB2YWxvciA9PT0gJ3N0cmluZycgJiYgdmFsb3IudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgdW4gYXJyZWdsbyB2YWPDrW8gKGVuIGNhc28gZGUgc2VyIHVuIGFycmVnbG8pXHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgLyppZiAodHlwZW9mIHZhbG9yID09PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cyh2YWxvcikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9Ki9cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjYXBpdGFsaXplRnVsbHkoaW5wdXRTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlucHV0U3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IHdvcmRzID0gaW5wdXRTdHJpbmcuc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IGNhcGl0YWxpemVkV29yZHMgPSB3b3Jkcy5tYXAod29yZCA9PiB7XHJcbiAgICAgIGlmICh3b3JkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXR1cm4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGNhcGl0YWxpemVkV29yZHMuam9pbignICcpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIG9yZGVuYXJTZWxlY3RJdGVtc0FsZmFiZXRpY2FtZW50ZShhcnJheURlT2JqZXRvczogYW55W10pOiBhbnlbXSB7XHJcbiAgICBhcnJheURlT2JqZXRvcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vbWJyZUEgPSBhLmxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnN0IG5vbWJyZUIgPSBiLmxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICBpZiAobm9tYnJlQSA8IG5vbWJyZUIpIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vbWJyZUEgPiBub21icmVCKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheURlT2JqZXRvcztcclxuICB9XHJcblxyXG4gIG9idGVuZXJQYXJhbWV0cm9EZVVSTCh1cmxTdHJpbmc6IHN0cmluZywgcGFyYW1ldHJvOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsU3RyaW5nKTtcclxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XHJcbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLmdldChwYXJhbWV0cm8pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhckVtYWlsKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHJvbkVtYWlsID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xyXG4gICAgcmV0dXJuIHBhdHJvbkVtYWlsLnRlc3QoZW1haWwpO1xyXG4gIH1cclxuXHJcbiAgb2J0ZW5lckJhc2UoKTogKHN0cmluZyB8IG51bGwpIHtcclxuXHJcbiAgICB2YXIgYmFzZVBvcnRhbDogc3RyaW5nID0gbnVsbDtcclxuICAgIHZhciBwYWdpbmFBY3R1YWw6IGFueSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmXHJcbiAgICB2YXIgdXJsID0gbmV3IFVSTChwYWdpbmFBY3R1YWwpO1xyXG4gICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XHJcbiAgICBpZiAocGFnaW5hQWN0dWFsLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1BvcnRhbFNhcmEnKSkge1xyXG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xyXG4gICAgICAgIGJhc2VQb3J0YWwgPSBtYXRjaC5ncm91cHM/LnNlZ3VyaWRhZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwYXJhbXM/LmdldCgndXNfaWQnKSkge1xyXG4gICAgICBwYWdpbmFBY3R1YWwgPSB3aW5kb3cucGFyZW50LmxvY2F0aW9uLmhyZWY7XHJcbiAgICAgIGZvciAodmFyIG1hdGNoIG9mIHBhZ2luYUFjdHVhbC5tYXRjaEFsbCgvKD88aW5pY2lvPi4qKVxcLyg/PHNlZ3VyaWRhZD4uKilcXC8oPzxzaXRpbz4uKilcXC8oPzxwYWdpbmE+LiopL2cpKSB7XHJcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoLmdyb3Vwcz8uc2VndXJpZGFkO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCByZWdleCA9IC9eLio/XFwvXFwvLio/XFwvKC4qPylcXC8vZzsgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgb2J0ZW5lciBsYSBwcmltZXJhIHBhcnRlIGRlIGxhIFVSTFxyXG4gICAgICBjb25zdCBtYXRjaCA9IEFycmF5LmZyb20ocGFnaW5hQWN0dWFsLm1hdGNoQWxsKHJlZ2V4KSk7XHJcblxyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0gJiYgbWF0Y2hbMF1bMV0pIHtcclxuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2hbMF1bMV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBiYXNlUG9ydGFsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGFyRXNwYWNpbyhjYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZWdleCA9IC9cXHMvOyAvLyBMYSBleHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBlc3BhY2lvcyBlbiBibGFuY29cclxuICAgIHJldHVybiByZWdleC50ZXN0KGNhcmFjdGVyKTsgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBlbCBjYXLDoWN0ZXIgZXMgdW4gZXNwYWNpbyBlbiBibGFuY29cclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGFyVGV4dG9TUUwodmFsb3I6IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIHNlbGVjdDogYm9vbGVhbiwgbG9uZ2l0dWQ6IG51bWJlciwgdmFsaWRhclNlbnRlbmNpYTogYm9vbGVhbik6IChzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAvLyBWZXJpZmljYSBvYmxpZ2F0b3JpZWRhZFxyXG4gICAgaWYgKG9ibGlnYXRvcmlvICYmICh2YWxvciA9PSBudWxsIHx8IHZhbG9yLnRyaW0oKS5sZW5ndGggPT0gMCB8fCB2YWxvciA9PSAnLS0nKSkge1xyXG4gICAgICByZXR1cm4gJ09ibGlnYXRvcmlvJztcclxuICAgIH1cclxuICAgIC8vIFZlcmlmaWNhIGxvbmdpdHVkIG3DoXhpbWFcclxuICAgIGlmIChsb25naXR1ZCA+IDApIHtcclxuICAgICAgaWYgKHZhbG9yICE9IG51bGwgJiYgdmFsb3IgIT0gJy0tJyAmJiB2YWxvci5sZW5ndGggPiBsb25naXR1ZCkge1xyXG4gICAgICAgIHJldHVybiAnTG9uZ2l0dWQgbWF4aW1hIGRlICcgKyBsb25naXR1ZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVhbGl6YSBsYXMgZGVtw6FzIHZhbGlkYWNpb24gc29sbyBlbiBlbCBjYXNvIGRlIHF1ZSBsYSBjYWRlbmEgU1FML3ZhbG9yIG5vIHNlYSB2YWNpYVxyXG4gICAgaWYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIGlmICh2YWxpZGFyU2VudGVuY2lhKSB7XHJcbiAgICAgIGlmIChzZWxlY3QpIHtcclxuICAgICAgICBpZiAoIXZhbG9yLnRvVXBwZXJDYXNlKCkuc3RhcnRzV2l0aCgnU0VMRUNUJykpIHtcclxuICAgICAgICAgIHJldHVybiAnRWwgdGV4dG8gZGViZSBpbmljaWFyIGNvbiBsYSBwYWxhYnJhIFNlbGVjdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWxvci50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdTRUxFQ1QnKSkge1xyXG4gICAgICAgICAgcmV0dXJuICdObyBwdWVkZSBjb250ZW5lciBsYSBwYWxhYnJhIFNlbGVjdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB2YXIgaW5kaWNlOiBudW1iZXI7XHJcbiAgICB2YXIgbWVuc2FqZTogc3RyaW5nO1xyXG4gICAgdGhpcy5SRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKHZhbG9yLmluY2x1ZGVzKGl0ZW0pKSB7XHJcbiAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVzZXJ2YWRhcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodmFsb3IudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhpdGVtLnRvVXBwZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgaW5kaWNlID0gKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5kZXhPZihpdGVtLnRvVXBwZXJDYXNlKCkpKTtcclxuICAgICAgICBpZiAoaW5kaWNlID09IDAgfHwgKHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGluZGljZSAtIDEpKSAmJiB0aGlzLnZhbGlkYXJFc3BhY2lvKHZhbG9yLmNoYXJBdChpdGVtLmxlbmd0aCArIGluZGljZSkpKSkge1xyXG4gICAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gbWVuc2FqZTtcclxuICB9XHJcblxyXG4gIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhclRleHRvQXJjaGl2b0phc3Blcih0ZXh0bzogc3RyaW5nKTogKHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh0ZXh0by50cmltKCkgPT0gJycgfHwgdGV4dG8gPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWNpb1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXERdLipcIikpIHtcclxuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gbnVtZXJvc1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXFNdLipcIikpIHtcclxuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gY2FyYWN0ZXJlcyBlbiBibGFuY29cIjtcclxuICAgIH1cclxuICAgIGlmICghdGV4dG8ubWF0Y2goXCJeW15cXFxcV10uKlwiKSkge1xyXG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBjYXJhY3RlcmVzIGVzcGVjaWFsZXNcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmVzaXplV2luZG93SUZyYW1lKCkge1xyXG5cdFx0aWYgKCB3aW5kb3cuZnJhbWVFbGVtZW50ICE9IG51bGwpIHtcclxuXHRcdFx0dGhpcy5yZXNpemVJZnJhbWVLZWVwUG9zaXRpb24od2luZG93LmZyYW1lRWxlbWVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIEZ1bmNpb24gcGFyYSBtYW50ZW5lciBsYSBwb3NpY2nDs24gYWN0dWFsIGVuIGVsIGlmcmFtZS5cclxuXHQgKiBAcGFyYW0gb2JqIGVzIHVuIFwiRnJhbWVFbGVtZW50XCJcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlc2l6ZUlmcmFtZUtlZXBQb3NpdGlvbihvYmopIHtcclxuXHRcdFxyXG5cdFx0dmFyIGlmcm0gPSBvYmo7XHJcblx0XHR2YXIgZG9jID0gaWZybS5jb250ZW50RG9jdW1lbnQgPyBpZnJtLmNvbnRlbnREb2N1bWVudDogaWZybS5jb250ZW50V2luZG93LmRvY3VtZW50O1xyXG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxyXG5cdFx0aWZybS5zdHlsZS5oZWlnaHQgPSB0YW1hbmlvICsgXCJweFwiO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZXREb2NIZWlnaHQoZG9jKXtcclxuICAgIGNvbnNvbGUubG9nKCdnZXREb2NIZWlnaHQnKVxyXG5cdFx0bGV0IG5hdmVnYWRvciA9IHRoaXMub2J0ZW5lck5hdmVnYWRvcigpLnRvTG93ZXJDYXNlKCk7XHJcblx0XHR2YXIgaGVpZ2h0ID0gMDtcclxuXHRcdGRvYyA9IGRvYyB8fCBkb2N1bWVudDtcclxuXHRcdHZhciBib2R5ID0gZG9jLmJvZHksIGh0bWwgPSBkb2MuZG9jdW1lbnRFbGVtZW50O1xyXG5cdFx0aGVpZ2h0ID0gTWF0aC5tYXgoIGJvZHkuc2Nyb2xsSGVpZ2h0LCBib2R5Lm9mZnNldEhlaWdodCwgXHJcblx0XHRodG1sLmNsaWVudEhlaWdodCwgaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwub2Zmc2V0SGVpZ2h0ICk7XHJcblx0XHRcclxuXHRcdGlmIChuYXZlZ2Fkb3IuaW5kZXhPZignZmlyZWZveCcpICE9PSAtMSl7XHJcblx0XHRcdGlmKGRvYy5mb3JtRGV0YWxsZUNvbnZvY2F0b3JpYSl7XHJcblx0XHRcdFx0bGV0IGNhbnRpZGFkTWlsZXMgPSBoZWlnaHQgLyAxMDAwO1xyXG5cdFx0XHRcdGhlaWdodCA9IGhlaWdodCArIDYwMCArIChjYW50aWRhZE1pbGVzKjQwKVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICBjb25zdCBzd2FsUG9wdXAgPSBkb2MucXVlcnlTZWxlY3RvcignLnN3YWwyLXBvcHVwJyk7XHJcbiAgICBjb25zb2xlLmxvZyhzd2FsUG9wdXApXHJcbiAgICBpZiAoc3dhbFBvcHVwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHN3YWxQb3B1cC5vZmZzZXRIZWlnaHQpXHJcbiAgICAgICAgaGVpZ2h0ICs9IHN3YWxQb3B1cC5vZmZzZXRIZWlnaHQ7XHJcbiAgICB9XHJcblx0XHRcclxuXHQvL1x0Y29uc29sZS53YXJuKCdGQ08gOiBsbGFtYSBhIGdldERvY0hlaWdodCcpO1xyXG5cdFxyXG5cdFx0cmV0dXJuIGhlaWdodDtcclxuXHR9XHJcblxyXG5cdG9idGVuZXJOYXZlZ2Fkb3IoKXtcclxuXHRcdHZhciB1YT0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdGVtLCBcclxuXHRcdE09IHVhLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWV8dHJpZGVudCg/PVxcLykpXFwvP1xccyooXFxkKykvaSkgfHwgW107XHJcblx0XHRpZigvdHJpZGVudC9pLnRlc3QoTVsxXSkpe1xyXG5cdFx0XHR0ZW09ICAvXFxicnZbIDpdKyhcXGQrKS9nLmV4ZWModWEpIHx8IFtdO1xyXG5cdFx0XHRyZXR1cm4gJ0lFICcrKHRlbVsxXSB8fCAnJyk7XHJcblx0XHR9XHJcblx0XHRpZihNWzFdPT09ICdDaHJvbWUnKXtcclxuXHRcdFx0dGVtPSB1YS5tYXRjaCgvXFxiKE9QUnxFZGdlKVxcLyhcXGQrKS8pO1xyXG5cdFx0XHRpZih0ZW0hPSBudWxsKSByZXR1cm4gdGVtLnNsaWNlKDEpLmpvaW4oJyAnKS5yZXBsYWNlKCdPUFInLCAnT3BlcmEnKTtcclxuXHRcdH1cclxuXHRcdE09IE1bMl0/IFtNWzFdLCBNWzJdXTogW25hdmlnYXRvci5hcHBOYW1lLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgJy0/J107XHJcblx0XHRpZigodGVtPSB1YS5tYXRjaCgvdmVyc2lvblxcLyhcXGQrKS9pKSkhPSBudWxsKSBNLnNwbGljZSgxLCAxLCB0ZW1bMV0pO1xyXG5cdFx0cmV0dXJuIE0uam9pbignICcpO1xyXG5cdH1cclxuXHJcbiAgb2J0ZW5lclVybEFwaSh1cmxhcGk/OiBzdHJpbmcgKTogc3RyaW5nIHtcclxuICAgIGlmICh1cmxhcGkpe1xyXG4gICAgICByZXR1cm4gdXJsYXBpO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoICh0aGlzLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykpIHtcclxuICAgICAgY2FzZSAnMSc6XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgICBjYXNlICcxMyc6XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaW1hbmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaW1hbmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgICBjYXNlICcxMCc6XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgICAgIC8vcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaSddID8gd2luZG93WydlbnYnXVsndXJsYXBpJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcclxuICAgICAgY2FzZSAnNzcnOlxyXG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gIHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcclxuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RlY29kZVRva2VuKCk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0SXRlbSgndG9rZW4nLCAnJyk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRocm93IGVycm9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbShrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyAga2V5KSA/PyBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBjYW1iaWFyVGVtYSh0ZW1hIDogKCd0ZW1hQ2xhcm8nIHwgJ3RlbWFPc2N1cm8nKSl7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyd0ZW1hJywgdGVtYSk7XHJcbiAgICBsZXQgbGlua1RlbWEgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1hQXBwJykgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgbGlua1RlbWEuaHJlZiA9IGAke3RlbWF9LmNzc2BcclxuICB9XHJcblxyXG4gIGNhbGN1bGFyUG9zaWNpb25EaWFsb2coKSB7XHJcbiAgICB2YXIgcGFyZW50V2luZG93OiBXaW5kb3cgPSB3aW5kb3cucGFyZW50O1xyXG4gICAgdmFyIG9iajogYW55ID0gd2luZG93LmZyYW1lRWxlbWVudCA7XHJcbiAgICB2YXIgaWZybSA9IG9iajtcclxuICAgIGlmIChpZnJtKSB7XHJcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHBhcmVudFdpbmRvdy5wYWdlWU9mZnNldCB8fCBwYXJlbnRXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBwYXJlbnRXaW5kb3cuZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHwgMDtcclxuICAgICAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIGlmIChkaWFsb2cpIHtcclxuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBwYXJlbnRXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodFxyXG4gICAgICAgIGNvbnN0IG1pdGFkU2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsSGVpZ2h0IC8gMjtcclxuICAgICAgICBjb25zdCBpbmljaW8gPSAtbWl0YWRTY3JvbGxIZWlnaHQ7XHJcbiAgICAgICAgZGlhbG9nLnN0eWxlLnRvcCA9IGAke2luaWNpbyArIDUwICsgKHNjcm9sbFRvcCApIH1weGA7ICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhclBhbGFicmEodGV4dG86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGxldHJhcyA9IC9eW2EtekEtWl1bMC05YS16QS1aXSokLztcclxuICAgIHJldHVybiBwbGV0cmFzLnRlc3QodGV4dG8pO1xyXG4gIH1cclxufSJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUtIO0lBQXdEO0lBSHBFLDhCQUE4QixHQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsVUFBVSxHQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFbkwsWUFBb0IsYUFBNEIsRUFBNEIsUUFBa0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxP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dUdBelZVLFlBQVksK0NBS21DLFFBQVE7MkdBTHZELFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTW9ELE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBSRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVI6IGFueVtdID0gWyc7J11cclxuICBwcml2YXRlIHJlc2VydmFkYXM6IGFueVtdID0gWydBTFRFUicsICdERUxFVEUnLCAnRFJPUCcsICdNT0RJRlknLCAnQ1JFQVRFJywgJ0RBVEFCQVNFJywgJ1RBQkxFJywgJ1VQREFURScsICdUUklHR0VSJywgJ0dSQU5UJywgJ1JFVk9LRScsICdDQUxMJywgJ0lOU0VSVCcsICdUUlVOQ0FURScsICdVU0UnLCAnLS0nXVxyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsKXtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIGdlbmVyYXJMbGF2ZSgpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IDMyO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFyYWN0ZXJzTGVuZ3RoOyBpKyspIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBnZW5lcmFyUGluKGNhbnRpZGFkOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYW50aWRhZDsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjYW50aWRhZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHJpZ2h0cGFkKHN0ciwgbGVuZ3RoLCBjaGFyKSB7XHJcbiAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignTG9zIGFyZ3VtZW50b3MgZGViZW4gc2VyIHVuYSBjYWRlbmEgeSB1biBuw7ptZXJvLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHIubGVuZ3RoID49IGxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYXIgPSBjaGFyIHx8ICcgJzsgLy8gVXRpbGl6YSB1biBlc3BhY2lvIGNvbW8gY2Fyw6FjdGVyIGRlIHJlbGxlbm8gc2kgbm8gc2UgcHJvcG9yY2lvbmEgdW5vXHJcblxyXG4gICAgdmFyIHBhZExlbmd0aCA9IGxlbmd0aCAtIHN0ci5sZW5ndGg7XHJcbiAgICB2YXIgcGFkZGluZyA9IGNoYXIucmVwZWF0KHBhZExlbmd0aCk7XHJcblxyXG4gICAgcmV0dXJuIHN0ciArIHBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICB2YWxpZGFyQ2FtcG9OdW1lcmljbyhldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldDtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL1teMC05XS9naTtcclxuICAgIGlucHV0LnZhbHVlID0gaW5wdXQudmFsdWUucmVwbGFjZShyZWdleCwgJycpO1xyXG4gIH1cclxuXHJcbiAgaXNOb3RCbGFuayhzdHI6IHN0cmluZyB8IFN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzdHIgIT0gbnVsbCAmJiBzdHIudHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBpc0JsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHN0ciA9PSBudWxsIHx8IHN0cj8udHJpbSgpID09PSAnJztcclxuICB9XHJcblxyXG4gIHZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHZhbG9yKTogYm9vbGVhbiB7XHJcbiAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgbnVsbCBuaSB1bmRlZmluZWRcclxuICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1bmEgY2FkZW5hIHZhY8OtYSAoZW4gY2FzbyBkZSBzZXIgdW5hIGNhZGVuYSlcclxuICAgICAgaWYgKHR5cGVvZiB2YWxvciA9PT0gJ3N0cmluZycgJiYgdmFsb3IudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgdW4gYXJyZWdsbyB2YWPDrW8gKGVuIGNhc28gZGUgc2VyIHVuIGFycmVnbG8pXHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgLyppZiAodHlwZW9mIHZhbG9yID09PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cyh2YWxvcikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9Ki9cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjYXBpdGFsaXplRnVsbHkoaW5wdXRTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlucHV0U3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IHdvcmRzID0gaW5wdXRTdHJpbmcuc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IGNhcGl0YWxpemVkV29yZHMgPSB3b3Jkcy5tYXAod29yZCA9PiB7XHJcbiAgICAgIGlmICh3b3JkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXR1cm4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGNhcGl0YWxpemVkV29yZHMuam9pbignICcpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIG9yZGVuYXJTZWxlY3RJdGVtc0FsZmFiZXRpY2FtZW50ZShhcnJheURlT2JqZXRvczogYW55W10pOiBhbnlbXSB7XHJcbiAgICBhcnJheURlT2JqZXRvcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vbWJyZUEgPSBhLmxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnN0IG5vbWJyZUIgPSBiLmxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICBpZiAobm9tYnJlQSA8IG5vbWJyZUIpIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vbWJyZUEgPiBub21icmVCKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheURlT2JqZXRvcztcclxuICB9XHJcblxyXG4gIG9idGVuZXJQYXJhbWV0cm9EZVVSTCh1cmxTdHJpbmc6IHN0cmluZywgcGFyYW1ldHJvOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsU3RyaW5nKTtcclxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XHJcbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLmdldChwYXJhbWV0cm8pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhckVtYWlsKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHJvbkVtYWlsID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xyXG4gICAgcmV0dXJuIHBhdHJvbkVtYWlsLnRlc3QoZW1haWwpO1xyXG4gIH1cclxuXHJcbiAgb2J0ZW5lckJhc2UoKTogKHN0cmluZyB8IG51bGwpIHtcclxuXHJcbiAgICB2YXIgYmFzZVBvcnRhbDogc3RyaW5nID0gbnVsbDtcclxuICAgIHZhciBwYWdpbmFBY3R1YWw6IGFueSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmXHJcbiAgICB2YXIgdXJsID0gbmV3IFVSTChwYWdpbmFBY3R1YWwpO1xyXG4gICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XHJcbiAgICBpZiAocGFnaW5hQWN0dWFsLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1BvcnRhbFNhcmEnKSkge1xyXG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xyXG4gICAgICAgIGJhc2VQb3J0YWwgPSBtYXRjaC5ncm91cHM/LnNlZ3VyaWRhZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChwYXJhbXM/LmdldCgndXNfaWQnKSkge1xyXG4gICAgICBwYWdpbmFBY3R1YWwgPSB3aW5kb3cucGFyZW50LmxvY2F0aW9uLmhyZWY7XHJcbiAgICAgIGZvciAodmFyIG1hdGNoIG9mIHBhZ2luYUFjdHVhbC5tYXRjaEFsbCgvKD88aW5pY2lvPi4qKVxcLyg/PHNlZ3VyaWRhZD4uKilcXC8oPzxzaXRpbz4uKilcXC8oPzxwYWdpbmE+LiopL2cpKSB7XHJcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoLmdyb3Vwcz8uc2VndXJpZGFkO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCByZWdleCA9IC9eLio/XFwvXFwvLio/XFwvKC4qPylcXC8vZzsgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgb2J0ZW5lciBsYSBwcmltZXJhIHBhcnRlIGRlIGxhIFVSTFxyXG4gICAgICBjb25zdCBtYXRjaCA9IEFycmF5LmZyb20ocGFnaW5hQWN0dWFsLm1hdGNoQWxsKHJlZ2V4KSk7XHJcblxyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0gJiYgbWF0Y2hbMF1bMV0pIHtcclxuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2hbMF1bMV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBiYXNlUG9ydGFsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGFyRXNwYWNpbyhjYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZWdleCA9IC9cXHMvOyAvLyBMYSBleHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBlc3BhY2lvcyBlbiBibGFuY29cclxuICAgIHJldHVybiByZWdleC50ZXN0KGNhcmFjdGVyKTsgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBlbCBjYXLDoWN0ZXIgZXMgdW4gZXNwYWNpbyBlbiBibGFuY29cclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGFyVGV4dG9TUUwodmFsb3I6IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIHNlbGVjdDogYm9vbGVhbiwgbG9uZ2l0dWQ6IG51bWJlciwgdmFsaWRhclNlbnRlbmNpYTogYm9vbGVhbik6IChzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAvLyBWZXJpZmljYSBvYmxpZ2F0b3JpZWRhZFxyXG4gICAgaWYgKG9ibGlnYXRvcmlvICYmICh2YWxvciA9PSBudWxsIHx8IHZhbG9yLnRyaW0oKS5sZW5ndGggPT0gMCB8fCB2YWxvciA9PSAnLS0nKSkge1xyXG4gICAgICByZXR1cm4gJ09ibGlnYXRvcmlvJztcclxuICAgIH1cclxuICAgIC8vIFZlcmlmaWNhIGxvbmdpdHVkIG3DoXhpbWFcclxuICAgIGlmIChsb25naXR1ZCA+IDApIHtcclxuICAgICAgaWYgKHZhbG9yICE9IG51bGwgJiYgdmFsb3IgIT0gJy0tJyAmJiB2YWxvci5sZW5ndGggPiBsb25naXR1ZCkge1xyXG4gICAgICAgIHJldHVybiAnTG9uZ2l0dWQgbWF4aW1hIGRlICcgKyBsb25naXR1ZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVhbGl6YSBsYXMgZGVtw6FzIHZhbGlkYWNpb24gc29sbyBlbiBlbCBjYXNvIGRlIHF1ZSBsYSBjYWRlbmEgU1FML3ZhbG9yIG5vIHNlYSB2YWNpYVxyXG4gICAgaWYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIGlmICh2YWxpZGFyU2VudGVuY2lhKSB7XHJcbiAgICAgIGlmIChzZWxlY3QpIHtcclxuICAgICAgICBpZiAoIXZhbG9yLnRvVXBwZXJDYXNlKCkuc3RhcnRzV2l0aCgnU0VMRUNUJykpIHtcclxuICAgICAgICAgIHJldHVybiAnRWwgdGV4dG8gZGViZSBpbmljaWFyIGNvbiBsYSBwYWxhYnJhIFNlbGVjdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWxvci50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdTRUxFQ1QnKSkge1xyXG4gICAgICAgICAgcmV0dXJuICdObyBwdWVkZSBjb250ZW5lciBsYSBwYWxhYnJhIFNlbGVjdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB2YXIgaW5kaWNlOiBudW1iZXI7XHJcbiAgICB2YXIgbWVuc2FqZTogc3RyaW5nO1xyXG4gICAgdGhpcy5SRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVIuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKHZhbG9yLmluY2x1ZGVzKGl0ZW0pKSB7XHJcbiAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVzZXJ2YWRhcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAodmFsb3IudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhpdGVtLnRvVXBwZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgaW5kaWNlID0gKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5kZXhPZihpdGVtLnRvVXBwZXJDYXNlKCkpKTtcclxuICAgICAgICBpZiAoaW5kaWNlID09IDAgfHwgKHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGluZGljZSAtIDEpKSAmJiB0aGlzLnZhbGlkYXJFc3BhY2lvKHZhbG9yLmNoYXJBdChpdGVtLmxlbmd0aCArIGluZGljZSkpKSkge1xyXG4gICAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gbWVuc2FqZTtcclxuICB9XHJcblxyXG4gIHNsZWVwKG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhclRleHRvQXJjaGl2b0phc3Blcih0ZXh0bzogc3RyaW5nKTogKHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh0ZXh0by50cmltKCkgPT0gJycgfHwgdGV4dG8gPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBlc3RhciB2YWNpb1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXERdLipcIikpIHtcclxuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gbnVtZXJvc1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXFNdLipcIikpIHtcclxuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gY2FyYWN0ZXJlcyBlbiBibGFuY29cIjtcclxuICAgIH1cclxuICAgIGlmICghdGV4dG8ubWF0Y2goXCJeW15cXFxcV10uKlwiKSkge1xyXG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBjYXJhY3RlcmVzIGVzcGVjaWFsZXNcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmVzaXplV2luZG93SUZyYW1lKCkge1xyXG5cdFx0aWYgKCB3aW5kb3cuZnJhbWVFbGVtZW50ICE9IG51bGwpIHtcclxuXHRcdFx0dGhpcy5yZXNpemVJZnJhbWVLZWVwUG9zaXRpb24od2luZG93LmZyYW1lRWxlbWVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC8qKlxyXG5cdCAqIEZ1bmNpb24gcGFyYSBtYW50ZW5lciBsYSBwb3NpY2nDs24gYWN0dWFsIGVuIGVsIGlmcmFtZS5cclxuXHQgKiBAcGFyYW0gb2JqIGVzIHVuIFwiRnJhbWVFbGVtZW50XCJcclxuXHQgKi9cclxuXHRwcml2YXRlIHJlc2l6ZUlmcmFtZUtlZXBQb3NpdGlvbihvYmopIHtcclxuXHRcdFxyXG5cdFx0dmFyIGlmcm0gPSBvYmo7XHJcblx0XHR2YXIgZG9jID0gaWZybS5jb250ZW50RG9jdW1lbnQgPyBpZnJtLmNvbnRlbnREb2N1bWVudDogaWZybS5jb250ZW50V2luZG93LmRvY3VtZW50O1xyXG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxyXG5cdFx0aWZybS5zdHlsZS5oZWlnaHQgPSB0YW1hbmlvICsgXCJweFwiO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZXREb2NIZWlnaHQoZG9jKXtcclxuXHRcdGxldCBuYXZlZ2Fkb3IgPSB0aGlzLm9idGVuZXJOYXZlZ2Fkb3IoKS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0dmFyIGhlaWdodCA9IDA7XHJcblx0XHRkb2MgPSBkb2MgfHwgZG9jdW1lbnQ7XHJcblx0XHR2YXIgYm9keSA9IGRvYy5ib2R5LCBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcclxuXHRcdGhlaWdodCA9IE1hdGgubWF4KCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5vZmZzZXRIZWlnaHQsIFxyXG5cdFx0aHRtbC5jbGllbnRIZWlnaHQsIGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLm9mZnNldEhlaWdodCApO1xyXG5cdFx0XHJcblx0XHRpZiAobmF2ZWdhZG9yLmluZGV4T2YoJ2ZpcmVmb3gnKSAhPT0gLTEpe1xyXG5cdFx0XHRpZihkb2MuZm9ybURldGFsbGVDb252b2NhdG9yaWEpe1xyXG5cdFx0XHRcdGxldCBjYW50aWRhZE1pbGVzID0gaGVpZ2h0IC8gMTAwMDtcclxuXHRcdFx0XHRoZWlnaHQgPSBoZWlnaHQgKyA2MDAgKyAoY2FudGlkYWRNaWxlcyo0MClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgY29uc3Qgc3dhbFBvcHVwID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJy5zd2FsMi1wb3B1cCcpO1xyXG4gICAgaWYgKHN3YWxQb3B1cCkge1xyXG4gICAgICAgIGhlaWdodCA9IHN3YWxQb3B1cC5vZmZzZXRIZWlnaHQgKyA0MDtcclxuICAgIH1cclxuXHRcdFxyXG5cdC8vXHRjb25zb2xlLndhcm4oJ0ZDTyA6IGxsYW1hIGEgZ2V0RG9jSGVpZ2h0Jyk7XHJcblx0XHJcblx0XHRyZXR1cm4gaGVpZ2h0O1xyXG5cdH1cclxuXHJcblx0b2J0ZW5lck5hdmVnYWRvcigpe1xyXG5cdFx0dmFyIHVhPSBuYXZpZ2F0b3IudXNlckFnZW50LCB0ZW0sIFxyXG5cdFx0TT0gdWEubWF0Y2goLyhvcGVyYXxjaHJvbWV8c2FmYXJpfGZpcmVmb3h8bXNpZXx0cmlkZW50KD89XFwvKSlcXC8/XFxzKihcXGQrKS9pKSB8fCBbXTtcclxuXHRcdGlmKC90cmlkZW50L2kudGVzdChNWzFdKSl7XHJcblx0XHRcdHRlbT0gIC9cXGJydlsgOl0rKFxcZCspL2cuZXhlYyh1YSkgfHwgW107XHJcblx0XHRcdHJldHVybiAnSUUgJysodGVtWzFdIHx8ICcnKTtcclxuXHRcdH1cclxuXHRcdGlmKE1bMV09PT0gJ0Nocm9tZScpe1xyXG5cdFx0XHR0ZW09IHVhLm1hdGNoKC9cXGIoT1BSfEVkZ2UpXFwvKFxcZCspLyk7XHJcblx0XHRcdGlmKHRlbSE9IG51bGwpIHJldHVybiB0ZW0uc2xpY2UoMSkuam9pbignICcpLnJlcGxhY2UoJ09QUicsICdPcGVyYScpO1xyXG5cdFx0fVxyXG5cdFx0TT0gTVsyXT8gW01bMV0sIE1bMl1dOiBbbmF2aWdhdG9yLmFwcE5hbWUsIG5hdmlnYXRvci5hcHBWZXJzaW9uLCAnLT8nXTtcclxuXHRcdGlmKCh0ZW09IHVhLm1hdGNoKC92ZXJzaW9uXFwvKFxcZCspL2kpKSE9IG51bGwpIE0uc3BsaWNlKDEsIDEsIHRlbVsxXSk7XHJcblx0XHRyZXR1cm4gTS5qb2luKCcgJyk7XHJcblx0fVxyXG5cclxuICBvYnRlbmVyVXJsQXBpKHVybGFwaT86IHN0cmluZyApOiBzdHJpbmcge1xyXG4gICAgaWYgKHVybGFwaSl7XHJcbiAgICAgIHJldHVybiB1cmxhcGk7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHRoaXMuZ2V0VG9rZW5LZXkoJ2FwbGljYWNpb24nKSkge1xyXG4gICAgICBjYXNlICcxJzpcclxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XHJcbiAgICAgIGNhc2UgJzEzJzpcclxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XHJcbiAgICAgIGNhc2UgJzEwJzpcclxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XHJcbiAgICAgICAgLy9yZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgICBjYXNlICc3Nyc6XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaW1hbmFhcHMnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaW1hbmFhcHMnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAgdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRva2VuS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xyXG4gICAgICByZXR1cm4gZGF0YVtrZXldLnRvU3RyaW5nKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGVjb2RlVG9rZW4oKTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRJdGVtKCd0b2tlbicsICcnKTtcclxuICAgICAgY29uc3QgZGF0YSA9IHRva2VuLnNwbGl0KCcuJylbMV07XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtKGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMub2J0ZW5lckJhc2UoKSArICdfJyArICBrZXkpID8/IGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIGNhbWJpYXJUZW1hKHRlbWEgOiAoJ3RlbWFDbGFybycgfCAndGVtYU9zY3VybycpKXtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMub2J0ZW5lckJhc2UoKSArICdfJyArJ3RlbWEnLCB0ZW1hKTtcclxuICAgIGxldCBsaW5rVGVtYSA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbWFBcHAnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICBsaW5rVGVtYS5ocmVmID0gYCR7dGVtYX0uY3NzYFxyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXJQb3NpY2lvbkRpYWxvZygpIHtcclxuICAgIHZhciBwYXJlbnRXaW5kb3c6IFdpbmRvdyA9IHdpbmRvdy5wYXJlbnQ7XHJcbiAgICB2YXIgb2JqOiBhbnkgPSB3aW5kb3cuZnJhbWVFbGVtZW50IDtcclxuICAgIHZhciBpZnJtID0gb2JqO1xyXG4gICAgaWYgKGlmcm0pIHtcclxuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gcGFyZW50V2luZG93LnBhZ2VZT2Zmc2V0IHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCAwO1xyXG4gICAgICBjb25zdCBkaWFsb2cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2cnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKGRpYWxvZykge1xyXG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XHJcbiAgICAgICAgY29uc3QgbWl0YWRTY3JvbGxIZWlnaHQgPSBzY3JvbGxIZWlnaHQgLyAyO1xyXG4gICAgICAgIGNvbnN0IGluaWNpbyA9IC1taXRhZFNjcm9sbEhlaWdodDtcclxuICAgICAgICBkaWFsb2cuc3R5bGUudG9wID0gYCR7aW5pY2lvICsgNTAgKyAoc2Nyb2xsVG9wICkgfXB4YDsgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWxpZGFyUGFsYWJyYSh0ZXh0bzogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwbGV0cmFzID0gL15bYS16QS1aXVswLTlhLXpBLVpdKiQvO1xyXG4gICAgcmV0dXJuIHBsZXRyYXMudGVzdCh0ZXh0byk7XHJcbiAgfVxyXG59Il19
@@ -1726,7 +1726,6 @@ class UtilsService {
1726
1726
  ifrm.style.height = tamanio + "px";
1727
1727
  }
1728
1728
  getDocHeight(doc) {
1729
- console.log('getDocHeight');
1730
1729
  let navegador = this.obtenerNavegador().toLowerCase();
1731
1730
  var height = 0;
1732
1731
  doc = doc || document;
@@ -1739,10 +1738,8 @@ class UtilsService {
1739
1738
  }
1740
1739
  }
1741
1740
  const swalPopup = doc.querySelector('.swal2-popup');
1742
- console.log(swalPopup);
1743
1741
  if (swalPopup) {
1744
- console.log(swalPopup.offsetHeight);
1745
- height += swalPopup.offsetHeight;
1742
+ height = swalPopup.offsetHeight + 40;
1746
1743
  }
1747
1744
  // console.warn('FCO : llama a getDocHeight');
1748
1745
  return height;
@@ -2352,7 +2349,7 @@ class ErrorIntecertorService {
2352
2349
  const OkButton = document.getElementById('Ok');
2353
2350
  OkButton.classList.add('swal2-styled', 'swal2-cancel', 'btn-ok');
2354
2351
  OkButton.addEventListener('click', () => {
2355
- // Swal.close();
2352
+ Swal.close();
2356
2353
  this.utilsService.sleep(500).then(data => {
2357
2354
  this.utilsService.resizeWindowIFrame();
2358
2355
  });
@@ -2401,7 +2398,7 @@ class ErrorIntecertorService {
2401
2398
  });
2402
2399
  });
2403
2400
  OkButton.addEventListener('click', () => {
2404
- //Swal.close();
2401
+ Swal.close();
2405
2402
  this.utilsService.sleep(500).then(data => {
2406
2403
  this.utilsService.resizeWindowIFrame();
2407
2404
  });