general-library-union 2.4.2 → 2.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,14 +2,17 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "ngx-cookie-service";
5
+ import * as i2 from "./auth.service";
5
6
  export class UtilsService {
6
7
  cookieService;
7
8
  document;
9
+ authService;
8
10
  RESERVADAS_SQL_NOPUEDECONTENER = [';'];
9
11
  reservadas = ['ALTER', 'DELETE', 'DROP', 'MODIFY', 'CREATE', 'DATABASE', 'TABLE', 'UPDATE', 'TRIGGER', 'GRANT', 'REVOKE', 'CALL', 'INSERT', 'TRUNCATE', 'USE', '--'];
10
- constructor(cookieService, document) {
12
+ constructor(cookieService, document, authService) {
11
13
  this.cookieService = cookieService;
12
14
  this.document = document;
15
+ this.authService = authService;
13
16
  }
14
17
  generarLlave() {
15
18
  let result = '';
@@ -290,7 +293,25 @@ export class UtilsService {
290
293
  let linkTema = this.document.getElementById('temaApp');
291
294
  linkTema.href = `${tema}.css`;
292
295
  }
293
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i1.CookieService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
296
+ calcularPosicionDialog() {
297
+ if (this.authService.getTokenKey('aplicacion') != '10') {
298
+ return;
299
+ }
300
+ var parentWindow = window.parent;
301
+ var obj = window.frameElement;
302
+ var ifrm = obj;
303
+ if (ifrm) {
304
+ const scrollTop = parentWindow.pageYOffset || parentWindow.document.documentElement.scrollTop || parentWindow.document.body.scrollTop || 0;
305
+ const dialog = document.querySelector('.p-dialog');
306
+ if (dialog) {
307
+ const scrollHeight = parentWindow.document.documentElement.scrollHeight;
308
+ const mitadScrollHeight = scrollHeight / 2;
309
+ const inicio = -mitadScrollHeight;
310
+ dialog.style.top = `${inicio + 100 + (scrollTop / 2) - (dialog.clientHeight / 2)}px`;
311
+ }
312
+ }
313
+ }
314
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i1.CookieService }, { token: DOCUMENT }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
294
315
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
295
316
  }
296
317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, decorators: [{
@@ -301,5 +322,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
301
322
  }], ctorParameters: () => [{ type: i1.CookieService }, { type: Document, decorators: [{
302
323
  type: Inject,
303
324
  args: [DOCUMENT]
304
- }] }] });
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUtIO0lBQXdEO0lBSHBFLDhCQUE4QixHQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsVUFBVSxHQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFbkwsWUFBb0IsYUFBNEIsRUFBNEIsUUFBa0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxP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RyxJQUFJLE1BQU0sQ0FBQTtJQUMvQixDQUFDO3VHQWxVVSxZQUFZLCtDQUttQyxRQUFROzJHQUx2RCxZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1vRCxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBSRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVI6IGFueVtdID0gWyc7J11cbiAgcHJpdmF0ZSByZXNlcnZhZGFzOiBhbnlbXSA9IFsnQUxURVInLCAnREVMRVRFJywgJ0RST1AnLCAnTU9ESUZZJywgJ0NSRUFURScsICdEQVRBQkFTRScsICdUQUJMRScsICdVUERBVEUnLCAnVFJJR0dFUicsICdHUkFOVCcsICdSRVZPS0UnLCAnQ0FMTCcsICdJTlNFUlQnLCAnVFJVTkNBVEUnLCAnVVNFJywgJy0tJ11cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50KXtcbiAgfVxuICBcbiAgcHVibGljIGdlbmVyYXJMbGF2ZSgpIHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IDMyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hhcmFjdGVyc0xlbmd0aDsgaSsrKSB7XG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2VuZXJhclBpbihjYW50aWRhZDogbnVtYmVyKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FudGlkYWQ7IGkrKykge1xuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhbnRpZGFkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcmlnaHRwYWQoc3RyLCBsZW5ndGgsIGNoYXIpIHtcbiAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0xvcyBhcmd1bWVudG9zIGRlYmVuIHNlciB1bmEgY2FkZW5hIHkgdW4gbsO6bWVyby4nKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyLmxlbmd0aCA+PSBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuXG4gICAgY2hhciA9IGNoYXIgfHwgJyAnOyAvLyBVdGlsaXphIHVuIGVzcGFjaW8gY29tbyBjYXLDoWN0ZXIgZGUgcmVsbGVubyBzaSBubyBzZSBwcm9wb3JjaW9uYSB1bm9cblxuICAgIHZhciBwYWRMZW5ndGggPSBsZW5ndGggLSBzdHIubGVuZ3RoO1xuICAgIHZhciBwYWRkaW5nID0gY2hhci5yZXBlYXQocGFkTGVuZ3RoKTtcblxuICAgIHJldHVybiBzdHIgKyBwYWRkaW5nO1xuICB9XG5cbiAgdmFsaWRhckNhbXBvTnVtZXJpY28oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgIGNvbnN0IHJlZ2V4ID0gL1teMC05XS9naTtcbiAgICBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnJlcGxhY2UocmVnZXgsICcnKTtcbiAgfVxuXG4gIGlzTm90Qmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciAhPSBudWxsICYmIHN0ci50cmltKCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGlzQmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciA9PSBudWxsIHx8IHN0cj8udHJpbSgpID09PSAnJztcbiAgfVxuXG4gIHZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHZhbG9yKTogYm9vbGVhbiB7XG4gICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIG51bGwgbmkgdW5kZWZpbmVkXG4gICAgaWYgKHZhbG9yICE9PSBudWxsICYmIHZhbG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1bmEgY2FkZW5hIHZhY8OtYSAoZW4gY2FzbyBkZSBzZXIgdW5hIGNhZGVuYSlcbiAgICAgIGlmICh0eXBlb2YgdmFsb3IgPT09ICdzdHJpbmcnICYmIHZhbG9yLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIHVuIGFycmVnbG8gdmFjw61vIChlbiBjYXNvIGRlIHNlciB1biBhcnJlZ2xvKVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsb3IpICYmIHZhbG9yLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvKmlmICh0eXBlb2YgdmFsb3IgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbG9yKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSovXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY2FwaXRhbGl6ZUZ1bGx5KGlucHV0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaW5wdXRTdHJpbmcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgd29yZHMgPSBpbnB1dFN0cmluZy5zcGxpdCgnICcpO1xuICAgIGNvbnN0IGNhcGl0YWxpemVkV29yZHMgPSB3b3Jkcy5tYXAod29yZCA9PiB7XG4gICAgICBpZiAod29yZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhcGl0YWxpemVkV29yZHMuam9pbignICcpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBvcmRlbmFyU2VsZWN0SXRlbXNBbGZhYmV0aWNhbWVudGUoYXJyYXlEZU9iamV0b3M6IGFueVtdKTogYW55W10ge1xuICAgIGFycmF5RGVPYmpldG9zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5vbWJyZUEgPSBhLmxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBub21icmVCID0gYi5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBpZiAobm9tYnJlQSA8IG5vbWJyZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKG5vbWJyZUEgPiBub21icmVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFycmF5RGVPYmpldG9zO1xuICB9XG5cbiAgb2J0ZW5lclBhcmFtZXRyb0RlVVJMKHVybFN0cmluZzogc3RyaW5nLCBwYXJhbWV0cm86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsU3RyaW5nKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zZWFyY2gpO1xuICAgIHJldHVybiBzZWFyY2hQYXJhbXMuZ2V0KHBhcmFtZXRybyk7XG4gIH1cblxuICB2YWxpZGFyRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhdHJvbkVtYWlsID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xuICAgIHJldHVybiBwYXRyb25FbWFpbC50ZXN0KGVtYWlsKTtcbiAgfVxuXG4gIG9idGVuZXJCYXNlKCk6IChzdHJpbmcgfCBudWxsKSB7XG5cbiAgICB2YXIgYmFzZVBvcnRhbDogc3RyaW5nID0gbnVsbDtcbiAgICB2YXIgcGFnaW5hQWN0dWFsOiBhbnkgPSB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIHZhciB1cmwgPSBuZXcgVVJMKHBhZ2luYUFjdHVhbCk7XG4gICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XG4gICAgaWYgKHBhZ2luYUFjdHVhbC50b1N0cmluZygpLmluY2x1ZGVzKCdQb3J0YWxTYXJhJykpIHtcbiAgICAgIGZvciAodmFyIG1hdGNoIG9mIHBhZ2luYUFjdHVhbC5tYXRjaEFsbCgvKD88aW5pY2lvPi4qKVxcLyg/PHNlZ3VyaWRhZD4uKilcXC8oPzxzaXRpbz4uKilcXC8oPzxwYWdpbmE+LiopL2cpKSB7XG4gICAgICAgIGJhc2VQb3J0YWwgPSBtYXRjaC5ncm91cHM/LnNlZ3VyaWRhZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhcmFtcz8uZ2V0KCd1c19pZCcpKSB7XG4gICAgICBwYWdpbmFBY3R1YWwgPSB3aW5kb3cucGFyZW50LmxvY2F0aW9uLmhyZWY7XG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2guZ3JvdXBzPy5zZWd1cmlkYWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL14uKj9cXC9cXC8uKj9cXC8oLio/KVxcLy9nOyAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBvYnRlbmVyIGxhIHByaW1lcmEgcGFydGUgZGUgbGEgVVJMXG4gICAgICBjb25zdCBtYXRjaCA9IEFycmF5LmZyb20ocGFnaW5hQWN0dWFsLm1hdGNoQWxsKHJlZ2V4KSk7XG5cbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFswXSAmJiBtYXRjaFswXVsxXSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2hbMF1bMV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBiYXNlUG9ydGFsO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGFyRXNwYWNpbyhjYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSAvXFxzLzsgLy8gTGEgZXhwcmVzacOzbiByZWd1bGFyIHBhcmEgZXNwYWNpb3MgZW4gYmxhbmNvXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoY2FyYWN0ZXIpOyAvLyBEZXZ1ZWx2ZSB0cnVlIHNpIGVsIGNhcsOhY3RlciBlcyB1biBlc3BhY2lvIGVuIGJsYW5jb1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXJUZXh0b1NRTCh2YWxvcjogc3RyaW5nLCBvYmxpZ2F0b3JpbzogYm9vbGVhbiwgc2VsZWN0OiBib29sZWFuLCBsb25naXR1ZDogbnVtYmVyLCB2YWxpZGFyU2VudGVuY2lhOiBib29sZWFuKTogKHN0cmluZyB8IG51bGwpIHtcbiAgICAvLyBWZXJpZmljYSBvYmxpZ2F0b3JpZWRhZFxuICAgIGlmIChvYmxpZ2F0b3JpbyAmJiAodmFsb3IgPT0gbnVsbCB8fCB2YWxvci50cmltKCkubGVuZ3RoID09IDAgfHwgdmFsb3IgPT0gJy0tJykpIHtcbiAgICAgIHJldHVybiAnT2JsaWdhdG9yaW8nO1xuICAgIH1cbiAgICAvLyBWZXJpZmljYSBsb25naXR1ZCBtw6F4aW1hXG4gICAgaWYgKGxvbmdpdHVkID4gMCkge1xuICAgICAgaWYgKHZhbG9yICE9IG51bGwgJiYgdmFsb3IgIT0gJy0tJyAmJiB2YWxvci5sZW5ndGggPiBsb25naXR1ZCkge1xuICAgICAgICByZXR1cm4gJ0xvbmdpdHVkIG1heGltYSBkZSAnICsgbG9uZ2l0dWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlYWxpemEgbGFzIGRlbcOhcyB2YWxpZGFjaW9uIHNvbG8gZW4gZWwgY2FzbyBkZSBxdWUgbGEgY2FkZW5hIFNRTC92YWxvciBubyBzZWEgdmFjaWFcbiAgICBpZiAodmFsb3IgPT0gbnVsbCB8fCB2YWxvci50cmltKCkubGVuZ3RoID09IDAgfHwgdmFsb3IgPT0gJy0tJylcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgaWYgKHZhbGlkYXJTZW50ZW5jaWEpIHtcbiAgICAgIGlmIChzZWxlY3QpIHtcbiAgICAgICAgaWYgKCF2YWxvci50b1VwcGVyQ2FzZSgpLnN0YXJ0c1dpdGgoJ1NFTEVDVCcpKSB7XG4gICAgICAgICAgcmV0dXJuICdFbCB0ZXh0byBkZWJlIGluaWNpYXIgY29uIGxhIHBhbGFicmEgU2VsZWN0JztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ1NFTEVDVCcpKSB7XG4gICAgICAgICAgcmV0dXJuICdObyBwdWVkZSBjb250ZW5lciBsYSBwYWxhYnJhIFNlbGVjdCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIGluZGljZTogbnVtYmVyO1xuICAgIHZhciBtZW5zYWplOiBzdHJpbmc7XG4gICAgdGhpcy5SRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVIuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh2YWxvci5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICBtZW5zYWplID0gJ05vIHB1ZWRlIGNvbnRlbmVyICcgKyBpdGVtO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5yZXNlcnZhZGFzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsb3IudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhpdGVtLnRvVXBwZXJDYXNlKCkpKSB7XG4gICAgICAgIGluZGljZSA9ICh2YWxvci50b1VwcGVyQ2FzZSgpLmluZGV4T2YoaXRlbS50b1VwcGVyQ2FzZSgpKSk7XG4gICAgICAgIGlmIChpbmRpY2UgPT0gMCB8fCAodGhpcy52YWxpZGFyRXNwYWNpbyh2YWxvci5jaGFyQXQoaW5kaWNlIC0gMSkpICYmIHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGl0ZW0ubGVuZ3RoICsgaW5kaWNlKSkpKSB7XG4gICAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIG1lbnNhamU7XG4gIH1cblxuICBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG4gIH1cblxuICB2YWxpZGFyVGV4dG9BcmNoaXZvSmFzcGVyKHRleHRvOiBzdHJpbmcpOiAoc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0ZXh0by50cmltKCkgPT0gJycgfHwgdGV4dG8gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgZXN0YXIgdmFjaW9cIjtcbiAgICB9XG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXERdLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIG51bWVyb3NcIjtcbiAgICB9XG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXFNdLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIGNhcmFjdGVyZXMgZW4gYmxhbmNvXCI7XG4gICAgfVxuICAgIGlmICghdGV4dG8ubWF0Y2goXCJeW15cXFxcV10uKlwiKSkge1xuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gY2FyYWN0ZXJlcyBlc3BlY2lhbGVzXCI7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVzaXplV2luZG93SUZyYW1lKCkge1xuXHRcdGlmICggd2luZG93LmZyYW1lRWxlbWVudCAhPSBudWxsKSB7XG5cdFx0XHR0aGlzLnJlc2l6ZUlmcmFtZUtlZXBQb3NpdGlvbih3aW5kb3cuZnJhbWVFbGVtZW50KTtcblx0XHR9XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBGdW5jaW9uIHBhcmEgbWFudGVuZXIgbGEgcG9zaWNpw7NuIGFjdHVhbCBlbiBlbCBpZnJhbWUuXG5cdCAqIEBwYXJhbSBvYmogZXMgdW4gXCJGcmFtZUVsZW1lbnRcIlxuXHQgKi9cblx0cHJpdmF0ZSByZXNpemVJZnJhbWVLZWVwUG9zaXRpb24ob2JqKSB7XG5cdFx0XG5cdFx0dmFyIGlmcm0gPSBvYmo7XG5cdFx0dmFyIGRvYyA9IGlmcm0uY29udGVudERvY3VtZW50ID8gaWZybS5jb250ZW50RG9jdW1lbnQ6IGlmcm0uY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgICB2YXIgdGFtYW5pbzogbnVtYmVyPSAgdGhpcy5nZXREb2NIZWlnaHQoIGRvYyApICArIDQwXG5cdFx0aWZybS5zdHlsZS5oZWlnaHQgPSB0YW1hbmlvICsgXCJweFwiO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXREb2NIZWlnaHQoZG9jKXtcblx0XG5cdFx0bGV0IG5hdmVnYWRvciA9IHRoaXMub2J0ZW5lck5hdmVnYWRvcigpLnRvTG93ZXJDYXNlKCk7XG5cdFx0dmFyIGhlaWdodCA9IDA7XG5cdFx0ZG9jID0gZG9jIHx8IGRvY3VtZW50O1xuXHRcdHZhciBib2R5ID0gZG9jLmJvZHksIGh0bWwgPSBkb2MuZG9jdW1lbnRFbGVtZW50O1xuXHRcdGhlaWdodCA9IE1hdGgubWF4KCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5vZmZzZXRIZWlnaHQsIFxuXHRcdGh0bWwuY2xpZW50SGVpZ2h0LCBodG1sLnNjcm9sbEhlaWdodCwgaHRtbC5vZmZzZXRIZWlnaHQgKTtcblx0XHRcblx0XHRpZiAobmF2ZWdhZG9yLmluZGV4T2YoJ2ZpcmVmb3gnKSAhPT0gLTEpe1xuXHRcdFx0aWYoZG9jLmZvcm1EZXRhbGxlQ29udm9jYXRvcmlhKXtcblx0XHRcdFx0bGV0IGNhbnRpZGFkTWlsZXMgPSBoZWlnaHQgLyAxMDAwO1xuXHRcdFx0XHRoZWlnaHQgPSBoZWlnaHQgKyA2MDAgKyAoY2FudGlkYWRNaWxlcyo0MClcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdC8vXHRjb25zb2xlLndhcm4oJ0ZDTyA6IGxsYW1hIGEgZ2V0RG9jSGVpZ2h0Jyk7XG5cdFxuXHRcdHJldHVybiBoZWlnaHQ7XG5cdH1cblxuXHRvYnRlbmVyTmF2ZWdhZG9yKCl7XG5cdFx0dmFyIHVhPSBuYXZpZ2F0b3IudXNlckFnZW50LCB0ZW0sIFxuXHRcdE09IHVhLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWV8dHJpZGVudCg/PVxcLykpXFwvP1xccyooXFxkKykvaSkgfHwgW107XG5cdFx0aWYoL3RyaWRlbnQvaS50ZXN0KE1bMV0pKXtcblx0XHRcdHRlbT0gIC9cXGJydlsgOl0rKFxcZCspL2cuZXhlYyh1YSkgfHwgW107XG5cdFx0XHRyZXR1cm4gJ0lFICcrKHRlbVsxXSB8fCAnJyk7XG5cdFx0fVxuXHRcdGlmKE1bMV09PT0gJ0Nocm9tZScpe1xuXHRcdFx0dGVtPSB1YS5tYXRjaCgvXFxiKE9QUnxFZGdlKVxcLyhcXGQrKS8pO1xuXHRcdFx0aWYodGVtIT0gbnVsbCkgcmV0dXJuIHRlbS5zbGljZSgxKS5qb2luKCcgJykucmVwbGFjZSgnT1BSJywgJ09wZXJhJyk7XG5cdFx0fVxuXHRcdE09IE1bMl0/IFtNWzFdLCBNWzJdXTogW25hdmlnYXRvci5hcHBOYW1lLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgJy0/J107XG5cdFx0aWYoKHRlbT0gdWEubWF0Y2goL3ZlcnNpb25cXC8oXFxkKykvaSkpIT0gbnVsbCkgTS5zcGxpY2UoMSwgMSwgdGVtWzFdKTtcblx0XHRyZXR1cm4gTS5qb2luKCcgJyk7XG5cdH1cblxuICBvYnRlbmVyVXJsQXBpKHVybGFwaT86IHN0cmluZyApOiBzdHJpbmcge1xuICAgIGlmICh1cmxhcGkpe1xuICAgICAgcmV0dXJuIHVybGFwaTtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykpIHtcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICcxMyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGNhc2UgJzEwJzpcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgICAvL3JldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICc3Nyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAgdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlY29kZVRva2VuKCk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRJdGVtKCd0b2tlbicsICcnKTtcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMub2J0ZW5lckJhc2UoKSArICdfJyArICBrZXkpID8/IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIGNhbWJpYXJUZW1hKHRlbWEgOiAoJ3RlbWFDbGFybycgfCAndGVtYU9zY3VybycpKXtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyd0ZW1hJywgdGVtYSk7XG4gICAgbGV0IGxpbmtUZW1hID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtYUFwcCcpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICBsaW5rVGVtYS5ocmVmID0gYCR7dGVtYX0uY3NzYFxuICB9XG59Il19
325
+ }] }, { type: i2.AuthService }] });
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFLSDtJQUF3RDtJQUE0QjtJQUhoRyw4QkFBOEIsR0FBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLFVBQVUsR0FBVSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBRW5MLFlBQW9CLGFBQTRCLEVBQTRCLFFBQWtCLEVBQVUsV0FBd0I7UUFBNUcsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQ2hJLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLFVBQVUsR0FBRyxnRUFBZ0UsQ0FBQztRQUNwRixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUs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eEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1vRCxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcblxuICBwcml2YXRlIFJFU0VSVkFEQVNfU1FMX05PUFVFREVDT05URU5FUjogYW55W10gPSBbJzsnXVxuICBwcml2YXRlIHJlc2VydmFkYXM6IGFueVtdID0gWydBTFRFUicsICdERUxFVEUnLCAnRFJPUCcsICdNT0RJRlknLCAnQ1JFQVRFJywgJ0RBVEFCQVNFJywgJ1RBQkxFJywgJ1VQREFURScsICdUUklHR0VSJywgJ0dSQU5UJywgJ1JFVk9LRScsICdDQUxMJywgJ0lOU0VSVCcsICdUUlVOQ0FURScsICdVU0UnLCAnLS0nXVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSwgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKXtcbiAgfVxuICBcbiAgcHVibGljIGdlbmVyYXJMbGF2ZSgpIHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IDMyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hhcmFjdGVyc0xlbmd0aDsgaSsrKSB7XG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2VuZXJhclBpbihjYW50aWRhZDogbnVtYmVyKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FudGlkYWQ7IGkrKykge1xuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNhbnRpZGFkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcmlnaHRwYWQoc3RyLCBsZW5ndGgsIGNoYXIpIHtcbiAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIGxlbmd0aCAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0xvcyBhcmd1bWVudG9zIGRlYmVuIHNlciB1bmEgY2FkZW5hIHkgdW4gbsO6bWVyby4nKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyLmxlbmd0aCA+PSBsZW5ndGgpIHtcbiAgICAgIHJldHVybiBzdHI7XG4gICAgfVxuXG4gICAgY2hhciA9IGNoYXIgfHwgJyAnOyAvLyBVdGlsaXphIHVuIGVzcGFjaW8gY29tbyBjYXLDoWN0ZXIgZGUgcmVsbGVubyBzaSBubyBzZSBwcm9wb3JjaW9uYSB1bm9cblxuICAgIHZhciBwYWRMZW5ndGggPSBsZW5ndGggLSBzdHIubGVuZ3RoO1xuICAgIHZhciBwYWRkaW5nID0gY2hhci5yZXBlYXQocGFkTGVuZ3RoKTtcblxuICAgIHJldHVybiBzdHIgKyBwYWRkaW5nO1xuICB9XG5cbiAgdmFsaWRhckNhbXBvTnVtZXJpY28oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgIGNvbnN0IHJlZ2V4ID0gL1teMC05XS9naTtcbiAgICBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnJlcGxhY2UocmVnZXgsICcnKTtcbiAgfVxuXG4gIGlzTm90Qmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciAhPSBudWxsICYmIHN0ci50cmltKCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGlzQmxhbmsoc3RyOiBzdHJpbmcgfCBTdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0ciA9PSBudWxsIHx8IHN0cj8udHJpbSgpID09PSAnJztcbiAgfVxuXG4gIHZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHZhbG9yKTogYm9vbGVhbiB7XG4gICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIG51bGwgbmkgdW5kZWZpbmVkXG4gICAgaWYgKHZhbG9yICE9PSBudWxsICYmIHZhbG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1bmEgY2FkZW5hIHZhY8OtYSAoZW4gY2FzbyBkZSBzZXIgdW5hIGNhZGVuYSlcbiAgICAgIGlmICh0eXBlb2YgdmFsb3IgPT09ICdzdHJpbmcnICYmIHZhbG9yLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIHZhbG9yIG5vIGVzIHVuIGFycmVnbG8gdmFjw61vIChlbiBjYXNvIGRlIHNlciB1biBhcnJlZ2xvKVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsb3IpICYmIHZhbG9yLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvKmlmICh0eXBlb2YgdmFsb3IgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbG9yKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSovXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY2FwaXRhbGl6ZUZ1bGx5KGlucHV0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghaW5wdXRTdHJpbmcpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgd29yZHMgPSBpbnB1dFN0cmluZy5zcGxpdCgnICcpO1xuICAgIGNvbnN0IGNhcGl0YWxpemVkV29yZHMgPSB3b3Jkcy5tYXAod29yZCA9PiB7XG4gICAgICBpZiAod29yZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgd29yZC5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhcGl0YWxpemVkV29yZHMuam9pbignICcpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBvcmRlbmFyU2VsZWN0SXRlbXNBbGZhYmV0aWNhbWVudGUoYXJyYXlEZU9iamV0b3M6IGFueVtdKTogYW55W10ge1xuICAgIGFycmF5RGVPYmpldG9zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5vbWJyZUEgPSBhLmxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBub21icmVCID0gYi5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBpZiAobm9tYnJlQSA8IG5vbWJyZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgaWYgKG5vbWJyZUEgPiBub21icmVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFycmF5RGVPYmpldG9zO1xuICB9XG5cbiAgb2J0ZW5lclBhcmFtZXRyb0RlVVJMKHVybFN0cmluZzogc3RyaW5nLCBwYXJhbWV0cm86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodXJsU3RyaW5nKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zZWFyY2gpO1xuICAgIHJldHVybiBzZWFyY2hQYXJhbXMuZ2V0KHBhcmFtZXRybyk7XG4gIH1cblxuICB2YWxpZGFyRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhdHJvbkVtYWlsID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xuICAgIHJldHVybiBwYXRyb25FbWFpbC50ZXN0KGVtYWlsKTtcbiAgfVxuXG4gIG9idGVuZXJCYXNlKCk6IChzdHJpbmcgfCBudWxsKSB7XG5cbiAgICB2YXIgYmFzZVBvcnRhbDogc3RyaW5nID0gbnVsbDtcbiAgICB2YXIgcGFnaW5hQWN0dWFsOiBhbnkgPSB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIHZhciB1cmwgPSBuZXcgVVJMKHBhZ2luYUFjdHVhbCk7XG4gICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7XG4gICAgaWYgKHBhZ2luYUFjdHVhbC50b1N0cmluZygpLmluY2x1ZGVzKCdQb3J0YWxTYXJhJykpIHtcbiAgICAgIGZvciAodmFyIG1hdGNoIG9mIHBhZ2luYUFjdHVhbC5tYXRjaEFsbCgvKD88aW5pY2lvPi4qKVxcLyg/PHNlZ3VyaWRhZD4uKilcXC8oPzxzaXRpbz4uKilcXC8oPzxwYWdpbmE+LiopL2cpKSB7XG4gICAgICAgIGJhc2VQb3J0YWwgPSBtYXRjaC5ncm91cHM/LnNlZ3VyaWRhZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhcmFtcz8uZ2V0KCd1c19pZCcpKSB7XG4gICAgICBwYWdpbmFBY3R1YWwgPSB3aW5kb3cucGFyZW50LmxvY2F0aW9uLmhyZWY7XG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2guZ3JvdXBzPy5zZWd1cmlkYWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL14uKj9cXC9cXC8uKj9cXC8oLio/KVxcLy9nOyAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBvYnRlbmVyIGxhIHByaW1lcmEgcGFydGUgZGUgbGEgVVJMXG4gICAgICBjb25zdCBtYXRjaCA9IEFycmF5LmZyb20ocGFnaW5hQWN0dWFsLm1hdGNoQWxsKHJlZ2V4KSk7XG5cbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFswXSAmJiBtYXRjaFswXVsxXSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2hbMF1bMV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBiYXNlUG9ydGFsO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGFyRXNwYWNpbyhjYXJhY3Rlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSAvXFxzLzsgLy8gTGEgZXhwcmVzacOzbiByZWd1bGFyIHBhcmEgZXNwYWNpb3MgZW4gYmxhbmNvXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoY2FyYWN0ZXIpOyAvLyBEZXZ1ZWx2ZSB0cnVlIHNpIGVsIGNhcsOhY3RlciBlcyB1biBlc3BhY2lvIGVuIGJsYW5jb1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXJUZXh0b1NRTCh2YWxvcjogc3RyaW5nLCBvYmxpZ2F0b3JpbzogYm9vbGVhbiwgc2VsZWN0OiBib29sZWFuLCBsb25naXR1ZDogbnVtYmVyLCB2YWxpZGFyU2VudGVuY2lhOiBib29sZWFuKTogKHN0cmluZyB8IG51bGwpIHtcbiAgICAvLyBWZXJpZmljYSBvYmxpZ2F0b3JpZWRhZFxuICAgIGlmIChvYmxpZ2F0b3JpbyAmJiAodmFsb3IgPT0gbnVsbCB8fCB2YWxvci50cmltKCkubGVuZ3RoID09IDAgfHwgdmFsb3IgPT0gJy0tJykpIHtcbiAgICAgIHJldHVybiAnT2JsaWdhdG9yaW8nO1xuICAgIH1cbiAgICAvLyBWZXJpZmljYSBsb25naXR1ZCBtw6F4aW1hXG4gICAgaWYgKGxvbmdpdHVkID4gMCkge1xuICAgICAgaWYgKHZhbG9yICE9IG51bGwgJiYgdmFsb3IgIT0gJy0tJyAmJiB2YWxvci5sZW5ndGggPiBsb25naXR1ZCkge1xuICAgICAgICByZXR1cm4gJ0xvbmdpdHVkIG1heGltYSBkZSAnICsgbG9uZ2l0dWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlYWxpemEgbGFzIGRlbcOhcyB2YWxpZGFjaW9uIHNvbG8gZW4gZWwgY2FzbyBkZSBxdWUgbGEgY2FkZW5hIFNRTC92YWxvciBubyBzZWEgdmFjaWFcbiAgICBpZiAodmFsb3IgPT0gbnVsbCB8fCB2YWxvci50cmltKCkubGVuZ3RoID09IDAgfHwgdmFsb3IgPT0gJy0tJylcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgaWYgKHZhbGlkYXJTZW50ZW5jaWEpIHtcbiAgICAgIGlmIChzZWxlY3QpIHtcbiAgICAgICAgaWYgKCF2YWxvci50b1VwcGVyQ2FzZSgpLnN0YXJ0c1dpdGgoJ1NFTEVDVCcpKSB7XG4gICAgICAgICAgcmV0dXJuICdFbCB0ZXh0byBkZWJlIGluaWNpYXIgY29uIGxhIHBhbGFicmEgU2VsZWN0JztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ1NFTEVDVCcpKSB7XG4gICAgICAgICAgcmV0dXJuICdObyBwdWVkZSBjb250ZW5lciBsYSBwYWxhYnJhIFNlbGVjdCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIGluZGljZTogbnVtYmVyO1xuICAgIHZhciBtZW5zYWplOiBzdHJpbmc7XG4gICAgdGhpcy5SRVNFUlZBREFTX1NRTF9OT1BVRURFQ09OVEVORVIuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICh2YWxvci5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICBtZW5zYWplID0gJ05vIHB1ZWRlIGNvbnRlbmVyICcgKyBpdGVtO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5yZXNlcnZhZGFzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsb3IudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhpdGVtLnRvVXBwZXJDYXNlKCkpKSB7XG4gICAgICAgIGluZGljZSA9ICh2YWxvci50b1VwcGVyQ2FzZSgpLmluZGV4T2YoaXRlbS50b1VwcGVyQ2FzZSgpKSk7XG4gICAgICAgIGlmIChpbmRpY2UgPT0gMCB8fCAodGhpcy52YWxpZGFyRXNwYWNpbyh2YWxvci5jaGFyQXQoaW5kaWNlIC0gMSkpICYmIHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGl0ZW0ubGVuZ3RoICsgaW5kaWNlKSkpKSB7XG4gICAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIG1lbnNhamU7XG4gIH1cblxuICBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG4gIH1cblxuICB2YWxpZGFyVGV4dG9BcmNoaXZvSmFzcGVyKHRleHRvOiBzdHJpbmcpOiAoc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0ZXh0by50cmltKCkgPT0gJycgfHwgdGV4dG8gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgZXN0YXIgdmFjaW9cIjtcbiAgICB9XG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXERdLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIG51bWVyb3NcIjtcbiAgICB9XG4gICAgaWYgKHRleHRvLm1hdGNoKFwiXlteXFxcXFNdLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIGNhcmFjdGVyZXMgZW4gYmxhbmNvXCI7XG4gICAgfVxuICAgIGlmICghdGV4dG8ubWF0Y2goXCJeW15cXFxcV10uKlwiKSkge1xuICAgICAgcmV0dXJuIFwiRWwgY2FtcG8gbm8gcHVlZGUgaW5pY2lhciBjb24gY2FyYWN0ZXJlcyBlc3BlY2lhbGVzXCI7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVzaXplV2luZG93SUZyYW1lKCkge1xuXHRcdGlmICggd2luZG93LmZyYW1lRWxlbWVudCAhPSBudWxsKSB7XG5cdFx0XHR0aGlzLnJlc2l6ZUlmcmFtZUtlZXBQb3NpdGlvbih3aW5kb3cuZnJhbWVFbGVtZW50KTtcblx0XHR9XG5cdH1cblx0XG5cdC8qKlxuXHQgKiBGdW5jaW9uIHBhcmEgbWFudGVuZXIgbGEgcG9zaWNpw7NuIGFjdHVhbCBlbiBlbCBpZnJhbWUuXG5cdCAqIEBwYXJhbSBvYmogZXMgdW4gXCJGcmFtZUVsZW1lbnRcIlxuXHQgKi9cblx0cHJpdmF0ZSByZXNpemVJZnJhbWVLZWVwUG9zaXRpb24ob2JqKSB7XG5cdFx0XG5cdFx0dmFyIGlmcm0gPSBvYmo7XG5cdFx0dmFyIGRvYyA9IGlmcm0uY29udGVudERvY3VtZW50ID8gaWZybS5jb250ZW50RG9jdW1lbnQ6IGlmcm0uY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgICB2YXIgdGFtYW5pbzogbnVtYmVyPSAgdGhpcy5nZXREb2NIZWlnaHQoIGRvYyApICArIDQwXG5cdFx0aWZybS5zdHlsZS5oZWlnaHQgPSB0YW1hbmlvICsgXCJweFwiO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXREb2NIZWlnaHQoZG9jKXtcblx0XG5cdFx0bGV0IG5hdmVnYWRvciA9IHRoaXMub2J0ZW5lck5hdmVnYWRvcigpLnRvTG93ZXJDYXNlKCk7XG5cdFx0dmFyIGhlaWdodCA9IDA7XG5cdFx0ZG9jID0gZG9jIHx8IGRvY3VtZW50O1xuXHRcdHZhciBib2R5ID0gZG9jLmJvZHksIGh0bWwgPSBkb2MuZG9jdW1lbnRFbGVtZW50O1xuXHRcdGhlaWdodCA9IE1hdGgubWF4KCBib2R5LnNjcm9sbEhlaWdodCwgYm9keS5vZmZzZXRIZWlnaHQsIFxuXHRcdGh0bWwuY2xpZW50SGVpZ2h0LCBodG1sLnNjcm9sbEhlaWdodCwgaHRtbC5vZmZzZXRIZWlnaHQgKTtcblx0XHRcblx0XHRpZiAobmF2ZWdhZG9yLmluZGV4T2YoJ2ZpcmVmb3gnKSAhPT0gLTEpe1xuXHRcdFx0aWYoZG9jLmZvcm1EZXRhbGxlQ29udm9jYXRvcmlhKXtcblx0XHRcdFx0bGV0IGNhbnRpZGFkTWlsZXMgPSBoZWlnaHQgLyAxMDAwO1xuXHRcdFx0XHRoZWlnaHQgPSBoZWlnaHQgKyA2MDAgKyAoY2FudGlkYWRNaWxlcyo0MClcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdC8vXHRjb25zb2xlLndhcm4oJ0ZDTyA6IGxsYW1hIGEgZ2V0RG9jSGVpZ2h0Jyk7XG5cdFxuXHRcdHJldHVybiBoZWlnaHQ7XG5cdH1cblxuXHRvYnRlbmVyTmF2ZWdhZG9yKCl7XG5cdFx0dmFyIHVhPSBuYXZpZ2F0b3IudXNlckFnZW50LCB0ZW0sIFxuXHRcdE09IHVhLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWV8dHJpZGVudCg/PVxcLykpXFwvP1xccyooXFxkKykvaSkgfHwgW107XG5cdFx0aWYoL3RyaWRlbnQvaS50ZXN0KE1bMV0pKXtcblx0XHRcdHRlbT0gIC9cXGJydlsgOl0rKFxcZCspL2cuZXhlYyh1YSkgfHwgW107XG5cdFx0XHRyZXR1cm4gJ0lFICcrKHRlbVsxXSB8fCAnJyk7XG5cdFx0fVxuXHRcdGlmKE1bMV09PT0gJ0Nocm9tZScpe1xuXHRcdFx0dGVtPSB1YS5tYXRjaCgvXFxiKE9QUnxFZGdlKVxcLyhcXGQrKS8pO1xuXHRcdFx0aWYodGVtIT0gbnVsbCkgcmV0dXJuIHRlbS5zbGljZSgxKS5qb2luKCcgJykucmVwbGFjZSgnT1BSJywgJ09wZXJhJyk7XG5cdFx0fVxuXHRcdE09IE1bMl0/IFtNWzFdLCBNWzJdXTogW25hdmlnYXRvci5hcHBOYW1lLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgJy0/J107XG5cdFx0aWYoKHRlbT0gdWEubWF0Y2goL3ZlcnNpb25cXC8oXFxkKykvaSkpIT0gbnVsbCkgTS5zcGxpY2UoMSwgMSwgdGVtWzFdKTtcblx0XHRyZXR1cm4gTS5qb2luKCcgJyk7XG5cdH1cblxuICBvYnRlbmVyVXJsQXBpKHVybGFwaT86IHN0cmluZyApOiBzdHJpbmcge1xuICAgIGlmICh1cmxhcGkpe1xuICAgICAgcmV0dXJuIHVybGFwaTtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJykpIHtcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpc2FyYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICcxMyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGNhc2UgJzEwJzpcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgICAvL3JldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICc3Nyc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGltYW5hYXBzJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAgdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RlY29kZVRva2VuKCk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRJdGVtKCd0b2tlbicsICcnKTtcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMub2J0ZW5lckJhc2UoKSArICdfJyArICBrZXkpID8/IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIGNhbWJpYXJUZW1hKHRlbWEgOiAoJ3RlbWFDbGFybycgfCAndGVtYU9zY3VybycpKXtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyd0ZW1hJywgdGVtYSk7XG4gICAgbGV0IGxpbmtUZW1hID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtYUFwcCcpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICBsaW5rVGVtYS5ocmVmID0gYCR7dGVtYX0uY3NzYFxuICB9XG5cbiAgY2FsY3VsYXJQb3NpY2lvbkRpYWxvZygpIHtcbiAgICBpZiAodGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpICE9ICcxMCcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB2YXIgcGFyZW50V2luZG93OiBXaW5kb3cgPSB3aW5kb3cucGFyZW50O1xuICAgIHZhciBvYmo6IGFueSA9IHdpbmRvdy5mcmFtZUVsZW1lbnQgO1xuICAgIHZhciBpZnJtID0gb2JqO1xuICAgIGlmIChpZnJtKSB7XG4gICAgICBjb25zdCBzY3JvbGxUb3AgPSBwYXJlbnRXaW5kb3cucGFnZVlPZmZzZXQgfHwgcGFyZW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgcGFyZW50V2luZG93LmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICBjb25zdCBkaWFsb2cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2cnKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChkaWFsb2cpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gcGFyZW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHRcbiAgICAgICAgY29uc3QgbWl0YWRTY3JvbGxIZWlnaHQgPSBzY3JvbGxIZWlnaHQgLyAyO1xuICAgICAgICBjb25zdCBpbmljaW8gPSAtbWl0YWRTY3JvbGxIZWlnaHQ7XG4gICAgICAgIGRpYWxvZy5zdHlsZS50b3AgPSBgJHtpbmljaW8gKyAxMDAgKyAoc2Nyb2xsVG9wIC8gMikgLSAoZGlhbG9nLmNsaWVudEhlaWdodCAvIDIpfXB4YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
@@ -1500,11 +1500,13 @@ class AuthenticationError extends Error {
1500
1500
  class UtilsService {
1501
1501
  cookieService;
1502
1502
  document;
1503
+ authService;
1503
1504
  RESERVADAS_SQL_NOPUEDECONTENER = [';'];
1504
1505
  reservadas = ['ALTER', 'DELETE', 'DROP', 'MODIFY', 'CREATE', 'DATABASE', 'TABLE', 'UPDATE', 'TRIGGER', 'GRANT', 'REVOKE', 'CALL', 'INSERT', 'TRUNCATE', 'USE', '--'];
1505
- constructor(cookieService, document) {
1506
+ constructor(cookieService, document, authService) {
1506
1507
  this.cookieService = cookieService;
1507
1508
  this.document = document;
1509
+ this.authService = authService;
1508
1510
  }
1509
1511
  generarLlave() {
1510
1512
  let result = '';
@@ -1785,7 +1787,25 @@ class UtilsService {
1785
1787
  let linkTema = this.document.getElementById('temaApp');
1786
1788
  linkTema.href = `${tema}.css`;
1787
1789
  }
1788
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i3.CookieService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1790
+ calcularPosicionDialog() {
1791
+ if (this.authService.getTokenKey('aplicacion') != '10') {
1792
+ return;
1793
+ }
1794
+ var parentWindow = window.parent;
1795
+ var obj = window.frameElement;
1796
+ var ifrm = obj;
1797
+ if (ifrm) {
1798
+ const scrollTop = parentWindow.pageYOffset || parentWindow.document.documentElement.scrollTop || parentWindow.document.body.scrollTop || 0;
1799
+ const dialog = document.querySelector('.p-dialog');
1800
+ if (dialog) {
1801
+ const scrollHeight = parentWindow.document.documentElement.scrollHeight;
1802
+ const mitadScrollHeight = scrollHeight / 2;
1803
+ const inicio = -mitadScrollHeight;
1804
+ dialog.style.top = `${inicio + 100 + (scrollTop / 2) - (dialog.clientHeight / 2)}px`;
1805
+ }
1806
+ }
1807
+ }
1808
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i3.CookieService }, { token: DOCUMENT }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
1789
1809
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
1790
1810
  }
1791
1811
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, decorators: [{
@@ -1796,7 +1816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
1796
1816
  }], ctorParameters: () => [{ type: i3.CookieService }, { type: Document, decorators: [{
1797
1817
  type: Inject,
1798
1818
  args: [DOCUMENT]
1799
- }] }] });
1819
+ }] }, { type: AuthService }] });
1800
1820
 
1801
1821
  class StorageService {
1802
1822
  utilsService;