@sumaris-net/ngx-components 18.24.12 → 18.24.13

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.
@@ -199,7 +199,7 @@ export class ImagesUtils {
199
199
  if (!base64 || typeof base64 !== 'string')
200
200
  return; // Skip if empty
201
201
  const type = this.getBase64MimeType(base64);
202
- const filename = this.getMimeTypeFileExtension(type);
202
+ const filename = opts?.filename ?? 'export.' + this.getMimeTypeFileExtension(type);
203
203
  opts = {
204
204
  type,
205
205
  filename,
@@ -215,4 +215,4 @@ export class ImagesUtils {
215
215
  return blob;
216
216
  }
217
217
  }
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS9pbWFnZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsVUFBVSxFQUFFLEdBQUc7SUFDZixTQUFTLEVBQUUsR0FBRztJQUNkLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsZUFBZSxFQUFFLEdBQUc7Q0FDckIsQ0FBQztBQVFGLFdBQVc7QUFDWCxNQUFNLE9BQU8sV0FBVztJQUN0Qjs7O1FBR0k7SUFDSixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBWTtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sS0FBSztZQUNWLENBQUMsQ0FBQztnQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsQjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO0lBRUQ7OztRQUdJO0lBQ0osTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFlO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFB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LElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLE9BQWEsSUFBSSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlRXZlbnQsIEZpbGVSZXNwb25zZSB9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmltcG9ydCB7IEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7c3RyaW5nVG9VOGF9IGZyb20gJ0Bwb2xrYWRvdC91dGlsJztcbmltcG9ydCB7Q3J5cHRvU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9jcnlwdG8uc2VydmljZSc7XG5pbXBvcnQge2Jhc2U2NERlY29kZX0gZnJvbSAnQHBvbGthZG90L3V0aWwtY3J5cHRvJztcblxuZXhwb3J0IGNvbnN0IElNQUdFX0RFRkFVTFRTID0ge1xuICBNQVhfSEVJR0hUOiA0ODAsXG4gIE1BWF9XSURUSDogNjQwLFxuICBUSFVNQl9NQVhfSEVJR0hUOiAyMDAsXG4gIFRIVU1CX01BWF9XSURUSDogMjAwLFxufTtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEltYWdlUmVzaXplT3B0aW9ucyB7XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gIHRodW1ibmFpbD86IGJvb2xlYW47XG59XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgSW1hZ2VzVXRpbHMge1xuICAvKipcbiAgICogUGFyc2UgYSBzdHJpbmcgbGlrZSBgPHBhdGg+fDxjcmVkaXQ+YCBpbnRvIGFuIG9iamVjdCBge2ltYWdlLCBjcmVkaXR9YFxuICAgKiBAcGFyYW0gZmlsZVxuICAgKiovXG4gIHN0YXRpYyBnZXRJbWFnZUFuZENyZWRpdChmaWxlOiBzdHJpbmcpOiB7IGltYWdlOiBzdHJpbmc7IGNyZWRpdHM6IHN0cmluZyB9IHtcbiAgICBjb25zdCBwYXJ0cyA9IGZpbGU/LnNwbGl0KCd8Jyk7XG4gICAgcmV0dXJuIHBhcnRzXG4gICAgICA/IHtcbiAgICAgICAgICBpbWFnZTogcGFydHNbMF0sXG4gICAgICAgICAgY3JlZGl0czogcGFydHNbMV0sXG4gICAgICAgIH1cbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmlsZXNcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGdldFJhbmRvbUltYWdlV2l0aENyZWRpdCgpIGluc3RlYWRcbiAgICoqL1xuICBzdGF0aWMgZ2V0UmFuZG9tSW1hZ2UoZmlsZXM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbWdJbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGZpbGVzLmxlbmd0aCk7XG4gICAgcmV0dXJuIGZpbGVzW2ltZ0luZGV4XTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRSYW5kb21JbWFnZVdpdGhDcmVkaXQoZmlsZXM6IHN0cmluZ1tdKTogeyBpbWFnZTogc3RyaW5nOyBjcmVkaXRzOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgaW1nSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBmaWxlcy5sZW5ndGgpO1xuICAgIHJldHVybiBJbWFnZXNVdGlscy5nZXRJbWFnZUFuZENyZWRpdChmaWxlc1tpbWdJbmRleF0pO1xuICB9XG5cbiAgc3RhdGljIHJlYWRBc0RhdGFVUkwoZmlsZTogRmlsZSwgb3B0cz86IEltYWdlUmVzaXplT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZUV2ZW50PHN0cmluZz4+IHtcbiAgICBjb25zdCAkcHJvZ3Jlc3MgPSBuZXcgU3ViamVjdDxGaWxlRXZlbnQ8c3RyaW5nPj4oKTtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgLy8gTGlzdGVuIHByb2dyZXNzXG4gICAgcmVhZGVyLm9ucHJvZ3Jlc3MgPSAoZTogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdG90YWwgPSBlLnRvdGFsIHx8IDE7XG4gICAgICBjb25zdCBsb2FkZWQgPSBlLnRvdGFsIHx8IDA7XG4gICAgICBpZiAobG9hZGVkIDwgdG90YWwpICRwcm9ncmVzcy5uZXh0KHsgdHlwZTogSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcywgbG9hZGVkLCB0b3RhbCB9KTtcbiAgICB9O1xuXG4gICAgLy8gTGlzdGVuIGVuZFxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoXzogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgYm9keSA9IHJlYWRlci5yZXN1bHQ7XG4gICAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICRwcm9ncmVzcy5uZXh0KG5ldyBGaWxlUmVzcG9uc2UoeyBib2R5IH0pKTtcbiAgICAgICAgJHByb2dyZXNzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbaW1hZ2UtdXRpbHNdIENhbm5vdCByZWFkIGZpbGUgJyR7ZmlsZS5uYW1lfScgYXMgdGV4dGApO1xuICAgICAgICAkcHJvZ3Jlc3MuZXJyb3IoYENhbm5vdCByZWFkIGZpbGUgYXMgdGV4dGApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBMaXN0ZW4gZXJyb3JcbiAgICByZWFkZXIub25lcnJvciA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignW2ltYWdlLXV0aWxzXSBFcnJvciB3aGlsZSByZWFkaW5nIGZpbGU6JywgZXZlbnQpO1xuICAgICAgJHByb2dyZXNzLmVycm9yKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgLy8gU3RhcnQgcmVhZGluZyB0aGUgZmlsZVxuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgLy8gUmVzaXplIGltYWdlLCBpZiBuZWVkXG4gICAgaWYgKG9wdHMpIHtcbiAgICAgIHJldHVybiAkcHJvZ3Jlc3MucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRmlsZVJlc3BvbnNlKSB7XG4gICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgSW1hZ2VzVXRpbHMucmVzaXplQmFzZTY0KGV2ZW50LmJvZHksIG9wdHMpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlUmVzcG9uc2UoeyBib2R5IH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAkcHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgcmVhZEFuZFJlc2l6ZUZyb21VcmwoZmlsZVVybDogc3RyaW5nLCBvcHRzPzogSW1hZ2VSZXNpemVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoaXNOaWxPckJsYW5rKGZpbGVVcmwpKSB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgYXJndW1lbnQ6IG1pc3NpbmcgZmlsZVVybCcpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSB0ZW1wb3JhcnkgaW1hZ2UgZWxlbWVudFxuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuXG4gICAgLy8gTmVlZCB0byBhdm9pZCBDT1JTIGVycm9yXG4gICAgLy8gKHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMjcxMDYyNy90YWludGVkLWNhbnZhc2VzLW1heS1ub3QtYmUtZXhwb3J0ZWQpXG4gICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIEltYWdlc1V0aWxzLmNyZWF0ZUltYWdlT25Mb2FkUmVzaXplRm4ocmVzb2x2ZSwgcmVqZWN0LCBvcHRzKSwgZmFsc2UpO1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpO1xuICAgICAgICBpbWcuc3JjID0gZmlsZVVybDtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBhbmQgcmVzaXplIGltYWdlIHske2ZpbGVVcmx9fWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpbWcucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHJlc2l6ZUJhc2U2NChkYXRhVXJsOiBzdHJpbmcsIG9wdHM/OiBJbWFnZVJlc2l6ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIENyZWF0ZSB0aGUgdGVtcG9yYXJ5IGltYWdlIGVsZW1lbnRcbiAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcblxuICAgIC8vIE5lZWQgdG8gYXZvaWQgQ09SUyBlcnJvclxuICAgIC8vIChzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjI3MTA2MjcvdGFpbnRlZC1jYW52YXNlcy1tYXktbm90LWJlLWV4cG9ydGVkKVxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBJbWFnZXNVdGlscy5jcmVhdGVJbWFnZU9uTG9hZFJlc2l6ZUZuKHJlc29sdmUsIHJlamVjdCwgb3B0cyksIGZhbHNlKTtcbiAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgICAgaW1nLnNyYyA9IGRhdGFVcmw7XG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaW1nLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0aWMgY3JlYXRlSW1hZ2VPbkxvYWRSZXNpemVGbihyZXNvbHZlLCByZWplY3QsIG9wdHM/OiBJbWFnZVJlc2l6ZU9wdGlvbnMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBjb25zdCBtYXhXaWR0aCA9IG9wdHMgJiYgb3B0cy50aHVtYm5haWwgPyBJTUFHRV9ERUZBVUxUUy5USFVNQl9NQVhfV0lEVEggOiAob3B0cyAmJiBvcHRzLm1heFdpZHRoKSB8fCBJTUFHRV9ERUZBVUxUUy5NQVhfV0lEVEg7XG4gICAgICBjb25zdCBtYXhIZWlnaHQgPSBvcHRzICYmIG9wdHMudGh1bWJuYWlsID8gSU1BR0VfREVGQVVMVFMuVEhVTUJfTUFYX0hFSUdIVCA6IChvcHRzICYmIG9wdHMubWF4SGVpZ2h0KSB8fCBJTUFHRV9ERUZBVUxUUy5NQVhfSEVJR0hUO1xuICAgICAgbGV0IHdpZHRoID0gZXZlbnQudGFyZ2V0LndpZHRoO1xuICAgICAgbGV0IGhlaWdodCA9IGV2ZW50LnRhcmdldC5oZWlnaHQ7XG5cbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgbGV0IGN0eDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGh1bWJuYWlsOiByZXNpemUgYW5kIGNyb3AgKHRvIHRoZSBleHBlY3RlZCBzaXplKVxuICAgICAgICBpZiAob3B0cyAmJiBvcHRzLnRodW1ibmFpbCkge1xuICAgICAgICAgIC8vIGxhbmRzY2FwZVxuICAgICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgd2lkdGggKj0gbWF4SGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0ID0gbWF4SGVpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHBvcnRyYWl0XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBoZWlnaHQgKj0gbWF4V2lkdGggLyB3aWR0aDtcbiAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IG1heFdpZHRoO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBtYXhIZWlnaHQ7XG4gICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgY29uc3QgeG9mZnNldCA9IE1hdGgudHJ1bmMoKG1heFdpZHRoIC0gd2lkdGgpIC8gMiArIDAuNSk7XG4gICAgICAgICAgY29uc3QgeW9mZnNldCA9IE1hdGgudHJ1bmMoKG1heEhlaWdodCAtIGhlaWdodCkgLyAyICsgMC41KTtcbiAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgeG9mZnNldCwgLy8geDFcbiAgICAgICAgICAgIHlvZmZzZXQsIC8vIHkxXG4gICAgICAgICAgICBtYXhXaWR0aCArIC0yICogeG9mZnNldCwgLy8geDJcbiAgICAgICAgICAgIG1heEhlaWdodCArIC0yICogeW9mZnNldCAvLyB5MlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXNpemUsIGJ1dCBrZWVwIHRoZSBmdWxsIGltYWdlXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIC8vIGxhbmRzY2FwZVxuICAgICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgaWYgKHdpZHRoID4gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0ICo9IG1heFdpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcG9ydHJhaXRcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChoZWlnaHQgPiBtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgd2lkdGggKj0gbWF4SGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgICBoZWlnaHQgPSBtYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgICBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuICAgICAgICAgIC8vIFJlc2l6ZSB0aGUgd2hvbGUgaW1hZ2VcbiAgICAgICAgICBjdHguZHJhd0ltYWdlKGV2ZW50LnRhcmdldCwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBpbWFnZSBjb250ZW50IGFzIGRhdGEgVVJMXG4gICAgICAgIGNvbnN0IGJhc2U2NCA9IGNhbnZhcy50b0RhdGFVUkwoKTtcbiAgICAgICAgcmVzb2x2ZShiYXNlNjQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgY2FudmFzLnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0QmFzZTY0TWltZVR5cGUoXG4gICAgICBiYXNlNjQ6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghYmFzZTY0IHx8IHR5cGVvZiBiYXNlNjQgIT09ICdzdHJpbmcnKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbWltZVR5cGVNYXRjaCA9IGJhc2U2NC5tYXRjaCgvXmRhdGE6KGltYWdlXFwvXFx3Kyk7YmFzZTY0LC8pO1xuICAgIHJldHVybiBtaW1lVHlwZU1hdGNoID8gbWltZVR5cGVNYXRjaFsxXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRNaW1lVHlwZUZpbGVFeHRlbnNpb24oXG4gICAgbWltZVR5cGU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghbWltZVR5cGUgfHwgdHlwZW9mIG1pbWVUeXBlICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGV4dGVuc2lvbk1hdGNoID0gbWltZVR5cGUubWF0Y2goL2ltYWdlXFwvKFxcdyspLyk7XG4gICAgcmV0dXJuIGV4dGVuc2lvbk1hdGNoID8gZXh0ZW5zaW9uTWF0Y2hbMV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgd3JpdGVCYXNlNjRUb0ZpbGUoXG4gICAgYmFzZTY0OiBzdHJpbmcsXG4gICAgb3B0cz86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBmaWxlbmFtZT86IHN0cmluZztcbiAgICB9KSB7XG4gICAgaWYgKCFiYXNlNjQgfHwgdHlwZW9mIGJhc2U2NCAhPT0gJ3N0cmluZycpIHJldHVybjsgLy8gU2tpcCBpZiBlbXB0eVxuXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0QmFzZTY0TWltZVR5cGUoYmFzZTY0KTtcbiAgICBjb25zdCBmaWxlbmFtZSA9IHRoaXMuZ2V0TWltZVR5cGVGaWxlRXh0ZW5zaW9uKHR5cGUpO1xuICAgIG9wdHMgPSB7XG4gICAgICB0eXBlLFxuICAgICAgZmlsZW5hbWUsXG4gICAgICAuLi5vcHRzLFxuICAgIH07XG5cbiAgICAvLyBFeHRyYWN0IGJhc2U2NCBkYXRhIChyZW1vdmUgdGhlIGRhdGE6aW1hZ2UvLi4uO2Jhc2U2NCwgcHJlZml4KVxuICAgIGNvbnN0IGJhc2U2NERhdGEgPSBiYXNlNjQuc3BsaXQoJywnLCAyKVsxXSB8fCBiYXNlNjQ7XG5cbiAgICAvLyBEZWNvZGUgYmFzZTY0IHRvIFVpbnQ4QXJyYXkgZGlyZWN0bHlcbiAgICBjb25zdCBhcnJheVV0OCA9IGJhc2U2NERlY29kZShiYXNlNjREYXRhKTtcblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYXJyYXlVdDhdLCB7dHlwZTogb3B0cy50eXBlfSk7XG4gICAgYmxvYlsnbGFzdE1vZGlmaWVkRGF0ZSddID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIGJsb2JbJ25hbWUnXSA9IG9wdHMuZmlsZW5hbWU7XG5cbiAgICByZXR1cm4gPEZpbGU+YmxvYjtcbiAgfVxufVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS9pbWFnZXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsVUFBVSxFQUFFLEdBQUc7SUFDZixTQUFTLEVBQUUsR0FBRztJQUNkLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsZUFBZSxFQUFFLEdBQUc7Q0FDckIsQ0FBQztBQVFGLFdBQVc7QUFDWCxNQUFNLE9BQU8sV0FBVztJQUN0Qjs7O1FBR0k7SUFDSixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBWTtRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sS0FBSztZQUNWLENBQUMsQ0FBQztnQkFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsQjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO0lBRUQ7OztRQUdJO0lBQ0osTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFlO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFB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RUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLE9BQWEsSUFBSSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlRXZlbnQsIEZpbGVSZXNwb25zZSB9IGZyb20gJy4uL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLm1vZGVsJztcbmltcG9ydCB7IEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7c3RyaW5nVG9VOGF9IGZyb20gJ0Bwb2xrYWRvdC91dGlsJztcbmltcG9ydCB7Q3J5cHRvU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9jcnlwdG8uc2VydmljZSc7XG5pbXBvcnQge2Jhc2U2NERlY29kZX0gZnJvbSAnQHBvbGthZG90L3V0aWwtY3J5cHRvJztcblxuZXhwb3J0IGNvbnN0IElNQUdFX0RFRkFVTFRTID0ge1xuICBNQVhfSEVJR0hUOiA0ODAsXG4gIE1BWF9XSURUSDogNjQwLFxuICBUSFVNQl9NQVhfSEVJR0hUOiAyMDAsXG4gIFRIVU1CX01BWF9XSURUSDogMjAwLFxufTtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEltYWdlUmVzaXplT3B0aW9ucyB7XG4gIG1heFdpZHRoPzogbnVtYmVyO1xuICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gIHRodW1ibmFpbD86IGJvb2xlYW47XG59XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgSW1hZ2VzVXRpbHMge1xuICAvKipcbiAgICogUGFyc2UgYSBzdHJpbmcgbGlrZSBgPHBhdGg+fDxjcmVkaXQ+YCBpbnRvIGFuIG9iamVjdCBge2ltYWdlLCBjcmVkaXR9YFxuICAgKiBAcGFyYW0gZmlsZVxuICAgKiovXG4gIHN0YXRpYyBnZXRJbWFnZUFuZENyZWRpdChmaWxlOiBzdHJpbmcpOiB7IGltYWdlOiBzdHJpbmc7IGNyZWRpdHM6IHN0cmluZyB9IHtcbiAgICBjb25zdCBwYXJ0cyA9IGZpbGU/LnNwbGl0KCd8Jyk7XG4gICAgcmV0dXJuIHBhcnRzXG4gICAgICA/IHtcbiAgICAgICAgICBpbWFnZTogcGFydHNbMF0sXG4gICAgICAgICAgY3JlZGl0czogcGFydHNbMV0sXG4gICAgICAgIH1cbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmlsZXNcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGdldFJhbmRvbUltYWdlV2l0aENyZWRpdCgpIGluc3RlYWRcbiAgICoqL1xuICBzdGF0aWMgZ2V0UmFuZG9tSW1hZ2UoZmlsZXM6IHN0cmluZ1tdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbWdJbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGZpbGVzLmxlbmd0aCk7XG4gICAgcmV0dXJuIGZpbGVzW2ltZ0luZGV4XTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRSYW5kb21JbWFnZVdpdGhDcmVkaXQoZmlsZXM6IHN0cmluZ1tdKTogeyBpbWFnZTogc3RyaW5nOyBjcmVkaXRzOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgaW1nSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBmaWxlcy5sZW5ndGgpO1xuICAgIHJldHVybiBJbWFnZXNVdGlscy5nZXRJbWFnZUFuZENyZWRpdChmaWxlc1tpbWdJbmRleF0pO1xuICB9XG5cbiAgc3RhdGljIHJlYWRBc0RhdGFVUkwoZmlsZTogRmlsZSwgb3B0cz86IEltYWdlUmVzaXplT3B0aW9ucyk6IE9ic2VydmFibGU8RmlsZUV2ZW50PHN0cmluZz4+IHtcbiAgICBjb25zdCAkcHJvZ3Jlc3MgPSBuZXcgU3ViamVjdDxGaWxlRXZlbnQ8c3RyaW5nPj4oKTtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgLy8gTGlzdGVuIHByb2dyZXNzXG4gICAgcmVhZGVyLm9ucHJvZ3Jlc3MgPSAoZTogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdG90YWwgPSBlLnRvdGFsIHx8IDE7XG4gICAgICBjb25zdCBsb2FkZWQgPSBlLnRvdGFsIHx8IDA7XG4gICAgICBpZiAobG9hZGVkIDwgdG90YWwpICRwcm9ncmVzcy5uZXh0KHsgdHlwZTogSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcywgbG9hZGVkLCB0b3RhbCB9KTtcbiAgICB9O1xuXG4gICAgLy8gTGlzdGVuIGVuZFxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoXzogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgYm9keSA9IHJlYWRlci5yZXN1bHQ7XG4gICAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICRwcm9ncmVzcy5uZXh0KG5ldyBGaWxlUmVzcG9uc2UoeyBib2R5IH0pKTtcbiAgICAgICAgJHByb2dyZXNzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbaW1hZ2UtdXRpbHNdIENhbm5vdCByZWFkIGZpbGUgJyR7ZmlsZS5uYW1lfScgYXMgdGV4dGApO1xuICAgICAgICAkcHJvZ3Jlc3MuZXJyb3IoYENhbm5vdCByZWFkIGZpbGUgYXMgdGV4dGApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBMaXN0ZW4gZXJyb3JcbiAgICByZWFkZXIub25lcnJvciA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignW2ltYWdlLXV0aWxzXSBFcnJvciB3aGlsZSByZWFkaW5nIGZpbGU6JywgZXZlbnQpO1xuICAgICAgJHByb2dyZXNzLmVycm9yKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgLy8gU3RhcnQgcmVhZGluZyB0aGUgZmlsZVxuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgLy8gUmVzaXplIGltYWdlLCBpZiBuZWVkXG4gICAgaWYgKG9wdHMpIHtcbiAgICAgIHJldHVybiAkcHJvZ3Jlc3MucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoYXN5bmMgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRmlsZVJlc3BvbnNlKSB7XG4gICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgSW1hZ2VzVXRpbHMucmVzaXplQmFzZTY0KGV2ZW50LmJvZHksIG9wdHMpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlUmVzcG9uc2UoeyBib2R5IH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAkcHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgcmVhZEFuZFJlc2l6ZUZyb21VcmwoZmlsZVVybDogc3RyaW5nLCBvcHRzPzogSW1hZ2VSZXNpemVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoaXNOaWxPckJsYW5rKGZpbGVVcmwpKSB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgYXJndW1lbnQ6IG1pc3NpbmcgZmlsZVVybCcpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSB0ZW1wb3JhcnkgaW1hZ2UgZWxlbWVudFxuICAgIGNvbnN0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuXG4gICAgLy8gTmVlZCB0byBhdm9pZCBDT1JTIGVycm9yXG4gICAgLy8gKHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMjcxMDYyNy90YWludGVkLWNhbnZhc2VzLW1heS1ub3QtYmUtZXhwb3J0ZWQpXG4gICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIEltYWdlc1V0aWxzLmNyZWF0ZUltYWdlT25Mb2FkUmVzaXplRm4ocmVzb2x2ZSwgcmVqZWN0LCBvcHRzKSwgZmFsc2UpO1xuICAgICAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpO1xuICAgICAgICBpbWcuc3JjID0gZmlsZVVybDtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBhbmQgcmVzaXplIGltYWdlIHske2ZpbGVVcmx9fWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpbWcucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHJlc2l6ZUJhc2U2NChkYXRhVXJsOiBzdHJpbmcsIG9wdHM/OiBJbWFnZVJlc2l6ZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vIENyZWF0ZSB0aGUgdGVtcG9yYXJ5IGltYWdlIGVsZW1lbnRcbiAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcblxuICAgIC8vIE5lZWQgdG8gYXZvaWQgQ09SUyBlcnJvclxuICAgIC8vIChzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjI3MTA2MjcvdGFpbnRlZC1jYW52YXNlcy1tYXktbm90LWJlLWV4cG9ydGVkKVxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBJbWFnZXNVdGlscy5jcmVhdGVJbWFnZU9uTG9hZFJlc2l6ZUZuKHJlc29sdmUsIHJlamVjdCwgb3B0cyksIGZhbHNlKTtcbiAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgcmVqZWN0KTtcbiAgICAgICAgaW1nLnNyYyA9IGRhdGFVcmw7XG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaW1nLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0aWMgY3JlYXRlSW1hZ2VPbkxvYWRSZXNpemVGbihyZXNvbHZlLCByZWplY3QsIG9wdHM/OiBJbWFnZVJlc2l6ZU9wdGlvbnMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBjb25zdCBtYXhXaWR0aCA9IG9wdHMgJiYgb3B0cy50aHVtYm5haWwgPyBJTUFHRV9ERUZBVUxUUy5USFVNQl9NQVhfV0lEVEggOiAob3B0cyAmJiBvcHRzLm1heFdpZHRoKSB8fCBJTUFHRV9ERUZBVUxUUy5NQVhfV0lEVEg7XG4gICAgICBjb25zdCBtYXhIZWlnaHQgPSBvcHRzICYmIG9wdHMudGh1bWJuYWlsID8gSU1BR0VfREVGQVVMVFMuVEhVTUJfTUFYX0hFSUdIVCA6IChvcHRzICYmIG9wdHMubWF4SGVpZ2h0KSB8fCBJTUFHRV9ERUZBVUxUUy5NQVhfSEVJR0hUO1xuICAgICAgbGV0IHdpZHRoID0gZXZlbnQudGFyZ2V0LndpZHRoO1xuICAgICAgbGV0IGhlaWdodCA9IGV2ZW50LnRhcmdldC5oZWlnaHQ7XG5cbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgbGV0IGN0eDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGh1bWJuYWlsOiByZXNpemUgYW5kIGNyb3AgKHRvIHRoZSBleHBlY3RlZCBzaXplKVxuICAgICAgICBpZiAob3B0cyAmJiBvcHRzLnRodW1ibmFpbCkge1xuICAgICAgICAgIC8vIGxhbmRzY2FwZVxuICAgICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgd2lkdGggKj0gbWF4SGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0ID0gbWF4SGVpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHBvcnRyYWl0XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBoZWlnaHQgKj0gbWF4V2lkdGggLyB3aWR0aDtcbiAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhbnZhcy53aWR0aCA9IG1heFdpZHRoO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBtYXhIZWlnaHQ7XG4gICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgY29uc3QgeG9mZnNldCA9IE1hdGgudHJ1bmMoKG1heFdpZHRoIC0gd2lkdGgpIC8gMiArIDAuNSk7XG4gICAgICAgICAgY29uc3QgeW9mZnNldCA9IE1hdGgudHJ1bmMoKG1heEhlaWdodCAtIGhlaWdodCkgLyAyICsgMC41KTtcbiAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgeG9mZnNldCwgLy8geDFcbiAgICAgICAgICAgIHlvZmZzZXQsIC8vIHkxXG4gICAgICAgICAgICBtYXhXaWR0aCArIC0yICogeG9mZnNldCwgLy8geDJcbiAgICAgICAgICAgIG1heEhlaWdodCArIC0yICogeW9mZnNldCAvLyB5MlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXNpemUsIGJ1dCBrZWVwIHRoZSBmdWxsIGltYWdlXG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIC8vIGxhbmRzY2FwZVxuICAgICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgaWYgKHdpZHRoID4gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0ICo9IG1heFdpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcG9ydHJhaXRcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChoZWlnaHQgPiBtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgd2lkdGggKj0gbWF4SGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgICBoZWlnaHQgPSBtYXhIZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgICBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuICAgICAgICAgIC8vIFJlc2l6ZSB0aGUgd2hvbGUgaW1hZ2VcbiAgICAgICAgICBjdHguZHJhd0ltYWdlKGV2ZW50LnRhcmdldCwgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBpbWFnZSBjb250ZW50IGFzIGRhdGEgVVJMXG4gICAgICAgIGNvbnN0IGJhc2U2NCA9IGNhbnZhcy50b0RhdGFVUkwoKTtcbiAgICAgICAgcmVzb2x2ZShiYXNlNjQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgY2FudmFzLnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0QmFzZTY0TWltZVR5cGUoXG4gICAgICBiYXNlNjQ6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghYmFzZTY0IHx8IHR5cGVvZiBiYXNlNjQgIT09ICdzdHJpbmcnKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbWltZVR5cGVNYXRjaCA9IGJhc2U2NC5tYXRjaCgvXmRhdGE6KGltYWdlXFwvXFx3Kyk7YmFzZTY0LC8pO1xuICAgIHJldHVybiBtaW1lVHlwZU1hdGNoID8gbWltZVR5cGVNYXRjaFsxXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRNaW1lVHlwZUZpbGVFeHRlbnNpb24oXG4gICAgbWltZVR5cGU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghbWltZVR5cGUgfHwgdHlwZW9mIG1pbWVUeXBlICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGV4dGVuc2lvbk1hdGNoID0gbWltZVR5cGUubWF0Y2goL2ltYWdlXFwvKFxcdyspLyk7XG4gICAgcmV0dXJuIGV4dGVuc2lvbk1hdGNoID8gZXh0ZW5zaW9uTWF0Y2hbMV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgd3JpdGVCYXNlNjRUb0ZpbGUoXG4gICAgYmFzZTY0OiBzdHJpbmcsXG4gICAgb3B0cz86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBmaWxlbmFtZT86IHN0cmluZztcbiAgICB9KSB7XG4gICAgaWYgKCFiYXNlNjQgfHwgdHlwZW9mIGJhc2U2NCAhPT0gJ3N0cmluZycpIHJldHVybjsgLy8gU2tpcCBpZiBlbXB0eVxuXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0QmFzZTY0TWltZVR5cGUoYmFzZTY0KTtcbiAgICBjb25zdCBmaWxlbmFtZSA9IG9wdHM/LmZpbGVuYW1lID8/ICdleHBvcnQuJyArIHRoaXMuZ2V0TWltZVR5cGVGaWxlRXh0ZW5zaW9uKHR5cGUpO1xuICAgIG9wdHMgPSB7XG4gICAgICB0eXBlLFxuICAgICAgZmlsZW5hbWUsXG4gICAgICAuLi5vcHRzLFxuICAgIH07XG5cbiAgICAvLyBFeHRyYWN0IGJhc2U2NCBkYXRhIChyZW1vdmUgdGhlIGRhdGE6aW1hZ2UvLi4uO2Jhc2U2NCwgcHJlZml4KVxuICAgIGNvbnN0IGJhc2U2NERhdGEgPSBiYXNlNjQuc3BsaXQoJywnLCAyKVsxXSB8fCBiYXNlNjQ7XG5cbiAgICAvLyBEZWNvZGUgYmFzZTY0IHRvIFVpbnQ4QXJyYXkgZGlyZWN0bHlcbiAgICBjb25zdCBhcnJheVV0OCA9IGJhc2U2NERlY29kZShiYXNlNjREYXRhKTtcblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYXJyYXlVdDhdLCB7dHlwZTogb3B0cy50eXBlfSk7XG4gICAgYmxvYlsnbGFzdE1vZGlmaWVkRGF0ZSddID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIGJsb2JbJ25hbWUnXSA9IG9wdHMuZmlsZW5hbWU7XG5cbiAgICByZXR1cm4gPEZpbGU+YmxvYjtcbiAgfVxufVxuIl19
@@ -15862,7 +15862,7 @@ class ImagesUtils {
15862
15862
  if (!base64 || typeof base64 !== 'string')
15863
15863
  return; // Skip if empty
15864
15864
  const type = this.getBase64MimeType(base64);
15865
- const filename = this.getMimeTypeFileExtension(type);
15865
+ const filename = opts?.filename ?? 'export.' + this.getMimeTypeFileExtension(type);
15866
15866
  opts = {
15867
15867
  type,
15868
15868
  filename,