@sumaris-net/ngx-components 18.6.3 → 18.6.5

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.
@@ -18,7 +18,12 @@ export class UriUtils {
18
18
  if (queryParamIndex !== -1) {
19
19
  filename = filename.substring(0, queryParamIndex);
20
20
  }
21
+ // Remove fragment
22
+ const fragmentParamIndex = filename.indexOf('#');
23
+ if (fragmentParamIndex !== -1) {
24
+ filename = filename.substring(0, fragmentParamIndex);
25
+ }
21
26
  return filename;
22
27
  }
23
28
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS91cmkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDbkI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUxQiwyQ0FBMkM7UUFDM0MsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLGNBQWMsS0FBSyxDQUFDLENBQUMsSUFBSSxjQUFjLEtBQUssR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksZUFBZSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVXJpVXRpbHMge1xuICAvKipcbiAgICogRXh0cmFjdCB0aGUgZmlsZW5hbWUsIGZyb20gYW4gdXJpICh1c2luZyB0aGUgbGFzdCBzbGFzaClcbiAgICpcbiAgICogQHBhcmFtIHVyaVxuICAgKi9cbiAgc3RhdGljIGdldEZpbGVuYW1lKHVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXVyaSkgcmV0dXJuIHVyaTtcbiAgICBsZXQgZmlsZW5hbWUgPSB1cmkudHJpbSgpO1xuXG4gICAgLy8gR2V0IGxhc3QgcGFydCAob3IgYWxsIHN0cmluZywgaWYgbm8gJy8nKVxuICAgIGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gZmlsZW5hbWUubGFzdEluZGV4T2YoJy8nKTtcbiAgICBpZiAobGFzdFNsYXNoSW5kZXggIT09IC0xICYmIGxhc3RTbGFzaEluZGV4ICE9PSB1cmkubGVuZ3RoIC0gMSkge1xuICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZS5zdWJzdHJpbmcobGFzdFNsYXNoSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcXVlcnkgcGFyYW1zXG4gICAgY29uc3QgcXVlcnlQYXJhbUluZGV4ID0gZmlsZW5hbWUuaW5kZXhPZignPycpO1xuICAgIGlmIChxdWVyeVBhcmFtSW5kZXggIT09IC0xKSB7XG4gICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBxdWVyeVBhcmFtSW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWxlbmFtZTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZmlsZS91cmkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDbkI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUxQiwyQ0FBMkM7UUFDM0MsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLGNBQWMsS0FBSyxDQUFDLENBQUMsSUFBSSxjQUFjLEtBQUssR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksZUFBZSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxrQkFBa0I7UUFDbEIsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksa0JBQWtCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM5QixRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVyaVV0aWxzIHtcbiAgLyoqXG4gICAqIEV4dHJhY3QgdGhlIGZpbGVuYW1lLCBmcm9tIGFuIHVyaSAodXNpbmcgdGhlIGxhc3Qgc2xhc2gpXG4gICAqXG4gICAqIEBwYXJhbSB1cmlcbiAgICovXG4gIHN0YXRpYyBnZXRGaWxlbmFtZSh1cmk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF1cmkpIHJldHVybiB1cmk7XG4gICAgbGV0IGZpbGVuYW1lID0gdXJpLnRyaW0oKTtcblxuICAgIC8vIEdldCBsYXN0IHBhcnQgKG9yIGFsbCBzdHJpbmcsIGlmIG5vICcvJylcbiAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IGZpbGVuYW1lLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgaWYgKGxhc3RTbGFzaEluZGV4ICE9PSAtMSAmJiBsYXN0U2xhc2hJbmRleCAhPT0gdXJpLmxlbmd0aCAtIDEpIHtcbiAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUuc3Vic3RyaW5nKGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHF1ZXJ5IHBhcmFtc1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1JbmRleCA9IGZpbGVuYW1lLmluZGV4T2YoJz8nKTtcbiAgICBpZiAocXVlcnlQYXJhbUluZGV4ICE9PSAtMSkge1xuICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZS5zdWJzdHJpbmcoMCwgcXVlcnlQYXJhbUluZGV4KTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZnJhZ21lbnRcbiAgICBjb25zdCBmcmFnbWVudFBhcmFtSW5kZXggPSBmaWxlbmFtZS5pbmRleE9mKCcjJyk7XG4gICAgaWYgKGZyYWdtZW50UGFyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsIGZyYWdtZW50UGFyYW1JbmRleCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVuYW1lO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChildren } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@ionic/angular";
4
4
  import * as i2 from "../../core/services/platform.service";
