@dotglitch/ngx-common 1.0.31 → 1.0.32

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.
@@ -3,5 +3,5 @@ export class OnMount {
3
3
  }
4
4
  export class DynamicHTMLOptions {
5
5
  }
6
- export const NGX_DYNAMIC_CONFIG = new InjectionToken('config');
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1odG1sL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFckQsTUFBTSxPQUFnQixPQUFPO0NBRTVCO0FBTUQsTUFBTSxPQUFPLGtCQUFrQjtDQUU5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFxQixRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPbk1vdW50IHtcbiAgICBhYnN0cmFjdCBkeW5hbWljT25Nb3VudChhdHRycz86IE1hcDxzdHJpbmcsIHN0cmluZz4sIGNvbnRlbnQ/OiBzdHJpbmcsIGVsZW1lbnQ/OiBFbGVtZW50KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRXaXRoU2VsZWN0b3Ige1xuICAgIHNlbGVjdG9yOiBzdHJpbmc7XG4gICAgY29tcG9uZW50OiBUeXBlPGFueT47XG59XG5leHBvcnQgY2xhc3MgRHluYW1pY0hUTUxPcHRpb25zIHtcbiAgICBjb21wb25lbnRzOiBBcnJheTxDb21wb25lbnRXaXRoU2VsZWN0b3I+O1xufVxuXG5leHBvcnQgY29uc3QgTkdYX0RZTkFNSUNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPER5bmFtaWNIVE1MT3B0aW9ucz4oJ2NvbmZpZycpO1xuXG4iXX0=
6
+ export const NGX_DYNAMIC_CONFIG = new InjectionToken('dynamichtml-config');
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZHluYW1pYy1odG1sL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFckQsTUFBTSxPQUFnQixPQUFPO0NBRTVCO0FBTUQsTUFBTSxPQUFPLGtCQUFrQjtDQUU5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9uTW91bnQge1xuICAgIGFic3RyYWN0IGR5bmFtaWNPbk1vdW50KGF0dHJzPzogTWFwPHN0cmluZywgc3RyaW5nPiwgY29udGVudD86IHN0cmluZywgZWxlbWVudD86IEVsZW1lbnQpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFdpdGhTZWxlY3RvciB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBjb21wb25lbnQ6IFR5cGU8YW55Pjtcbn1cbmV4cG9ydCBjbGFzcyBEeW5hbWljSFRNTE9wdGlvbnMge1xuICAgIGNvbXBvbmVudHM6IEFycmF5PENvbXBvbmVudFdpdGhTZWxlY3Rvcj47XG59XG5cbmV4cG9ydCBjb25zdCBOR1hfRFlOQU1JQ19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RHluYW1pY0hUTUxPcHRpb25zPignZHluYW1pY2h0bWwtY29uZmlnJyk7XG5cbiJdfQ==
@@ -5,7 +5,7 @@ import * as i0 from "@angular/core";
5
5
  // Monkey-patch the type of these symbols.
6
6
  const $id = Symbol("id");
7
7
  const $group = Symbol("group");
8
- export const NGX_LAZY_LOADER_CONFIG = new InjectionToken('config');
8
+ export const NGX_LAZY_LOADER_CONFIG = new InjectionToken('lazyloader-config');
9
9
  export class LazyLoaderService {
10
10
  get err() { return LazyLoaderService.config.logger.err; }
11
11
  get log() { return LazyLoaderService.config.logger.log; }
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
212
212
  type: Inject,
213
213
  args: [NGX_LAZY_LOADER_CONFIG]
214
214
  }] }]; } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQTRELHdCQUF3QixFQUFnRCxNQUFNLFNBQVMsQ0FBQztBQUMzSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFbkQsMENBQTBDO0FBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQWtCLENBQUM7QUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBa0IsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsUUFBUSxDQUFDLENBQUM7QUFLeEYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixJQUFZLEdBQUcsS0FBSyxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFZLEdBQUcsS0FBSyxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFZLElBQUksS0FBSyxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQVNuRSxZQUE0QyxTQUE4QixFQUFFO1FBQ3hFLG9GQUFvRjtRQUNwRixpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDaEQsTUFBTSxFQUFF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QUFNLENBQUMsY0FBYyxDQUFDLE9BQWMsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtJQUNMLENBQUM7O0FBclBELGlEQUFpRDtBQUNsQywwQkFBUSxHQUVuQixFQUFFLENBQUM7OEdBUkUsaUJBQWlCLGtCQVlOLHNCQUFzQjtrSEFaakMsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFhZ0IsTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGlsZWRDb21wb25lbnQsIENvbXBpbGVkTW9kdWxlLCBDb21wb25lbnRSZWdpc3RyYXRpb24sIENvbXBvbmVudFJlc29sdmVTdHJhdGVneSwgRHluYW1pY1JlZ2lzdHJhdGlvbkFyZ3MsIE5neExhenlMb2FkZXJDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHN0cmluZ1RvU2x1ZywgTG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG4vLyBNb25rZXktcGF0Y2ggdGhlIHR5cGUgb2YgdGhlc2Ugc3ltYm9scy5cbmNvbnN0ICRpZCA9IFN5bWJvbChcImlkXCIpIGFzIGFueSBhcyBzdHJpbmc7XG5jb25zdCAkZ3JvdXAgPSBTeW1ib2woXCJncm91cFwiKSBhcyBhbnkgYXMgc3RyaW5nO1xuXG5leHBvcnQgY29uc3QgTkdYX0xBWllfTE9BREVSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hMYXp5TG9hZGVyQ29uZmlnPignY29uZmlnJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF6eUxvYWRlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgZ2V0IGVycigpIHsgcmV0dXJuIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIuZXJyOyB9XG4gICAgcHJpdmF0ZSBnZXQgbG9nKCkgeyByZXR1cm4gTGF6eUxvYWRlclNlcnZpY2UuY29uZmlnLmxvZ2dlci5sb2c7IH1cbiAgICBwcml2YXRlIGdldCB3YXJuKCkgeyByZXR1cm4gTGF6eUxvYWRlclNlcnZpY2UuY29uZmlnLmxvZ2dlci53YXJuOyB9XG5cbiAgICAvLyBBIHByb3hpZWQgcmVnaXN0cnkgdGhhdCBtdXRhdGVzIHJlZmVyZW5jZSBrZXlzXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVnaXN0cnk6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogQ29tcG9uZW50UmVnaXN0cmF0aW9uW107XG4gICAgfSA9IHt9O1xuXG4gICAgcHVibGljIHN0YXRpYyBjb25maWc6IE5neExhenlMb2FkZXJDb25maWc7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWF9MQVpZX0xPQURFUl9DT05GSUcpIGNvbmZpZzogTmd4TGF6eUxvYWRlckNvbmZpZyA9IHt9KSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGlzIGlzIHNpbmdsZXRvbiBhbmQgd29ya3MgcmVnYXJkbGVzcyBvZiBzcGVjaWFsIGluc3RhbmNpbmcgcmVxdWlyZW1lbnRzLlxuICAgICAgICBMYXp5TG9hZGVyU2VydmljZS5jb25maWd1cmUoY29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb25maWd1cmUoY29uZmlnOiBOZ3hMYXp5TG9hZGVyQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nLCB3YXJuLCBlcnIgfSA9IExvZ2dlcihcIm5neC1sYXp5LWxvYWRlclwiLCBcIiMwMDk2ODhcIik7XG5cbiAgICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgICAgICBjb21wb25lbnRSZXNvbHZlU3RyYXRlZ3k6IENvbXBvbmVudFJlc29sdmVTdHJhdGVneS5QaWNrRmlyc3QsXG4gICAgICAgICAgICBsb2dnZXI6IHtcbiAgICAgICAgICAgICAgICBsb2csXG4gICAgICAgICAgICAgICAgd2FybixcbiAgICAgICAgICAgICAgICBlcnJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5jb25maWdcbiAgICAgICAgfTtcblxuICAgICAgICBjb25maWcuZW50cmllcz8uZm9yRWFjaChlID0+IHRoaXMuYWRkQ29tcG9uZW50VG9SZWdpc3RyeShlKSlcblxuICAgICAgICAvLyBJZiBhIGN1c3RvbSByZXNvbHV0aW9uIHN0cmF0ZWd5IGlzIHByb3ZpZGVkIGJ1dCBubyByZXNvbHV0aW9uIGZ1bmN0aW9uIGlzIHBhc3NlZCxcbiAgICAgICAgLy8gd2UgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuY29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5ID09IENvbXBvbmVudFJlc29sdmVTdHJhdGVneS5DdXN0b20gJiZcbiAgICAgICAgICAgICF0aGlzLmNvbmZpZy5jdXN0b21SZXNvbHZlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBpbml0aWFsaXplLiBDb25maWd1cmF0aW9uIHNwZWNpZmllcyBhIGN1c3RvbSByZXNvbHZlIG1hdGNoZXIgYnV0IG5vbmUgd2FzIHByb3ZpZGVkXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxvYWRlckRpc3RyYWN0b3JDb21wb25lbnQgJiYgdGhpcy5jb25maWcubG9hZGVyRGlzdHJhY3RvclRlbXBsYXRlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGhhdmUgYm90aCBhIENvbXBvbmVudCBhbmQgVGVtcGxhdGUgZm9yIERpc3RyYWN0b3Igdmlldy5cIilcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmVycm9yQ29tcG9uZW50ICYmIHRoaXMuY29uZmlnLmVycm9yVGVtcGxhdGUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaGF2ZSBib3RoIGEgQ29tcG9uZW50IGFuZCBUZW1wbGF0ZSBmb3IgRXJyb3Igdmlldy5cIilcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLm5vdEZvdW5kQ29tcG9uZW50ICYmIHRoaXMuY29uZmlnLm5vdEZvdW5kVGVtcGxhdGUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaGF2ZSBib3RoIGEgQ29tcG9uZW50IGFuZCBUZW1wbGF0ZSBmb3IgTm90Rm91bmQgdmlldy5cIilcblxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGFkZENvbXBvbmVudFRvUmVnaXN0cnkocmVnaXN0cmF0aW9uOiBDb21wb25lbnRSZWdpc3RyYXRpb24pIHtcbiAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYWRkIDx1bmRlZmluZWQ+IGNvbXBvbmVudCBpbnRvIHJlZ2lzdHJ5LlwiKTtcblxuICAgICAgICAvLyBDbG9uZSB0aGUgb2JqZWN0IGludG8gb3VyIHJlcG9zaXRvcnkgYW5kIHRyYW5zZmVyIHRoZSBpZCBpbnRvIGEgc3RhbmRhcmRpemVkIHNsdWcgZm9ybWF0XG5cbiAgICAgICAgY29uc3QgaWQgPSBzdHJpbmdUb1NsdWcocmVnaXN0cmF0aW9uLmlkID8/IERhdGUubm93KCkudG9TdHJpbmcoKSk7IC8vIHB1cmdlIG5vbi1iYXNpYyBBU0NJSSBjaGFyc1xuICAgICAgICBjb25zdCBncm91cCA9IHJlZ2lzdHJhdGlvbi5ncm91cCB8fCBcImRlZmF1bHRcIjtcblxuICAgICAgICByZWdpc3RyYXRpb25bJGlkXSA9IGlkO1xuICAgICAgICByZWdpc3RyYXRpb25bJGdyb3VwXSA9IGlkO1xuXG5cbiAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdHJ5W2dyb3VwXSlcbiAgICAgICAgICAgIHRoaXMucmVnaXN0cnlbZ3JvdXBdID0gW107XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIGEgcmVnaXN0cmF0aW9uIGZvciB0aGUgY29tcG9uZW50XG4gICAgICAgIC8vIGlmICh0aGlzLnJlZ2lzdHJ5W2dyb3VwXSAmJiB0eXBlb2YgdGhpcy5yZWdpc3RyeVtncm91cF1bJ2xvYWQnXSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgLy8gICAgIC8vIFdhcm4gdGhlIGRldmVsb3BlciB0aGF0IHRoZSBzdGF0ZSBpcyBwcm9ibGVtYXRpY1xuICAgICAgICAvLyAgICAgdGhpcy5jb25maWcubG9nZ2VyLndhcm4oXG4gICAgICAgIC8vICAgICAgICAgYEEgcHJldmlvdXMgZW50cnkgYWxyZWFkeSBleGlzdHMgZm9yICR7aWR9ISBUaGUgb2xkIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIG92ZXJyaWRkZW4uYCArXG4gICAgICAgIC8vICAgICAgICAgYFBsZWFzZSBlbnN1cmUgeW91IHVzZSBncm91cHMgaWYgeW91IGludGVuZCB0byBoYXZlIGR1cGxpY2F0ZSBjb21wb25lbnQgaWRzLiBgICtcbiAgICAgICAgLy8gICAgICAgICBgSWYgdGhpcyB3YXMgaW50ZW50aW9uYWwsIGZpcnN0IHJlbW92ZSB0aGUgb2xkIGNvbXBvbmVudCBmcm9tIHRoZSByZWdpc3RyeSBiZWZvcmUgYWRkaW5nIGEgbmV3IGluc3RhbmNlYFxuICAgICAgICAvLyAgICAgKTtcblxuICAgICAgICAvLyAgICAgLy8gSWYgd2UncmUgaW4gZGV2IG1vZGUsIGJyZWFrIHRoZSBsb2FkZXIgc3VyZmFjZVxuICAgICAgICAvLyAgICAgaWYgKGlzRGV2TW9kZSgpKVxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHRoaXMucmVnaXN0cnlbZ3JvdXBdLnB1c2gocmVnaXN0cmF0aW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhbiBBbmd1bGFyIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBpZCBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byByZXNvbHZlIHRoZSBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gZ3JvdXBcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50IEFuZ3VsYXIgQ29tcG9uZW50IENsYXNzIGNvbnN0cnVjdG9yXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyQ29tcG9uZW50PFQgZXh0ZW5kcyB7IG5ldyguLi5hcmdzOiBhbnlbXSk6IEluc3RhbmNlVHlwZTxUPjsgfT4oYXJnczogRHluYW1pY1JlZ2lzdHJhdGlvbkFyZ3M8VD4pIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wb25lbnRSZWdpc3RlcmVkKGFyZ3MuaWQsIGFyZ3MuZ3JvdXApKSB7XG4gICAgICAgICAgICB0aGlzLmxvZyhgV2lsbCBub3QgcmUtcmVnaXN0ZXIgY29tcG9uZW50ICcke2FyZ3MuaWR9JyBpbiBncm91cCAnJHthcmdzLmdyb3VwIHx8ICdkZWZhdWx0J30nIGApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgTGF6eUxvYWRlclNlcnZpY2UuYWRkQ29tcG9uZW50VG9SZWdpc3RyeSh7XG4gICAgICAgICAgICBpZDogc3RyaW5nVG9TbHVnKGFyZ3MuaWQpLFxuICAgICAgICAgICAgbWF0Y2hlcjogYXJncy5tYXRjaGVyLFxuICAgICAgICAgICAgZ3JvdXA6IHN0cmluZ1RvU2x1ZyhhcmdzLmdyb3VwIHx8IFwiZGVmYXVsdFwiKSxcbiAgICAgICAgICAgIGxvYWQ6IGFyZ3MubG9hZCB8fCAoKCkgPT4gYXJncy5jb21wb25lbnQpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkXG4gICAgICogQHBhcmFtIGdyb3VwXG4gICAgICovXG4gICAgcHVibGljIHVucmVnaXN0ZXJDb21wb25lbnQoaWQ6IHN0cmluZywgZ3JvdXAgPSBcImRlZmF1bHRcIikge1xuICAgICAgICBjb25zdCBfaWQgPSBzdHJpbmdUb1NsdWcoaWQpO1xuICAgICAgICBjb25zdCBfZ3JvdXAgPSBzdHJpbmdUb1NsdWcoZ3JvdXApO1xuXG4gICAgICAgIGlmICghdGhpcy5yZXNvbHZlUmVnaXN0cmF0aW9uRW50cnkoaWQsIGdyb3VwKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCB1bnJlZ2lzdGVyIGNvbXBvbmVudCAke30hIENvbXBvbmVudCBpcyBub3QgcHJlc2VudCBpbiByZWdpc3RyeVwiKVxuXG4gICAgICAgIC8vIFRPRE86IGhhbmRsZSBjbGVhcmluZyBydW5uaW5nIGluc3RhbmNlc1xuICAgICAgICBkZWxldGUgTGF6eUxvYWRlclNlcnZpY2UucmVnaXN0cnlbX2dyb3VwXVtfaWRdO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSByZWdpc3RyYXRpb24gZW50cnkgZm9yIGEgY29tcG9uZW50LlxuICAgICAqIFJldHVybnMgbnVsbCBpZiBjb21wb25lbnQgaXMgbm90IGluIHRoZSByZWdpc3RyeS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzb2x2ZVJlZ2lzdHJhdGlvbkVudHJ5KHZhbHVlOiBzdHJpbmcsIGdyb3VwID0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgY29uc3QgX2lkID0gc3RyaW5nVG9TbHVnKHZhbHVlKTtcbiAgICAgICAgY29uc3QgX2dyb3VwID0gc3RyaW5nVG9TbHVnKGdyb3VwKTtcblxuICAgICAgICBjb25zdCB0YXJnZXRHcm91cCA9IChMYXp5TG9hZGVyU2VydmljZS5yZWdpc3RyeVtfZ3JvdXBdIHx8IFtdKTtcblxuICAgICAgICBsZXQgaXRlbXMgPSB0YXJnZXRHcm91cC5maWx0ZXIodCA9PiB7XG4gICAgICAgICAgICBpZiAoIXQpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgLy8gTm8gbWF0Y2hlciwgY2hlY2sgaWRcbiAgICAgICAgICAgIGlmICghdC5tYXRjaGVyKVxuICAgICAgICAgICAgICAgIHJldHVybiB0WyRpZF0gPT0gX2lkO1xuXG4gICAgICAgICAgICAvLyBNYXRjaGVyIGlzIHJlZ2V4XG4gICAgICAgICAgICBpZiAodC5tYXRjaGVyIGluc3RhbmNlb2YgUmVnRXhwKVxuICAgICAgICAgICAgICAgIHJldHVybiB0Lm1hdGNoZXIudGVzdChfaWQpIHx8IHQubWF0Y2hlci50ZXN0KHZhbHVlKTtcblxuICAgICAgICAgICAgLy8gTWF0Y2hlciBpcyBzdHJpbmcgPT4gcmVnZXhcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdC5tYXRjaGVyID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcnggPSBuZXcgUmVnRXhwKHQubWF0Y2hlciwgJ3VpJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJ4LnRlc3QoX2lkKSB8fCByeC50ZXN0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTWF0Y2hlciBpcyBhcnJheVxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodC5tYXRjaGVyKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXQubWF0Y2hlci5maW5kKGUgPT4gc3RyaW5nVG9TbHVnKGUpID09IF9pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEN1c3RvbSBtYXRjaGVyIGZ1bmN0aW9uXG4gICAgICAgICAgICBpZiAodHlwZW9mIHQubWF0Y2hlciA9PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHQubWF0Y2hlcihfaWQpO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLndhcm4oXCJSZXNvbHZlZCBtdWx0aXBsZSBjb21wb25lbnRzIGZvciB0aGUgcHJvdmlkZWQgYFtjb21wb25lbnRdYCBiaW5kaW5nLiBUaGlzIG1heSBjYXVzZSBVSSBjb25mbGljdHMuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdXQgPSBpdGVtc1swXTtcblxuICAgICAgICBpZiAob3V0Lm1hdGNoZXIgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IF9pZC5tYXRjaChvdXQubWF0Y2hlcikgfHwgdmFsdWUubWF0Y2gob3V0Lm1hdGNoZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVudHJ5OiBvdXQsXG4gICAgICAgICAgICAgICAgbWF0Y2hHcm91cHM6IHJlc3VsdD8uZ3JvdXBzXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgZW50cnk6IG91dCB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgY29tcG9uZW50IGlzIGN1cnJlbnRseSByZWdpc3RlcmVkXG4gICAgICogQ2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUgcmVnZXggbWF0Y2hlcnMgYW5kIGFsaWFzZXMuXG4gICAgICovXG4gICAgcHVibGljIGlzQ29tcG9uZW50UmVnaXN0ZXJlZCh2YWx1ZTogc3RyaW5nLCBncm91cCA9IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucmVzb2x2ZVJlZ2lzdHJhdGlvbkVudHJ5KHZhbHVlLCBncm91cCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYnVuZGxlXG4gICAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudCBgT2JqZWN0YCBpZiBhIGNvbXBvbmVudCB3YXMgcmVzb2x2ZWQsIGBudWxsYCBpZiBubyBjb21wb25lbnQgd2FzIGZvdW5kXG4gICAgICogYGZhbHNlYCBpZiB0aGUgc3BlY2lmaWVkIHN0cmF0ZWd5IHdhcyBhbiBpbnZhbGlkIHNlbGVjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyByZXNvbHZlQ29tcG9uZW50KGlkOiBzdHJpbmcsIGdyb3VwOiBzdHJpbmcsIG1vZHVsZXM6IChDb21waWxlZENvbXBvbmVudCB8IENvbXBpbGVkTW9kdWxlKVtdKTogT2JqZWN0IHwgbnVsbCB8IGZhbHNlIHtcblxuICAgICAgICBzd2l0Y2ggKExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5jb21wb25lbnRSZXNvbHZlU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5LlBpY2tGaXJzdDoge1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZXNbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEV4YWN0IGlkIC0+IGNsYXNzbmFtZSBtYXRjaFxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRSZXNvbHZlU3RyYXRlZ3kuTWF0Y2hJZFRvQ2xhc3NOYW1lOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoayA9PiBrLm5hbWUgPT0gaWQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGdXp6eSBpZCAtPiBjbGFzc25hbWUgbWF0Y2hcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5LkZ1enp5SWRDbGFzc05hbWU6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBfaWQgPSBpZC5yZXBsYWNlKC9bXmEtejAtOV9cXC1dL2lnLCAnJyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoX2lkLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIuZXJyKFwiRnV6enkgY2xhc3NuYW1lIG1hdGNoaW5nIHN0cmlwcGVkIGFsbCBzeW1ib2xzIGZyb20gdGhlIElEIHNwZWNpZmllZCFcIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByeCA9IG5ldyBSZWdFeHAoYF4ke2lkfShjb21wb25lbnR8bW9kdWxlKT8kYCwgXCJpXCIpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IG1vZHVsZXNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihtb2QgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGtpZCA9IG1vZC5uYW1lLnJlcGxhY2UoL1teYS16MC05X1xcLV0vaWcsICcnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJ4LnRlc3Qoa2lkKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIuZXJyKFwiRnV6enkgY2xhc3NuYW1lIG1hdGNoaW5nIHJlc29sdmVkIG11bHRpcGxlIHRhcmdldHMhXCIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgTGF6eUxvYWRlclNlcnZpY2UuY29uZmlnLmxvZ2dlci5lcnIoXCJGdXp6eSBjbGFzc25hbWUgbWF0Y2hpbmcgcmVzb2x2ZWQgbm8gdGFyZ2V0cyFcIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBDb21wb25lbnRSZXNvbHZlU3RyYXRlZ3kuQ3VzdG9tOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5jdXN0b21SZXNvbHZlcihtb2R1bGVzIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQTRELHdCQUF3QixFQUFnRCxNQUFNLFNBQVMsQ0FBQztBQUMzSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFbkQsMENBQTBDO0FBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQWtCLENBQUM7QUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBa0IsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsbUJBQW1CLENBQUMsQ0FBQztBQUtuRyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLElBQVksR0FBRyxLQUFLLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLElBQVksR0FBRyxLQUFLLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLElBQVksSUFBSSxLQUFLLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBU25FLFlBQTRDLFNBQThCLEVBQUU7UUFDeEUsb0ZBQW9GO1FBQ3BGLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUEyQjtRQUNoRCxNQUFNLEVB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LE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBYyxDQUFDLENBQUM7YUFDbEU7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNoQjtTQUNKO0lBQ0wsQ0FBQzs7QUFyUEQsaURBQWlEO0FBQ2xDLDBCQUFRLEdBRW5CLEVBQUUsQ0FBQzs4R0FSRSxpQkFBaUIsa0JBWU4sc0JBQXNCO2tIQVpqQyxpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWFnQixNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21waWxlZENvbXBvbmVudCwgQ29tcGlsZWRNb2R1bGUsIENvbXBvbmVudFJlZ2lzdHJhdGlvbiwgQ29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5LCBEeW5hbWljUmVnaXN0cmF0aW9uQXJncywgTmd4TGF6eUxvYWRlckNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5nVG9TbHVnLCBMb2dnZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbi8vIE1vbmtleS1wYXRjaCB0aGUgdHlwZSBvZiB0aGVzZSBzeW1ib2xzLlxuY29uc3QgJGlkID0gU3ltYm9sKFwiaWRcIikgYXMgYW55IGFzIHN0cmluZztcbmNvbnN0ICRncm91cCA9IFN5bWJvbChcImdyb3VwXCIpIGFzIGFueSBhcyBzdHJpbmc7XG5cbmV4cG9ydCBjb25zdCBOR1hfTEFaWV9MT0FERVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE5neExhenlMb2FkZXJDb25maWc+KCdsYXp5bG9hZGVyLWNvbmZpZycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExhenlMb2FkZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGdldCBlcnIoKSB7IHJldHVybiBMYXp5TG9hZGVyU2VydmljZS5jb25maWcubG9nZ2VyLmVycjsgfVxuICAgIHByaXZhdGUgZ2V0IGxvZygpIHsgcmV0dXJuIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIubG9nOyB9XG4gICAgcHJpdmF0ZSBnZXQgd2FybigpIHsgcmV0dXJuIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIud2FybjsgfVxuXG4gICAgLy8gQSBwcm94aWVkIHJlZ2lzdHJ5IHRoYXQgbXV0YXRlcyByZWZlcmVuY2Uga2V5c1xuICAgIHByaXZhdGUgc3RhdGljIHJlZ2lzdHJ5OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IENvbXBvbmVudFJlZ2lzdHJhdGlvbltdO1xuICAgIH0gPSB7fTtcblxuICAgIHB1YmxpYyBzdGF0aWMgY29uZmlnOiBOZ3hMYXp5TG9hZGVyQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChOR1hfTEFaWV9MT0FERVJfQ09ORklHKSBjb25maWc6IE5neExhenlMb2FkZXJDb25maWcgPSB7fSkge1xuICAgICAgICAvLyBFbnN1cmUgdGhpcyBpcyBzaW5nbGV0b24gYW5kIHdvcmtzIHJlZ2FyZGxlc3Mgb2Ygc3BlY2lhbCBpbnN0YW5jaW5nIHJlcXVpcmVtZW50cy5cbiAgICAgICAgTGF6eUxvYWRlclNlcnZpY2UuY29uZmlndXJlKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29uZmlndXJlKGNvbmZpZzogTmd4TGF6eUxvYWRlckNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGxvZywgd2FybiwgZXJyIH0gPSBMb2dnZXIoXCJuZ3gtbGF6eS1sb2FkZXJcIiwgXCIjMDA5Njg4XCIpO1xuXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgY29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5OiBDb21wb25lbnRSZXNvbHZlU3RyYXRlZ3kuUGlja0ZpcnN0LFxuICAgICAgICAgICAgbG9nZ2VyOiB7XG4gICAgICAgICAgICAgICAgbG9nLFxuICAgICAgICAgICAgICAgIHdhcm4sXG4gICAgICAgICAgICAgICAgZXJyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uY29uZmlnXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uZmlnLmVudHJpZXM/LmZvckVhY2goZSA9PiB0aGlzLmFkZENvbXBvbmVudFRvUmVnaXN0cnkoZSkpXG5cbiAgICAgICAgLy8gSWYgYSBjdXN0b20gcmVzb2x1dGlvbiBzdHJhdGVneSBpcyBwcm92aWRlZCBidXQgbm8gcmVzb2x1dGlvbiBmdW5jdGlvbiBpcyBwYXNzZWQsXG4gICAgICAgIC8vIHdlIHRocm93IGFuIGVycm9yXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmNvbXBvbmVudFJlc29sdmVTdHJhdGVneSA9PSBDb21wb25lbnRSZXNvbHZlU3RyYXRlZ3kuQ3VzdG9tICYmXG4gICAgICAgICAgICAhdGhpcy5jb25maWcuY3VzdG9tUmVzb2x2ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5pdGlhbGl6ZS4gQ29uZmlndXJhdGlvbiBzcGVjaWZpZXMgYSBjdXN0b20gcmVzb2x2ZSBtYXRjaGVyIGJ1dCBub25lIHdhcyBwcm92aWRlZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sb2FkZXJEaXN0cmFjdG9yQ29tcG9uZW50ICYmIHRoaXMuY29uZmlnLmxvYWRlckRpc3RyYWN0b3JUZW1wbGF0ZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBoYXZlIGJvdGggYSBDb21wb25lbnQgYW5kIFRlbXBsYXRlIGZvciBEaXN0cmFjdG9yIHZpZXcuXCIpXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5lcnJvckNvbXBvbmVudCAmJiB0aGlzLmNvbmZpZy5lcnJvclRlbXBsYXRlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGhhdmUgYm90aCBhIENvbXBvbmVudCBhbmQgVGVtcGxhdGUgZm9yIEVycm9yIHZpZXcuXCIpXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5ub3RGb3VuZENvbXBvbmVudCAmJiB0aGlzLmNvbmZpZy5ub3RGb3VuZFRlbXBsYXRlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGhhdmUgYm90aCBhIENvbXBvbmVudCBhbmQgVGVtcGxhdGUgZm9yIE5vdEZvdW5kIHZpZXcuXCIpXG5cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBhZGRDb21wb25lbnRUb1JlZ2lzdHJ5KHJlZ2lzdHJhdGlvbjogQ29tcG9uZW50UmVnaXN0cmF0aW9uKSB7XG4gICAgICAgIGlmICghcmVnaXN0cmF0aW9uKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGFkZCA8dW5kZWZpbmVkPiBjb21wb25lbnQgaW50byByZWdpc3RyeS5cIik7XG5cbiAgICAgICAgLy8gQ2xvbmUgdGhlIG9iamVjdCBpbnRvIG91ciByZXBvc2l0b3J5IGFuZCB0cmFuc2ZlciB0aGUgaWQgaW50byBhIHN0YW5kYXJkaXplZCBzbHVnIGZvcm1hdFxuXG4gICAgICAgIGNvbnN0IGlkID0gc3RyaW5nVG9TbHVnKHJlZ2lzdHJhdGlvbi5pZCA/PyBEYXRlLm5vdygpLnRvU3RyaW5nKCkpOyAvLyBwdXJnZSBub24tYmFzaWMgQVNDSUkgY2hhcnNcbiAgICAgICAgY29uc3QgZ3JvdXAgPSByZWdpc3RyYXRpb24uZ3JvdXAgfHwgXCJkZWZhdWx0XCI7XG5cbiAgICAgICAgcmVnaXN0cmF0aW9uWyRpZF0gPSBpZDtcbiAgICAgICAgcmVnaXN0cmF0aW9uWyRncm91cF0gPSBpZDtcblxuXG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RyeVtncm91cF0pXG4gICAgICAgICAgICB0aGlzLnJlZ2lzdHJ5W2dyb3VwXSA9IFtdO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGNvbXBvbmVudFxuICAgICAgICAvLyBpZiAodGhpcy5yZWdpc3RyeVtncm91cF0gJiYgdHlwZW9mIHRoaXMucmVnaXN0cnlbZ3JvdXBdWydsb2FkJ10gPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIC8vICAgICAvLyBXYXJuIHRoZSBkZXZlbG9wZXIgdGhhdCB0aGUgc3RhdGUgaXMgcHJvYmxlbWF0aWNcbiAgICAgICAgLy8gICAgIHRoaXMuY29uZmlnLmxvZ2dlci53YXJuKFxuICAgICAgICAvLyAgICAgICAgIGBBIHByZXZpb3VzIGVudHJ5IGFscmVhZHkgZXhpc3RzIGZvciAke2lkfSEgVGhlIG9sZCByZWdpc3RyYXRpb24gd2lsbCBiZSBvdmVycmlkZGVuLmAgK1xuICAgICAgICAvLyAgICAgICAgIGBQbGVhc2UgZW5zdXJlIHlvdSB1c2UgZ3JvdXBzIGlmIHlvdSBpbnRlbmQgdG8gaGF2ZSBkdXBsaWNhdGUgY29tcG9uZW50IGlkcy4gYCArXG4gICAgICAgIC8vICAgICAgICAgYElmIHRoaXMgd2FzIGludGVudGlvbmFsLCBmaXJzdCByZW1vdmUgdGhlIG9sZCBjb21wb25lbnQgZnJvbSB0aGUgcmVnaXN0cnkgYmVmb3JlIGFkZGluZyBhIG5ldyBpbnN0YW5jZWBcbiAgICAgICAgLy8gICAgICk7XG5cbiAgICAgICAgLy8gICAgIC8vIElmIHdlJ3JlIGluIGRldiBtb2RlLCBicmVhayB0aGUgbG9hZGVyIHN1cmZhY2VcbiAgICAgICAgLy8gICAgIGlmIChpc0Rldk1vZGUoKSlcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIH1cblxuICAgICAgICB0aGlzLnJlZ2lzdHJ5W2dyb3VwXS5wdXNoKHJlZ2lzdHJhdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYW4gQW5ndWxhciBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gaWQgaWRlbnRpZmllciB0aGF0IGlzIHVzZWQgdG8gcmVzb2x2ZSB0aGUgY29tcG9uZW50XG4gICAgICogQHBhcmFtIGdyb3VwXG4gICAgICogQHBhcmFtIGNvbXBvbmVudCBBbmd1bGFyIENvbXBvbmVudCBDbGFzcyBjb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3RlckNvbXBvbmVudDxUIGV4dGVuZHMgeyBuZXcoLi4uYXJnczogYW55W10pOiBJbnN0YW5jZVR5cGU8VD47IH0+KGFyZ3M6IER5bmFtaWNSZWdpc3RyYXRpb25BcmdzPFQ+KSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29tcG9uZW50UmVnaXN0ZXJlZChhcmdzLmlkLCBhcmdzLmdyb3VwKSkge1xuICAgICAgICAgICAgdGhpcy5sb2coYFdpbGwgbm90IHJlLXJlZ2lzdGVyIGNvbXBvbmVudCAnJHthcmdzLmlkfScgaW4gZ3JvdXAgJyR7YXJncy5ncm91cCB8fCAnZGVmYXVsdCd9JyBgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIExhenlMb2FkZXJTZXJ2aWNlLmFkZENvbXBvbmVudFRvUmVnaXN0cnkoe1xuICAgICAgICAgICAgaWQ6IHN0cmluZ1RvU2x1ZyhhcmdzLmlkKSxcbiAgICAgICAgICAgIG1hdGNoZXI6IGFyZ3MubWF0Y2hlcixcbiAgICAgICAgICAgIGdyb3VwOiBzdHJpbmdUb1NsdWcoYXJncy5ncm91cCB8fCBcImRlZmF1bHRcIiksXG4gICAgICAgICAgICBsb2FkOiBhcmdzLmxvYWQgfHwgKCgpID0+IGFyZ3MuY29tcG9uZW50KVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZFxuICAgICAqIEBwYXJhbSBncm91cFxuICAgICAqL1xuICAgIHB1YmxpYyB1bnJlZ2lzdGVyQ29tcG9uZW50KGlkOiBzdHJpbmcsIGdyb3VwID0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgY29uc3QgX2lkID0gc3RyaW5nVG9TbHVnKGlkKTtcbiAgICAgICAgY29uc3QgX2dyb3VwID0gc3RyaW5nVG9TbHVnKGdyb3VwKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVzb2x2ZVJlZ2lzdHJhdGlvbkVudHJ5KGlkLCBncm91cCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdW5yZWdpc3RlciBjb21wb25lbnQgJHt9ISBDb21wb25lbnQgaXMgbm90IHByZXNlbnQgaW4gcmVnaXN0cnlcIilcblxuICAgICAgICAvLyBUT0RPOiBoYW5kbGUgY2xlYXJpbmcgcnVubmluZyBpbnN0YW5jZXNcbiAgICAgICAgZGVsZXRlIExhenlMb2FkZXJTZXJ2aWNlLnJlZ2lzdHJ5W19ncm91cF1bX2lkXTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgcmVnaXN0cmF0aW9uIGVudHJ5IGZvciBhIGNvbXBvbmVudC5cbiAgICAgKiBSZXR1cm5zIG51bGwgaWYgY29tcG9uZW50IGlzIG5vdCBpbiB0aGUgcmVnaXN0cnkuXG4gICAgICovXG4gICAgcHVibGljIHJlc29sdmVSZWdpc3RyYXRpb25FbnRyeSh2YWx1ZTogc3RyaW5nLCBncm91cCA9IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgIGNvbnN0IF9pZCA9IHN0cmluZ1RvU2x1Zyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IF9ncm91cCA9IHN0cmluZ1RvU2x1Zyhncm91cCk7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0R3JvdXAgPSAoTGF6eUxvYWRlclNlcnZpY2UucmVnaXN0cnlbX2dyb3VwXSB8fCBbXSk7XG5cbiAgICAgICAgbGV0IGl0ZW1zID0gdGFyZ2V0R3JvdXAuZmlsdGVyKHQgPT4ge1xuICAgICAgICAgICAgaWYgKCF0KSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIE5vIG1hdGNoZXIsIGNoZWNrIGlkXG4gICAgICAgICAgICBpZiAoIXQubWF0Y2hlcilcbiAgICAgICAgICAgICAgICByZXR1cm4gdFskaWRdID09IF9pZDtcblxuICAgICAgICAgICAgLy8gTWF0Y2hlciBpcyByZWdleFxuICAgICAgICAgICAgaWYgKHQubWF0Y2hlciBpbnN0YW5jZW9mIFJlZ0V4cClcbiAgICAgICAgICAgICAgICByZXR1cm4gdC5tYXRjaGVyLnRlc3QoX2lkKSB8fCB0Lm1hdGNoZXIudGVzdCh2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8vIE1hdGNoZXIgaXMgc3RyaW5nID0+IHJlZ2V4XG4gICAgICAgICAgICBpZiAodHlwZW9mIHQubWF0Y2hlciA9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJ4ID0gbmV3IFJlZ0V4cCh0Lm1hdGNoZXIsICd1aScpO1xuICAgICAgICAgICAgICAgIHJldHVybiByeC50ZXN0KF9pZCkgfHwgcngudGVzdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE1hdGNoZXIgaXMgYXJyYXlcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHQubWF0Y2hlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF0Lm1hdGNoZXIuZmluZChlID0+IHN0cmluZ1RvU2x1ZyhlKSA9PSBfaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDdXN0b20gbWF0Y2hlciBmdW5jdGlvblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0Lm1hdGNoZXIgPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgICAgIHJldHVybiB0Lm1hdGNoZXIoX2lkKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy53YXJuKFwiUmVzb2x2ZWQgbXVsdGlwbGUgY29tcG9uZW50cyBmb3IgdGhlIHByb3ZpZGVkIGBbY29tcG9uZW50XWAgYmluZGluZy4gVGhpcyBtYXkgY2F1c2UgVUkgY29uZmxpY3RzLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3V0ID0gaXRlbXNbMF07XG5cbiAgICAgICAgaWYgKG91dC5tYXRjaGVyIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBfaWQubWF0Y2gob3V0Lm1hdGNoZXIpIHx8IHZhbHVlLm1hdGNoKG91dC5tYXRjaGVyKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlbnRyeTogb3V0LFxuICAgICAgICAgICAgICAgIG1hdGNoR3JvdXBzOiByZXN1bHQ/Lmdyb3Vwc1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IGVudHJ5OiBvdXQgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhIGNvbXBvbmVudCBpcyBjdXJyZW50bHkgcmVnaXN0ZXJlZFxuICAgICAqIENhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIHJlZ2V4IG1hdGNoZXJzIGFuZCBhbGlhc2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0NvbXBvbmVudFJlZ2lzdGVyZWQodmFsdWU6IHN0cmluZywgZ3JvdXAgPSBcImRlZmF1bHRcIikge1xuICAgICAgICByZXR1cm4gISF0aGlzLnJlc29sdmVSZWdpc3RyYXRpb25FbnRyeSh2YWx1ZSwgZ3JvdXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGJ1bmRsZVxuICAgICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQgYE9iamVjdGAgaWYgYSBjb21wb25lbnQgd2FzIHJlc29sdmVkLCBgbnVsbGAgaWYgbm8gY29tcG9uZW50IHdhcyBmb3VuZFxuICAgICAqIGBmYWxzZWAgaWYgdGhlIHNwZWNpZmllZCBzdHJhdGVneSB3YXMgYW4gaW52YWxpZCBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzb2x2ZUNvbXBvbmVudChpZDogc3RyaW5nLCBncm91cDogc3RyaW5nLCBtb2R1bGVzOiAoQ29tcGlsZWRDb21wb25lbnQgfCBDb21waWxlZE1vZHVsZSlbXSk6IE9iamVjdCB8IG51bGwgfCBmYWxzZSB7XG5cbiAgICAgICAgc3dpdGNoIChMYXp5TG9hZGVyU2VydmljZS5jb25maWcuY29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5KSB7XG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFJlc29sdmVTdHJhdGVneS5QaWNrRmlyc3Q6IHtcblxuICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGVzWzBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFeGFjdCBpZCAtPiBjbGFzc25hbWUgbWF0Y2hcbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5Lk1hdGNoSWRUb0NsYXNzTmFtZToge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPVxuICAgICAgICAgICAgICAgICAgICBtb2R1bGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGsgPT4gay5uYW1lID09IGlkKTtcblxuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PSAwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRnV6enkgaWQgLT4gY2xhc3NuYW1lIG1hdGNoXG4gICAgICAgICAgICBjYXNlIENvbXBvbmVudFJlc29sdmVTdHJhdGVneS5GdXp6eUlkQ2xhc3NOYW1lOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgX2lkID0gaWQucmVwbGFjZSgvW15hLXowLTlfXFwtXS9pZywgJycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKF9pZC5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBMYXp5TG9hZGVyU2VydmljZS5jb25maWcubG9nZ2VyLmVycihcIkZ1enp5IGNsYXNzbmFtZSBtYXRjaGluZyBzdHJpcHBlZCBhbGwgc3ltYm9scyBmcm9tIHRoZSBJRCBzcGVjaWZpZWQhXCIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgcnggPSBuZXcgUmVnRXhwKGBeJHtpZH0oY29tcG9uZW50fG1vZHVsZSk/JGAsIFwiaVwiKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBtb2R1bGVzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIobW9kID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBraWQgPSBtb2QubmFtZS5yZXBsYWNlKC9bXmEtejAtOV9cXC1dL2lnLCAnJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByeC50ZXN0KGtpZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBMYXp5TG9hZGVyU2VydmljZS5jb25maWcubG9nZ2VyLmVycihcIkZ1enp5IGNsYXNzbmFtZSBtYXRjaGluZyByZXNvbHZlZCBtdWx0aXBsZSB0YXJnZXRzIVwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIExhenlMb2FkZXJTZXJ2aWNlLmNvbmZpZy5sb2dnZXIuZXJyKFwiRnV6enkgY2xhc3NuYW1lIG1hdGNoaW5nIHJlc29sdmVkIG5vIHRhcmdldHMhXCIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50UmVzb2x2ZVN0cmF0ZWd5LkN1c3RvbToge1xuICAgICAgICAgICAgICAgIHJldHVybiBMYXp5TG9hZGVyU2VydmljZS5jb25maWcuY3VzdG9tUmVzb2x2ZXIobW9kdWxlcyBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- export const NGX_WEB_COMPONENTS_CONFIG = new InjectionToken('config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTkdYX1dFQl9DT01QT05FTlRTX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hXZWJDb21wb25lbnRzQ29uZmlnPignY29uZmlnJyk7XG5cbmV4cG9ydCB0eXBlIE5neFdlYkNvbXBvbmVudHNDb25maWcgPSBQYXJ0aWFsPHtcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCB0aGF0IGFzc2V0cyB3aWxsIHVsdGltYXRlbHkgYmUgc2VydmVkIGZyb20uXG4gICAgICogRGVmYXVsdCBgL2Fzc2V0cy9gXG4gICAgICovXG4gICAgYXNzZXRQYXRoOiBzdHJpbmdcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEZpbGVTb3J0aW5nID0gXCJhLXpcIiB8IFwiei1hXCIgfCBcImxhc3Rtb2RcIiB8IFwiZmlyc3Rtb2RcIiB8IFwic2l6ZVwiIHwgXCJ0eXBlXCI7XG4iXX0=
2
+ export const NGX_WEB_COMPONENTS_CONFIG = new InjectionToken('webcomponents-config');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsc0JBQXNCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE5neFdlYkNvbXBvbmVudHNDb25maWc+KCd3ZWJjb21wb25lbnRzLWNvbmZpZycpO1xuXG5leHBvcnQgdHlwZSBOZ3hXZWJDb21wb25lbnRzQ29uZmlnID0gUGFydGlhbDx7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdGhhdCBhc3NldHMgd2lsbCB1bHRpbWF0ZWx5IGJlIHNlcnZlZCBmcm9tLlxuICAgICAqIERlZmF1bHQgYC9hc3NldHMvYFxuICAgICAqL1xuICAgIGFzc2V0UGF0aDogc3RyaW5nXG59PjtcblxuXG5leHBvcnQgdHlwZSBGaWxlU29ydGluZyA9IFwiYS16XCIgfCBcInotYVwiIHwgXCJsYXN0bW9kXCIgfCBcImZpcnN0bW9kXCIgfCBcInNpemVcIiB8IFwidHlwZVwiO1xuIl19
@@ -1107,7 +1107,7 @@ var ComponentResolveStrategy;
1107
1107
  // Monkey-patch the type of these symbols.
1108
1108
  const $id = Symbol("id");
1109
1109
  const $group = Symbol("group");
1110
- const NGX_LAZY_LOADER_CONFIG = new InjectionToken('config');
1110
+ const NGX_LAZY_LOADER_CONFIG = new InjectionToken('lazyloader-config');
1111
1111
  class LazyLoaderService {
1112
1112
  get err() { return LazyLoaderService.config.logger.err; }
1113
1113
  get log() { return LazyLoaderService.config.logger.log; }
@@ -2050,7 +2050,7 @@ class OnMount {
2050
2050
  }
2051
2051
  class DynamicHTMLOptions {
2052
2052
  }
2053
- const NGX_DYNAMIC_CONFIG = new InjectionToken('config');
2053
+ const NGX_DYNAMIC_CONFIG = new InjectionToken('dynamichtml-config');
2054
2054
 
2055
2055
  function isBrowserPlatform() {
2056
2056
  return window != null && window.document != null;
@@ -9342,7 +9342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
9342
9342
  type: Output
9343
9343
  }] } });
9344
9344
 
9345
- const NGX_WEB_COMPONENTS_CONFIG = new InjectionToken('config');
9345
+ const NGX_WEB_COMPONENTS_CONFIG = new InjectionToken('webcomponents-config');
9346
9346
 
9347
9347
  class FilemanagerComponent {
9348
9348
  get currentFileGrid() { return this.fileGrids[this.tabIndex]; }