@@ -21,7 +21,7 @@ export class AppMarkdownModal {
21
21
  canPrint = false;
22
22
  data;
23
23
  src;
24
- _contents;
24
+ content;
25
25
  static async show(modalCtrl, options) {
26
26
  const modal = await modalCtrl.create({
27
27
  component: AppMarkdownModal,
@@ -56,19 +56,19 @@ export class AppMarkdownModal {
56
56
  }
57
57
  }
58
58
  markAsLoaded() {
59
- this._contents.forEach((content) => content.markAsLoaded());
59
+ this.content?.markAsLoaded();
60
60
  }
61
61
  markAsLoading() {
62
- this._contents.forEach((content) => content.markAsLoading());
62
+ this.content?.markAsLoading();
63
63
  }
64
64
  setError(err) {
65
- this._contents.forEach((content) => content.setError(err));
65
+ this.content?.setError(err);
66
66
  }
67
67
  resetError() {
68
- this._contents.forEach((content) => content.resetError());
68
+ this.content?.resetError();
69
69
  }
70
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, deps: [{ token: i0.Injector }, { token: i1.ModalController }, { token: i2.PlatformService }, { token: i3.LocalSettingsService }, { token: i4.TranslateService }, { token: i5.NetworkService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: { debug: "debug", title: "title", showError: "showError", canPrint: "canPrint", data: "data", src: "src" }, viewQueries: [{ propertyName: "_contents", predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i6.ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "component", type: i7.AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: { debug: "debug", title: "title", showError: "showError", canPrint: "canPrint", data: "data", src: "src" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i6.ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "component", type: i7.AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, decorators: [{
74
74
  type: Component,
@@ -85,8 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
85
  type: Input
86
86
  }], src: [{
87
87
  type: Input
88
- }], _contents: [{
89
- type: ViewChildren,
88
+ }], content: [{
89
+ type: ViewChild,
90
90
  args: ['content']
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24ubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXJrZG93bi9tYXJrZG93bi5tb2RhbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQVksS0FBSyxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBc0JoSSxNQUFNLE9BQU8sZ0JBQWdCO0lBd0JmO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBN0JILEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBUztJQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFFSSxTQUFTLENBQWdDO0lBRWxFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQTBCLEVBQUUsT0FBZ0M7UUFDNUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsY0FBYyxFQUFFLE9BQU87WUFDdkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksYUFBYTtTQUM3QyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV0QixPQUFPLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFDWSxRQUFrQixFQUNsQixRQUF5QixFQUN6QixRQUF5QixFQUN6QixRQUE4QixFQUM5QixTQUEyQixFQUMzQixPQUF1QixFQUN2QixFQUFxQjtRQU5yQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRS9CLHFCQUFxQjtRQUNyQix1Q0FBdUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQTJCO1FBQzlDLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsYUFBYTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVTLFFBQVEsQ0FBQyxHQUFtQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO3dHQS9EVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix1UUN0QjdCLHN0Q0FvQ0E7OzRGRGRhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTt3UUFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFFbUIsU0FBUztzQkFBakMsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcE1hcmtkb3duQ29udGVudCB9IGZyb20gJy4vbWFya2Rvd24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBcHBNYXJrZG93bk1vZGFsT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICBzcmM/OiBzdHJpbmc7XG4gIHNob3dFcnJvcj86IGJvb2xlYW47XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjYW5QcmludD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1tYXJrZG93bi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi5tb2RhbC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1hcmtkb3duTW9kYWwgaW1wbGVtZW50cyBBcHBNYXJrZG93bk1vZGFsT3B0aW9ucyB7XG4gIEBJbnB1dCgpIGRlYnVnOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93RXJyb3IgPSB0cnVlO1xuICBASW5wdXQoKSBjYW5QcmludCA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNyYzogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2NvbnRlbnQnKSBfY29udGVudHM6IFF1ZXJ5TGlzdDxBcHBNYXJrZG93bkNvbnRlbnQ+O1xuXG4gIHN0YXRpYyBhc3luYyBzaG93KG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLCBvcHRpb25zOiBBcHBNYXJrZG93bk1vZGFsT3B0aW9ucykge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgbW9kYWxDdHJsLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IEFwcE1hcmtkb3duTW9kYWwsXG4gICAgICBjb21wb25lbnRQcm9wczogb3B0aW9ucyxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IHRydWUsXG4gICAgICBjc3NDbGFzczogb3B0aW9ucz8uY3NzQ2xhc3MgfHwgJ21vZGFsLWxhcmdlJyxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcblxuICAgIHJldHVybiBtb2RhbC5vbldpbGxEaXNtaXNzKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCB2aWV3Q3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzZXR0aW5nczogTG9jYWxTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbmV0d29yazogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICAvLyBUT0RPOiBmb3IgREVWIG9ubHlcbiAgICAvL3RoaXMuZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGNsb3NlKF8/OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdDdHJsLmRpc21pc3MoKTtcbiAgfVxuXG4gIGdvQmFjayhldmVudDogRXZlbnQsIGNvbnRlbnQ6IEFwcE1hcmtkb3duQ29udGVudCkge1xuICAgIGlmIChjb250ZW50Py5jYW5Hb0JhY2spIHtcbiAgICAgIGNvbnRlbnQuZ29CYWNrKGV2ZW50KTtcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrQXNMb2FkZWQoKSB7XG4gICAgdGhpcy5fY29udGVudHMuZm9yRWFjaCgoY29udGVudCkgPT4gY29udGVudC5tYXJrQXNMb2FkZWQoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGluZygpIHtcbiAgICB0aGlzLl9jb250ZW50cy5mb3JFYWNoKChjb250ZW50KSA9PiBjb250ZW50Lm1hcmtBc0xvYWRpbmcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RXJyb3IoZXJyOiBzdHJpbmcgfCBFcnJvcikge1xuICAgIHRoaXMuX2NvbnRlbnRzLmZvckVhY2goKGNvbnRlbnQpID0+IGNvbnRlbnQuc2V0RXJyb3IoZXJyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzZXRFcnJvcigpIHtcbiAgICB0aGlzLl9jb250ZW50cy5mb3JFYWNoKChjb250ZW50KSA9PiBjb250ZW50LnJlc2V0RXJyb3IoKSk7XG4gIH1cbn1cbiIsIkBpZiAodGl0bGUgfHwgY2FuUHJpbnQpIHtcbiAgPGFwcC1tb2RhbC10b29sYmFyIGNvbG9yPVwibGlnaHRcIiBbdGl0bGVdPVwidGl0bGUgfCB0cmFuc2xhdGVcIiAoY2FuY2VsKT1cImNsb3NlKCRldmVudClcIj5cbiAgICBAaWYgKGNvbnRlbnQuY2FuR29CYWNrKSB7XG4gICAgICA8aW9uLWJ1dHRvbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cImJhY2stYnV0dG9uXCIgKGNsaWNrKT1cImdvQmFjaygkZXZlbnQsIGNvbnRlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICB9XG4gICAgQGlmIChjYW5QcmludCkge1xuICAgICAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIGNsYXNzPVwiYmFjay1idXR0b25cIiAoY2xpY2spPVwiY29udGVudC5wcmludCgkZXZlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwcmludFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgfVxuICA8L2FwcC1tb2RhbC10b29sYmFyPlxufVxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8YXBwLW1hcmtkb3duLWNvbnRlbnRcbiAgICAjY29udGVudFxuICAgIFtzcmNdPVwic3JjXCJcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbc2hvd0Vycm9yXT1cInNob3dFcnJvclwiXG4gICAgW2RlYnVnXT1cImRlYnVnXCJcbiAgICBbdXBkYXRlUm91dGVMb2NhdGlvbl09XCJmYWxzZVwiXG4gID48L2FwcC1tYXJrZG93bi1jb250ZW50PlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3sgJ0NPTU1PTi5CVE5fQ0xPU0UnIHwgdHJhbnNsYXRlIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24ubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXJrZG93bi9tYXJrZG93bi5tb2RhbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hcmtkb3duL21hcmtkb3duLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQVksS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBc0JsSCxNQUFNLE9BQU8sZ0JBQWdCO0lBd0JmO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBN0JILEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBUztJQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFFQyxPQUFPLENBQXFCO0lBRWxELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQTBCLEVBQUUsT0FBZ0M7UUFDNUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsY0FBYyxFQUFFLE9BQU87WUFDdkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksYUFBYTtTQUM3QyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV0QixPQUFPLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFDWSxRQUFrQixFQUNsQixRQUF5QixFQUN6QixRQUF5QixFQUN6QixRQUE4QixFQUM5QixTQUEyQixFQUMzQixPQUF1QixFQUN2QixFQUFxQjtRQU5yQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRS9CLHFCQUFxQjtRQUNyQix1Q0FBdUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQTJCO1FBQzlDLElBQUksT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsUUFBUSxDQUFDLEdBQW1CO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0EvRFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isa1JDdEI3QixzdENBb0NBOzs0RkRkYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07d1FBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IExvY2FsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9sb2NhbC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwTWFya2Rvd25Db250ZW50IH0gZnJvbSAnLi9tYXJrZG93bi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcE1hcmtkb3duTW9kYWxPcHRpb25zIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGRhdGE/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcbiAgc2hvd0Vycm9yPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNhblByaW50PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW1hcmtkb3duLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLm1vZGFsLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTWFya2Rvd25Nb2RhbCBpbXBsZW1lbnRzIEFwcE1hcmtkb3duTW9kYWxPcHRpb25zIHtcbiAgQElucHV0KCkgZGVidWc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dFcnJvciA9IHRydWU7XG4gIEBJbnB1dCgpIGNhblByaW50ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgc3JjOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnQ6IEFwcE1hcmtkb3duQ29udGVudDtcblxuICBzdGF0aWMgYXN5bmMgc2hvdyhtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlciwgb3B0aW9uczogQXBwTWFya2Rvd25Nb2RhbE9wdGlvbnMpIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IG1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBBcHBNYXJrZG93bk1vZGFsLFxuICAgICAgY29tcG9uZW50UHJvcHM6IG9wdGlvbnMsXG4gICAgICBrZXlib2FyZENsb3NlOiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6IG9wdGlvbnM/LmNzc0NsYXNzIHx8ICdtb2RhbC1sYXJnZScsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG5cbiAgICByZXR1cm4gbW9kYWwub25XaWxsRGlzbWlzcygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgdmlld0N0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc2V0dGluZ3M6IExvY2FsU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgLy8gVE9ETzogZm9yIERFViBvbmx5XG4gICAgLy90aGlzLmRlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBjbG9zZShfPzogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3Q3RybC5kaXNtaXNzKCk7XG4gIH1cblxuICBnb0JhY2soZXZlbnQ6IEV2ZW50LCBjb250ZW50OiBBcHBNYXJrZG93bkNvbnRlbnQpIHtcbiAgICBpZiAoY29udGVudD8uY2FuR29CYWNrKSB7XG4gICAgICBjb250ZW50LmdvQmFjayhldmVudCk7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGVkKCkge1xuICAgIHRoaXMuY29udGVudD8ubWFya0FzTG9hZGVkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0FzTG9hZGluZygpIHtcbiAgICB0aGlzLmNvbnRlbnQ/Lm1hcmtBc0xvYWRpbmcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRFcnJvcihlcnI6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgdGhpcy5jb250ZW50Py5zZXRFcnJvcihlcnIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0RXJyb3IoKSB7XG4gICAgdGhpcy5jb250ZW50Py5yZXNldEVycm9yKCk7XG4gIH1cbn1cbiIsIkBpZiAodGl0bGUgfHwgY2FuUHJpbnQpIHtcbiAgPGFwcC1tb2RhbC10b29sYmFyIGNvbG9yPVwibGlnaHRcIiBbdGl0bGVdPVwidGl0bGUgfCB0cmFuc2xhdGVcIiAoY2FuY2VsKT1cImNsb3NlKCRldmVudClcIj5cbiAgICBAaWYgKGNvbnRlbnQuY2FuR29CYWNrKSB7XG4gICAgICA8aW9uLWJ1dHRvbiBzbG90PVwic3RhcnRcIiBjbGFzcz1cImJhY2stYnV0dG9uXCIgKGNsaWNrKT1cImdvQmFjaygkZXZlbnQsIGNvbnRlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICB9XG4gICAgQGlmIChjYW5QcmludCkge1xuICAgICAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIGNsYXNzPVwiYmFjay1idXR0b25cIiAoY2xpY2spPVwiY29udGVudC5wcmludCgkZXZlbnQpXCIgcm91dGVyRGlyZWN0aW9uPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJwcmludFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgfVxuICA8L2FwcC1tb2RhbC10b29sYmFyPlxufVxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8YXBwLW1hcmtkb3duLWNvbnRlbnRcbiAgICAjY29udGVudFxuICAgIFtzcmNdPVwic3JjXCJcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbc2hvd0Vycm9yXT1cInNob3dFcnJvclwiXG4gICAgW2RlYnVnXT1cImRlYnVnXCJcbiAgICBbdXBkYXRlUm91dGVMb2NhdGlvbl09XCJmYWxzZVwiXG4gID48L2FwcC1tYXJrZG93bi1jb250ZW50PlxuPC9pb24tY29udGVudD5cblxuPGlvbi1mb290ZXIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3sgJ0NPTU1PTi5CVE5fQ0xPU0UnIHwgdHJhbnNsYXRlIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -20160,6 +20160,11 @@ class UriUtils {
20160
20160
  if (queryParamIndex !== -1) {
20161
20161
  filename = filename.substring(0, queryParamIndex);
20162
20162
  }
20163
+ // Remove fragment
20164
+ const fragmentParamIndex = filename.indexOf('#');
20165
+ if (fragmentParamIndex !== -1) {
20166
+ filename = filename.substring(0, fragmentParamIndex);
20167
+ }
20163
20168
  return filename;
20164
20169
  }
20165
20170
  }
@@ -25445,7 +25450,7 @@ class AppMarkdownModal {
25445
25450
  canPrint = false;
25446
25451
  data;
25447
25452
  src;
25448
- _contents;
25453
+ content;
25449
25454
  static async show(modalCtrl, options) {
25450
25455
  const modal = await modalCtrl.create({
25451
25456
  component: AppMarkdownModal,
@@ -25480,19 +25485,19 @@ class AppMarkdownModal {
25480
25485
  }
25481
25486
  }
25482
25487
  markAsLoaded() {
25483
- this._contents.forEach((content) => content.markAsLoaded());
25488
+ this.content?.markAsLoaded();
25484
25489
  }
25485
25490
  markAsLoading() {
25486
- this._contents.forEach((content) => content.markAsLoading());
25491
+ this.content?.markAsLoading();
25487
25492
  }
25488
25493
  setError(err) {
25489
- this._contents.forEach((content) => content.setError(err));
25494
+ this.content?.setError(err);
25490
25495
  }
25491
25496
  resetError() {
25492
- this._contents.forEach((content) => content.resetError());
25497
+ this.content?.resetError();
25493
25498
  }
25494
25499
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, deps: [{ token: i0.Injector }, { token: i2$1.ModalController }, { token: PlatformService }, { token: LocalSettingsService }, { token: i1$1.TranslateService }, { token: NetworkService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
25495
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: { debug: "debug", title: "title", showError: "showError", canPrint: "canPrint", data: "data", src: "src" }, viewQueries: [{ propertyName: "_contents", predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "component", type: i2$1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2$1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2$1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2$1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2$1.IonRow, selector: "ion-row" }, { kind: "component", type: i2$1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "component", type: AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25500
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppMarkdownModal, selector: "app-markdown-modal", inputs: { debug: "debug", title: "title", showError: "showError", canPrint: "canPrint", data: "data", src: "src" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "@if (title || canPrint) {\n <app-modal-toolbar color=\"light\" [title]=\"title | translate\" (cancel)=\"close($event)\">\n @if (content.canGoBack) {\n <ion-button slot=\"start\" class=\"back-button\" (click)=\"goBack($event, content)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n }\n @if (canPrint) {\n <ion-button slot=\"end\" class=\"back-button\" (click)=\"content.print($event)\" routerDirection=\"back\">\n <ion-icon slot=\"icon-only\" name=\"print\"></ion-icon>\n </ion-button>\n }\n </app-modal-toolbar>\n}\n\n<ion-content class=\"ion-padding\">\n <app-markdown-content\n #content\n [src]=\"src\"\n [data]=\"data\"\n [showError]=\"showError\"\n [debug]=\"debug\"\n [updateRouteLocation]=\"false\"\n ></app-markdown-content>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\">\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "component", type: i2$1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2$1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2$1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2$1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2$1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2$1.IonRow, selector: "ion-row" }, { kind: "component", type: i2$1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "component", type: AppMarkdownContent, selector: "app-markdown-content", inputs: ["data", "src", "anchor", "debug", "showError", "animated", "enableNavigationHistory", "updateRouteLocation"], outputs: ["markdownUrlChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25496
25501
  }
25497
25502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppMarkdownModal, decorators: [{
25498
25503
  type: Component,
@@ -25509,8 +25514,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25509
25514
  type: Input
25510
25515
  }], src: [{
25511
25516
  type: Input
25512
- }], _contents: [{
25513
- type: ViewChildren,
25517
+ }], content: [{
25518
+ type: ViewChild,
25514
25519
  args: ['content']
25515
25520
  }] } });
25516
25521