adb-shared 6.0.55 → 6.1.0

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.
Files changed (60) hide show
  1. package/fesm2022/adb-shared.mjs +204 -187
  2. package/fesm2022/adb-shared.mjs.map +1 -1
  3. package/lib/components/pagers/pager-base.directive.d.ts +1 -1
  4. package/package.json +7 -9
  5. package/esm2022/adb-shared.mjs +0 -5
  6. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.mjs +0 -48
  7. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.mjs +0 -112
  8. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.mjs +0 -59
  9. package/esm2022/lib/components/adb-artportalen-nav/environment.service.mjs +0 -16
  10. package/esm2022/lib/components/adb-artportalen-nav/navigation.model.mjs +0 -2
  11. package/esm2022/lib/components/adb-buttons/adb-buttons.module.mjs +0 -19
  12. package/esm2022/lib/components/adb-buttons/help-button.component.mjs +0 -48
  13. package/esm2022/lib/components/adb-confirm-modal/adb-confirm-modal.mjs +0 -29
  14. package/esm2022/lib/components/adb-confirm-modal/adb-modal.module.mjs +0 -23
  15. package/esm2022/lib/components/adb-confirm-modal/adb-modal.service.mjs +0 -47
  16. package/esm2022/lib/components/adb-dropdown/adb-dropdown.directive.mjs +0 -100
  17. package/esm2022/lib/components/adb-dropdown/adb-dropdown.module.mjs +0 -24
  18. package/esm2022/lib/components/adb-dropdown/adb-dropdown.service.mjs +0 -10
  19. package/esm2022/lib/components/adb-dropdown/adb-dropdown2.directive.mjs +0 -119
  20. package/esm2022/lib/components/adb-filter-section/adb-filter-section.module.mjs +0 -21
  21. package/esm2022/lib/components/adb-filter-section/filter-section.component.mjs +0 -31
  22. package/esm2022/lib/components/adb-header/adb-header.module.mjs +0 -49
  23. package/esm2022/lib/components/adb-header/adb-nav.component.mjs +0 -115
  24. package/esm2022/lib/components/adb-header/environment.service.mjs +0 -16
  25. package/esm2022/lib/components/adb-header/navigation.model.mjs +0 -2
  26. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.component.mjs +0 -112
  27. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.module.mjs +0 -29
  28. package/esm2022/lib/components/adb-rich-editor/adb-rich-text.mjs +0 -65
  29. package/esm2022/lib/components/adb-rich-editor/rich-module-config.mjs +0 -3
  30. package/esm2022/lib/components/adb-toast/adb-toast.mjs +0 -25
  31. package/esm2022/lib/components/adb-toast/adb-toast.module.mjs +0 -23
  32. package/esm2022/lib/components/adb-toast/adb-toast.service.mjs +0 -55
  33. package/esm2022/lib/components/adb-user/adb-user-service-config.mjs +0 -11
  34. package/esm2022/lib/components/adb-user/adb-user.interceptor.mjs +0 -46
  35. package/esm2022/lib/components/adb-user/adb-user.module.mjs +0 -59
  36. package/esm2022/lib/components/adb-user/adb-user.service.mjs +0 -214
  37. package/esm2022/lib/components/adb-user/auth-callback.component.mjs +0 -57
  38. package/esm2022/lib/components/adb-user/user-constants.mjs +0 -10
  39. package/esm2022/lib/components/date-picker/adb-date-picker.component.mjs +0 -177
  40. package/esm2022/lib/components/date-picker/adb-date-picker.directive.mjs +0 -220
  41. package/esm2022/lib/components/date-picker/adb-date-picker.module.mjs +0 -25
  42. package/esm2022/lib/components/date-picker/adb-date-picker.service.mjs +0 -10
  43. package/esm2022/lib/components/pagers/infinite-scroll.component.mjs +0 -47
  44. package/esm2022/lib/components/pagers/pager-base.directive.mjs +0 -57
  45. package/esm2022/lib/components/pagers/pager-inline.mjs +0 -49
  46. package/esm2022/lib/components/pagers/pager.mjs +0 -53
  47. package/esm2022/lib/components/pagers/pagers.module.mjs +0 -26
  48. package/esm2022/lib/directives/click-outside.directive.mjs +0 -28
  49. package/esm2022/lib/directives/directives.module.mjs +0 -21
  50. package/esm2022/lib/directives/file-upload.directive.mjs +0 -36
  51. package/esm2022/lib/directives/focus.directive.mjs +0 -34
  52. package/esm2022/lib/directives/redlist-badge-class.directive.mjs +0 -44
  53. package/esm2022/lib/directives/risk-class.directive.mjs +0 -37
  54. package/esm2022/lib/pipes/date.pipe.mjs +0 -22
  55. package/esm2022/lib/pipes/emptyValue.pipe.mjs +0 -22
  56. package/esm2022/lib/pipes/highlight-html.pipe.mjs +0 -46
  57. package/esm2022/lib/pipes/highlight.pipe.mjs +0 -46
  58. package/esm2022/lib/pipes/number-spacing.pipe.mjs +0 -21
  59. package/esm2022/lib/pipes/pipes.module.mjs +0 -21
  60. package/esm2022/public-api.mjs +0 -50
@@ -13,5 +13,5 @@ export declare abstract class PagerBaseDirective {
13
13
  protected calculatePages(): void;
14
14
  protected abstract ngOnInitReady(): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerBaseDirective, never>;
16
- static ɵdir: i0.ɵɵDirectiveDeclaration<PagerBaseDirective, never, never, { "setTotalCount": { "alias": "totalCount"; "required": false; }; "setLimit": { "alias": "limit"; "required": false; }; }, {}, never, never, false, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PagerBaseDirective, never, never, { "setTotalCount": { "alias": "totalCount"; "required": false; }; "setLimit": { "alias": "limit"; "required": false; }; }, {}, never, never, true, never>;
17
17
  }
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "adb-shared",
3
- "version": "6.0.55",
3
+ "version": "6.1.0",
4
4
  "author": "ADB",
5
5
  "license": "ISC",
6
6
  "peerDependencies": {
7
- "@angular/common": ">= 16.x",
8
- "@angular/core": ">= 16.x ",
9
- "@angular/router": ">= 16.x ",
10
- "@ngx-translate/core": ">= 15.x",
11
- "@ngx-translate/http-loader": ">= 8.x",
12
- "date-fns": ">= 2.28.x"
7
+ "@angular/common": ">= 17.x",
8
+ "@angular/core": ">= 17.x ",
9
+ "@angular/router": ">= 17.x ",
10
+ "@ngx-translate/core": ">= 16.x",
11
+ "@ngx-translate/http-loader": ">= 16.x",
12
+ "date-fns": ">= 3.x.x"
13
13
  },
14
14
  "dependencies": {
15
15
  "tslib": "^2.3.0"
@@ -22,8 +22,6 @@
22
22
  },
23
23
  ".": {
24
24
  "types": "./index.d.ts",
25
- "esm2022": "./esm2022/adb-shared.mjs",
26
- "esm": "./esm2022/adb-shared.mjs",
27
25
  "default": "./fesm2022/adb-shared.mjs"
28
26
  }
29
27
  },
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9hZGItc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { Subscription } from "rxjs";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- import * as i2 from "./environment.service";
6
- import * as i3 from "@ngx-translate/core";
7
- import * as i4 from "@angular/common";
8
- export class ArtportalenFooterComponent {
9
- constructor(httpClient, envService, trans) {
10
- this.httpClient = httpClient;
11
- this.envService = envService;
12
- this.trans = trans;
13
- this.subscription = new Subscription();
14
- this.translationFinished = false;
15
- }
16
- ngOnInit() {
17
- this.url = window.location.href;
18
- this.baseUrl = this.envService.environment.resourceUrl;
19
- this.initTranslations(this.baseUrl);
20
- }
21
- initTranslations(baseUrl) {
22
- if (this.trans.store.translations[this.trans.currentLang]) {
23
- this.loadTranslation(baseUrl, this.trans.currentLang);
24
- }
25
- this.subscription.add(this.trans.onLangChange.subscribe((event) => {
26
- this.translationFinished = false;
27
- this.loadTranslation(baseUrl, event.lang);
28
- }));
29
- }
30
- loadTranslation(baseUrl, lang) {
31
- //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
32
- const url = baseUrl + `/assets/artportalen/i18n/${lang}.json`;
33
- this.subscription.add(this.httpClient.get(url).subscribe(translations => {
34
- this.trans.setTranslation(lang, translations, true);
35
- this.translationFinished = true;
36
- }));
37
- }
38
- ngOnDestroy() {
39
- this.subscription.unsubscribe();
40
- }
41
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenFooterComponent, deps: [{ token: i1.HttpClient }, { token: i2.EnvironmentService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ArtportalenFooterComponent, selector: "adb-artportalen-footer", ngImport: i0, template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 px-5 justify-content-center text-white\">\r\n <div class=\"row mb-4\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 mb-3\">\r\n <a href=\"https://www.artdatabanken.se/artportalen/\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/artportalen-tillganglighetsredogorelse\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/kontakt/support\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.SUPPORT'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.TERMS_OF_USE'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.PERSONAL_DATA'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-2\" style=\"font-variant: small-caps;\"><sub><strong>{{'FOOTER.PARTNERS'|translate}}</strong></sub></div>\r\n <a href=\"https://birdlife.se\" class=\"d-block text-white mb-2\"><span class=\"me-1\">BirdLife Sverige</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://svenskbotanik.se\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Svenska Botaniska F\u00F6reningen</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.sef.nu\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Sveriges Entomologiska F\u00F6rening</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.svampar.se\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Sveriges Mykologiska F\u00F6rening</span><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-3 text-white\">\r\n <div>{{'FOOTER.INFO'|translate}}</div>\r\n <div>{{'FOOTER.INFO2'|translate}}</div>\r\n <div>{{'FOOTER.INFO3'|translate}}\r\n <a href=\"https://www.naturvardsverket.se\" class=\"text-white mb-2\"><u class=\"me-1\">Naturv\u00E5rdsverket.</u><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">{{'FOOTER.INFO4'|translate}}.</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img class=\"d-block d-md-none\" style=\"height: 2.6rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <img class=\"d-none d-md-block\" style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <div class=\"border-end d-block d-sm-none\"></div>\r\n <img class=\"d-none d-md-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n <img class=\"d-block d-md-none align-self-center pe-5\" style=\"height: 0.8rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenFooterComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'adb-artportalen-footer', template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 px-5 justify-content-center text-white\">\r\n <div class=\"row mb-4\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 mb-3\">\r\n <a href=\"https://www.artdatabanken.se/artportalen/\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/artportalen-tillganglighetsredogorelse\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/kontakt/support\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.SUPPORT'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.TERMS_OF_USE'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" class=\"d-block text-white mb-2\"><span class=\"me-1\">{{'FOOTER.PERSONAL_DATA'|translate}}</span><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-2\" style=\"font-variant: small-caps;\"><sub><strong>{{'FOOTER.PARTNERS'|translate}}</strong></sub></div>\r\n <a href=\"https://birdlife.se\" class=\"d-block text-white mb-2\"><span class=\"me-1\">BirdLife Sverige</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://svenskbotanik.se\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Svenska Botaniska F\u00F6reningen</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.sef.nu\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Sveriges Entomologiska F\u00F6rening</span><span class=\"fas fa-external-link\"></span></a>\r\n <a href=\"https://www.svampar.se\" class=\"d-block text-nowrap text-white mb-2\"><span class=\"me-1\">Sveriges Mykologiska F\u00F6rening</span><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-3 text-white\">\r\n <div>{{'FOOTER.INFO'|translate}}</div>\r\n <div>{{'FOOTER.INFO2'|translate}}</div>\r\n <div>{{'FOOTER.INFO3'|translate}}\r\n <a href=\"https://www.naturvardsverket.se\" class=\"text-white mb-2\"><u class=\"me-1\">Naturv\u00E5rdsverket.</u><span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">{{'FOOTER.INFO4'|translate}}.</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img class=\"d-block d-md-none\" style=\"height: 2.6rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <img class=\"d-none d-md-block\" style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <div class=\"border-end d-block d-sm-none\"></div>\r\n <img class=\"d-none d-md-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n <img class=\"d-block d-md-none align-self-center pe-5\" style=\"height: 0.8rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>" }]
47
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i3.TranslateService }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWFydHBvcnRhbGVuLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWFydHBvcnRhbGVuLW5hdi9hZGItYXJ0cG9ydGFsZW4tZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItYXJ0cG9ydGFsZW4tbmF2L2FkYi1hcnRwb3J0YWxlbi1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBU3BDLE1BQU0sT0FBTywwQkFBMEI7SUFNbkMsWUFDWSxVQUFzQixFQUN0QixVQUE4QixFQUMvQixLQUF1QjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBUjFCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFTNUIsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWU7UUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWUsRUFBRSxJQUFZO1FBQ2pELCtGQUErRjtRQUMvRixNQUFNLEdBQUcsR0FBRyxPQUFPLEdBQUcsNEJBQTRCLElBQUksT0FBTyxDQUFDO1FBQzlELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFHRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO2lJQXhDUSwwQkFBMEI7cUhBQTFCLDBCQUEwQiw4RENYdkMsc3lJQStDUzs7MkZEcENJLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gXCIuL2Vudmlyb25tZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tIFwiLi9uYXZpZ2F0aW9uLm1vZGVsXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRiLWFydHBvcnRhbGVuLWZvb3RlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRiLWFydHBvcnRhbGVuLWZvb3Rlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFydHBvcnRhbGVuRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgIHRyYW5zbGF0aW9uRmluaXNoZWQgPSBmYWxzZTtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgbmF2aWdhdGlvbjogTmF2aWdhdGlvbjtcclxuICAgIGJhc2VVcmw6IGFueTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgICAgICB0aGlzLmluaXRUcmFuc2xhdGlvbnModGhpcy5iYXNlVXJsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJhbnMuc3RvcmUudHJhbnNsYXRpb25zW3RoaXMudHJhbnMuY3VycmVudExhbmddKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKGJhc2VVcmwsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uRmluaXNoZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb24oYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbG9hZFRyYW5zbGF0aW9uKGJhc2VVcmw6IHN0cmluZywgbGFuZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy9UT0RPOiBQcmVwYXJlIGZvciBkaWZmZW50cyBsYW5nIHRoZW4gZW4gc3YgKGVuLUdCKSBvciBhZGQgbW9yZSBmaWxlcyBpbiBkZXZjb21wb25lbnRzZXJ2ZXIgOilcclxuICAgICAgICBjb25zdCB1cmwgPSBiYXNlVXJsICsgYC9hc3NldHMvYXJ0cG9ydGFsZW4vaTE4bi8ke2xhbmd9Lmpzb25gO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCkuc3Vic2NyaWJlKHRyYW5zbGF0aW9ucyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnMuc2V0VHJhbnNsYXRpb24obGFuZywgdHJhbnNsYXRpb25zLCB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbkZpbmlzaGVkID0gdHJ1ZTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59IiwiPGZvb3RlciBjbGFzcz1cImJnLXByaW1hcnktZGFyayBweS0yIG10LWF1dG8gY29udGFpbmVyLWZsdWlkXCIgKm5nSWY9XCJ0cmFuc2xhdGlvbkZpbmlzaGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIHB5LTMgcHgtNSBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmFydGRhdGFiYW5rZW4uc2UvYXJ0cG9ydGFsZW4vXCIgY2xhc3M9XCJkLWJsb2NrIHRleHQtd2hpdGUgbWItMlwiPnt7J0ZPT1RFUi5BQk9VVCd8dHJhbnNsYXRlfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmFydGRhdGFiYW5rZW4uc2UvYXJ0cG9ydGFsZW4tdGlsbGdhbmdsaWdoZXRzcmVkb2dvcmVsc2VcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC13aGl0ZSBtYi0yXCI+e3snRk9PVEVSLldDQUcnfHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5hcnRkYXRhYmFua2VuLnNlL29tLW9zcy9rb250YWt0L3N1cHBvcnRcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC13aGl0ZSBtYi0yXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+e3snRk9PVEVSLlNVUFBPUlQnfHRyYW5zbGF0ZX19PC9zcGFuPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5hcnRkYXRhYmFua2VuLnNlL3RqYW5zdGVyLW9jaC1taWxqb2RhdGEvdmlsbGtvci1rb250b2hhdmFyZVwiIGNsYXNzPVwiZC1ibG9jayB0ZXh0LXdoaXRlIG1iLTJcIj48c3BhbiBjbGFzcz1cIm1lLTFcIj57eydGT09URVIuVEVSTVNfT0ZfVVNFJ3x0cmFuc2xhdGV9fTwvc3Bhbj48c3BhbiBjbGFzcz1cImZhcyBmYS1leHRlcm5hbC1saW5rXCI+PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYXJ0ZGF0YWJhbmtlbi5zZS9vbS1vc3MvYmVoYW5kbGluZy1hdi1wZXJzb251cHBnaWZ0ZXJcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC13aGl0ZSBtYi0yXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+e3snRk9PVEVSLlBFUlNPTkFMX0RBVEEnfHRyYW5zbGF0ZX19PC9zcGFuPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiIHN0eWxlPVwiZm9udC12YXJpYW50OiBzbWFsbC1jYXBzO1wiPjxzdWI+PHN0cm9uZz57eydGT09URVIuUEFSVE5FUlMnfHRyYW5zbGF0ZX19PC9zdHJvbmc+PC9zdWI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vYmlyZGxpZmUuc2VcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC13aGl0ZSBtYi0yXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+QmlyZExpZmUgU3ZlcmlnZTwvc3Bhbj48c3BhbiBjbGFzcz1cImZhcyBmYS1leHRlcm5hbC1saW5rXCI+PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9zdmVuc2tib3RhbmlrLnNlXCIgY2xhc3M9XCJkLWJsb2NrIHRleHQtbm93cmFwIHRleHQtd2hpdGUgbWItMlwiPjxzcGFuIGNsYXNzPVwibWUtMVwiPlN2ZW5za2EgQm90YW5pc2thIEbDtnJlbmluZ2VuPC9zcGFuPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5zZWYubnVcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC1ub3dyYXAgdGV4dC13aGl0ZSBtYi0yXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+U3ZlcmlnZXMgRW50b21vbG9naXNrYSBGw7ZyZW5pbmc8L3NwYW4+PHNwYW4gY2xhc3M9XCJmYXMgZmEtZXh0ZXJuYWwtbGlua1wiPjwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN2YW1wYXIuc2VcIiBjbGFzcz1cImQtYmxvY2sgdGV4dC1ub3dyYXAgdGV4dC13aGl0ZSBtYi0yXCI+PHNwYW4gY2xhc3M9XCJtZS0xXCI+U3ZlcmlnZXMgTXlrb2xvZ2lza2EgRsO2cmVuaW5nPC9zcGFuPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7J0ZPT1RFUi5JTkZPJ3x0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7J0ZPT1RFUi5JTkZPMid8dHJhbnNsYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj57eydGT09URVIuSU5GTzMnfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubmF0dXJ2YXJkc3ZlcmtldC5zZVwiIGNsYXNzPVwidGV4dC13aGl0ZSBtYi0yXCI+PHUgY2xhc3M9XCJtZS0xXCI+TmF0dXJ2w6VyZHN2ZXJrZXQuPC91PjxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPnt7J0ZPT1RFUi5JTkZPNCd8dHJhbnNsYXRlfX0uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGV4dC13aGl0ZSB0ZXh0LWRlY29yYXRpb24tbm9uZSBkLWZsZXggZ2FwLTIgbWItM1wiIGhyZWY9XCJodHRwczovL3d3dy5hcnRkYXRhYmFua2VuLnNlL1wiIHRhcmdldD1cIm5ld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiZC1ibG9jayBkLW1kLW5vbmVcIiBzdHlsZT1cImhlaWdodDogMi42cmVtO1wiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL3NsdS5zdmdcIiBhbHQ9XCJsb2dvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9ja1wiIHN0eWxlPVwiaGVpZ2h0OiAycmVtO1wiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL3NsdS5zdmdcIiBhbHQ9XCJsb2dvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZW5kIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZW5kIGQtYmxvY2sgZC1zbS1ub25lXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9jayBhbGlnbi1zZWxmLWNlbnRlciBwZS01XCIgc3R5bGU9XCJoZWlnaHQ6IDAuN3JlbTtcIiBzcmM9XCIvYXNzZXRzL2ltYWdlcy9hcnRkYXRhYmFua2VuLnN2Z1wiIGFsdD1cImxvZ29cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImQtYmxvY2sgZC1tZC1ub25lIGFsaWduLXNlbGYtY2VudGVyIHBlLTVcIiBzdHlsZT1cImhlaWdodDogMC44cmVtO1wiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL2FydGRhdGFiYW5rZW4uc3ZnXCIgYWx0PVwibG9nb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZm9vdGVyPiJdfQ==
@@ -1,112 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from "@angular/core";
2
- import { Subscription } from "rxjs";
3
- import { NavigationEnd } from "@angular/router";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "@ngx-translate/core";
8
- import * as i4 from "./environment.service";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "../../directives/click-outside.directive";
11
- export class ArtportalenNavComponent {
12
- set userName(fullName) {
13
- this.fullName = fullName;
14
- }
15
- ;
16
- constructor(httpClient, router, trans, envService) {
17
- this.httpClient = httpClient;
18
- this.router = router;
19
- this.trans = trans;
20
- this.envService = envService;
21
- this.subscription = new Subscription();
22
- this.loginClicked = new EventEmitter();
23
- this.logoutClicked = new EventEmitter();
24
- this.dropMenuChange = new EventEmitter();
25
- this.showPattern = false;
26
- this.translationFinished = false;
27
- this.lastPosition = 0;
28
- this.showNavMenu = false;
29
- this.showUserMenu = false;
30
- this.showReport = true;
31
- this.showObservations = true;
32
- this.showSubs = false;
33
- }
34
- ngOnInit() {
35
- this.url = window.location.href;
36
- const baseUrl = this.envService.environment.resourceUrl;
37
- const url = '/assets/artportalen/links-ap3.json';
38
- this.subscription.add(this.httpClient.get(baseUrl + url).subscribe(result => {
39
- this.navigation = result;
40
- }));
41
- this.initTranslations(baseUrl);
42
- this.router.events.subscribe((event) => {
43
- if (event instanceof NavigationEnd) {
44
- this.showNavMenu = false;
45
- this.dropMenuChange.emit(this.showNavMenu);
46
- }
47
- });
48
- }
49
- showMenuDropdown(show) {
50
- this.showUserMenu = false;
51
- if (this.showNavMenu !== show) {
52
- this.showNavMenu = show;
53
- this.dropMenuChange.emit(show);
54
- }
55
- }
56
- setLanguage(lang) {
57
- this.trans.use(lang);
58
- this.showNavMenu = false;
59
- this.dropMenuChange.emit(false);
60
- }
61
- onUserClick() {
62
- if (this.fullName) {
63
- this.logout();
64
- }
65
- else {
66
- this.login();
67
- }
68
- }
69
- login() {
70
- this.loginClicked.emit();
71
- }
72
- logout() {
73
- this.logoutClicked.emit();
74
- }
75
- initTranslations(baseUrl) {
76
- if (this.trans.store.translations[this.trans.currentLang]) {
77
- this.loadTranslation(baseUrl, this.trans.currentLang);
78
- }
79
- this.subscription.add(this.trans.onLangChange.subscribe((event) => {
80
- this.translationFinished = false;
81
- this.loadTranslation(baseUrl, event.lang);
82
- }));
83
- }
84
- loadTranslation(baseUrl, lang) {
85
- //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
86
- const url = baseUrl + `/assets/artportalen/i18n/${lang}.json`;
87
- this.subscription.add(this.httpClient.get(url).subscribe(translations => {
88
- this.trans.setTranslation(lang, translations, true);
89
- this.translationFinished = true;
90
- }));
91
- }
92
- ngOnDestroy() {
93
- this.subscription.unsubscribe();
94
- }
95
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: i3.TranslateService }, { token: i4.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
96
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ArtportalenNavComponent, selector: "adb-artportalen-nav", inputs: { showPattern: "showPattern", userName: "userName" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<div class=\"bg-primary adb-main-header position-static\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg px-0\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"px-1 d-flex flex-wrap align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-2\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a [href]=\"navigation?.home\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artportalen beta</a>\r\n </nav>\r\n <div class=\"ms-auto d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"d-none d-md-block btn btn-primary-dark btn-lg\" type=\"button\"\r\n title=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n attr.aria-label=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n (click)=\"onUserClick()\">\r\n <small>{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}</small>\r\n </button>\r\n </div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\" title=\"{{'HEADER.MENY'|translate}}\" attr.aria-label=\"{{'HEADER.MENY'|translate}}\" (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"ms-2 d-none d-md-inline-block\">{{'HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-center d-md-none p-2 border-dark border-top\">\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n title=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n attr.aria-label=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\" (click)=\"onUserClick()\">\r\n <small>{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}</small>\r\n </button>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\" [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\"><a [href]=\"navigation.home\" class=\"text-white text-decoration-none\">Artportalen beta</a></h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"fullName\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!fullName\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showReport?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.report.url}}\">\r\n {{navigation.report.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showReport = !showReport\" attr.aria-controls=\"report-links\" attr.aria-expanded=\"{{showReport}}\">\r\n <span class=\"fas\" [ngClass]=\"showReport?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showReport\" id=\"report-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.checklist.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.checklist.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.report.url}}\">\r\n {{'HEADER.REPORT'|translate}}\r\n </a>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex \">\r\n <a href=\"{{navigation.wanted.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.wanted.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showObservations?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.observations.url}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showObservations = !showObservations\" attr.aria-controls=\"observations-links\" attr.aria-expanded=\"{{showObservations}}\">\r\n <span class=\"fas\" [ngClass]=\"showObservations?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showObservations\" id=\"observations-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}\">\r\n {{'HEADER.TODAYS_OBSERVATIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-0\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fieldDiary.url}}\">\r\n {{'HEADER.FIELD_DIARY'|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showSubs?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <button class=\"btn btn-link p-0 text-white w-100 text-start\" (click)=\"showSubs = !showSubs\">\r\n {{navigation.subcriptions.transId|translate}}\r\n </button>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showSubs = !showSubs\" attr.aria-controls=\"subs-links\" attr.aria-expanded=\"{{showSubs}}\">\r\n <span class=\"fas\" [ngClass]=\"showSubs?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showSubs\" id=\"subs-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.subcriptions.url}}\">\r\n {{'HEADER.MY_SUBSCRIPTIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.events.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.events.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fyndregler.url}}\">\r\n {{navigation.fyndregler.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n Artportalen.se\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artfaktaUrl\">\r\n {{'HEADER.ARTFAKTA'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\">\r\n {{'HEADER.ARTDATABANKEN'|translate}}\r\n <span class=\"fas fa-external-link\"></span>\r\n </a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\"> </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'adb-artportalen-nav', template: "<div class=\"bg-primary adb-main-header position-static\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg px-0\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"px-1 d-flex flex-wrap align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-2\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a [href]=\"navigation?.home\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artportalen beta</a>\r\n </nav>\r\n <div class=\"ms-auto d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"d-none d-md-block btn btn-primary-dark btn-lg\" type=\"button\"\r\n title=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n attr.aria-label=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n (click)=\"onUserClick()\">\r\n <small>{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}</small>\r\n </button>\r\n </div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\" title=\"{{'HEADER.MENY'|translate}}\" attr.aria-label=\"{{'HEADER.MENY'|translate}}\" (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"ms-2 d-none d-md-inline-block\">{{'HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-center d-md-none p-2 border-dark border-top\">\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n title=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\"\r\n attr.aria-label=\"{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}\" (click)=\"onUserClick()\">\r\n <small>{{(!fullName ? 'HEADER.LOGIN' : 'HEADER.LOGOUT')|translate}}</small>\r\n </button>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\" [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\"><a [href]=\"navigation.home\" class=\"text-white text-decoration-none\">Artportalen beta</a></h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"fullName\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!fullName\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showReport?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.report.url}}\">\r\n {{navigation.report.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showReport = !showReport\" attr.aria-controls=\"report-links\" attr.aria-expanded=\"{{showReport}}\">\r\n <span class=\"fas\" [ngClass]=\"showReport?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showReport\" id=\"report-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.checklist.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.checklist.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.report.url}}\">\r\n {{'HEADER.REPORT'|translate}}\r\n </a>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex \">\r\n <a href=\"{{navigation.wanted.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.wanted.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showObservations?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.observations.url}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showObservations = !showObservations\" attr.aria-controls=\"observations-links\" attr.aria-expanded=\"{{showObservations}}\">\r\n <span class=\"fas\" [ngClass]=\"showObservations?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showObservations\" id=\"observations-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}\">\r\n {{'HEADER.TODAYS_OBSERVATIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-0\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fieldDiary.url}}\">\r\n {{'HEADER.FIELD_DIARY'|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showSubs?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <button class=\"btn btn-link p-0 text-white w-100 text-start\" (click)=\"showSubs = !showSubs\">\r\n {{navigation.subcriptions.transId|translate}}\r\n </button>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showSubs = !showSubs\" attr.aria-controls=\"subs-links\" attr.aria-expanded=\"{{showSubs}}\">\r\n <span class=\"fas\" [ngClass]=\"showSubs?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showSubs\" id=\"subs-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.subcriptions.url}}\">\r\n {{'HEADER.MY_SUBSCRIPTIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.events.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.events.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fyndregler.url}}\">\r\n {{navigation.fyndregler.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n Artportalen.se\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artfaktaUrl\">\r\n {{'HEADER.ARTFAKTA'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\">\r\n {{'HEADER.ARTDATABANKEN'|translate}}\r\n <span class=\"fas fa-external-link\"></span>\r\n </a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\"> </div>\r\n </div>\r\n </div>\r\n</div>" }]
101
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.TranslateService }, { type: i4.EnvironmentService }], propDecorators: { loginClicked: [{
102
- type: Output
103
- }], logoutClicked: [{
104
- type: Output
105
- }], dropMenuChange: [{
106
- type: Output
107
- }], showPattern: [{
108
- type: Input
109
- }], userName: [{
110
- type: Input
111
- }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWFydHBvcnRhbGVuLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWFydHBvcnRhbGVuLW5hdi9hZGItYXJ0cG9ydGFsZW4tbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItYXJ0cG9ydGFsZW4tbmF2L2FkYi1hcnRwb3J0YWxlbi1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQVMsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBUy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFXaEMsSUFBYSxRQUFRLENBQUMsUUFBZ0I7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFXRixZQUNZLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZixLQUF1QixFQUN0QixVQUE4QjtRQUg5QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQTNCbEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTdCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQVFqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBT2pCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsb0NBQW9DLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWEsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwRixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzFDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzlDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFJO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixDQUFDO2FBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBR08sZ0JBQWdCLENBQUMsT0FBZTtRQUNwQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBZSxFQUFFLElBQVk7UUFDakQsK0ZBQStGO1FBQy9GLE1BQU0sR0FBRyxHQUFHLE9BQU8sR0FBRyw0QkFBNEIsSUFBSSxPQUFPLENBQUM7UUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7aUlBbkdRLHVCQUF1QjtxSEFBdkIsdUJBQXVCLHNPQ2JwQyxrM1hBK0tNOzsyRkRsS08sdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNJLHFCQUFxQjtvS0FLckIsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSztnQkFLTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgRXZlbnQsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbiB9IGZyb20gXCIuL25hdmlnYXRpb24ubW9kZWxcIjtcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4vZW52aXJvbm1lbnQuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhZGItYXJ0cG9ydGFsZW4tbmF2JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZGItYXJ0cG9ydGFsZW4tbmF2LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJ0cG9ydGFsZW5OYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgIEBPdXRwdXQoKSBsb2dpbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgbG9nb3V0Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBkcm9wTWVudUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBzaG93UGF0dGVybiA9IGZhbHNlO1xyXG4gICAgZnVsbE5hbWU6IHN0cmluZztcclxuICAgIHRyYW5zbGF0aW9uRmluaXNoZWQgPSBmYWxzZTtcclxuICAgIGxhc3RQb3NpdGlvbiA9IDA7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHVzZXJOYW1lKGZ1bGxOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmZ1bGxOYW1lID0gZnVsbE5hbWU7XHJcbiAgICB9O1xyXG5cclxuICAgIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHNob3dOYXZNZW51ID0gZmFsc2U7XHJcbiAgICBzaG93VXNlck1lbnUgPSBmYWxzZTtcclxuXHJcbiAgICBzaG93UmVwb3J0ID0gdHJ1ZTtcclxuICAgIHNob3dPYnNlcnZhdGlvbnMgPSB0cnVlO1xyXG4gICAgc2hvd1N1YnMgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQucmVzb3VyY2VVcmw7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJy9hc3NldHMvYXJ0cG9ydGFsZW4vbGlua3MtYXAzLmpzb24nO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyB1cmwpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb24gPSByZXN1bHQ7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuaW5pdFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TmF2TWVudSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wTWVudUNoYW5nZS5lbWl0KHRoaXMuc2hvd05hdk1lbnUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93TWVudURyb3Bkb3duKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dOYXZNZW51ICE9PSBzaG93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd05hdk1lbnUgPSBzaG93O1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BNZW51Q2hhbmdlLmVtaXQoc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGxhbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgICAgICB0aGlzLnNob3dOYXZNZW51ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kcm9wTWVudUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBvblVzZXJDbGljaygpOnZvaWR7XHJcbiAgICAgICAgaWYodGhpcy5mdWxsTmFtZSl7XHJcbiAgICAgICAgICAgdGhpcy5sb2dvdXQoKTsgXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW4oKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9naW5DbGlja2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2dvdXRDbGlja2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBpbml0VHJhbnNsYXRpb25zKGJhc2VVcmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zLnN0b3JlLnRyYW5zbGF0aW9uc1t0aGlzLnRyYW5zLmN1cnJlbnRMYW5nXSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRUcmFuc2xhdGlvbihiYXNlVXJsLCB0aGlzLnRyYW5zLmN1cnJlbnRMYW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudHJhbnMub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbkZpbmlzaGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKGJhc2VVcmwsIGV2ZW50LmxhbmcpO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGxvYWRUcmFuc2xhdGlvbihiYXNlVXJsOiBzdHJpbmcsIGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIC8vVE9ETzogUHJlcGFyZSBmb3IgZGlmZmVudHMgbGFuZyB0aGVuIGVuIHN2IChlbi1HQikgb3IgYWRkIG1vcmUgZmlsZXMgaW4gZGV2Y29tcG9uZW50c2VydmVyIDopXHJcbiAgICAgICAgY29uc3QgdXJsID0gYmFzZVVybCArIGAvYXNzZXRzL2FydHBvcnRhbGVuL2kxOG4vJHtsYW5nfS5qc29uYDtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldCh1cmwpLnN1YnNjcmliZSh0cmFuc2xhdGlvbnMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKGxhbmcsIHRyYW5zbGF0aW9ucywgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25GaW5pc2hlZCA9IHRydWU7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJiZy1wcmltYXJ5IGFkYi1tYWluLWhlYWRlciBwb3NpdGlvbi1zdGF0aWNcIiAoYWRiQ2xpY2tPdXRzaWRlKT1cInNob3dNZW51RHJvcGRvd24oZmFsc2UpO1wiPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cImNvbnRhaW5lci1sZyBweC0wXCIgKm5nSWY9XCJ0cmFuc2xhdGlvbkZpbmlzaGVkXCI+XHJcbiAgICAgICAgPGRpdiBbYXR0ci5pZF09XCJzaG93UGF0dGVybj8nYmFubmVyJzonJ1wiIGNsYXNzPVwicHgtMSBkLWZsZXggZmxleC13cmFwIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICA8bmF2IGNsYXNzPVwiZC1mbGV4IGZsZXgtZ3Jvdy0xIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0yIHB5LTIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1mbGV4IHRleHQtd2hpdGUgdGV4dC1kZWNvcmF0aW9uLW5vbmUgZC1mbGV4IGdhcC0yXCIgaHJlZj1cImh0dHBzOi8vd3d3LmFydGRhdGFiYW5rZW4uc2UvXCIgdGFyZ2V0PVwibmV3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT1cImhlaWdodDogMnJlbTtcIiBzcmM9XCIvYXNzZXRzL2ltYWdlcy9zbHUuc3ZnXCIgYWx0PVwibG9nb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItZW5kIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImQtbm9uZSBkLXNtLWJsb2NrIGFsaWduLXNlbGYtY2VudGVyIHBlLTVcIiBzdHlsZT1cImhlaWdodDogMC43cmVtO1wiIHNyYz1cIi9hc3NldHMvaW1hZ2VzL2FydGRhdGFiYW5rZW4uc3ZnXCIgYWx0PVwibG9nb1wiPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibmF2aWdhdGlvbj8uaG9tZVwiIGNsYXNzPVwidGV4dC13aGl0ZSB0ZXh0LWRlY29yYXRpb24tbm9uZSBmcy0xIGZ3LWJvbGRcIj5BcnRwb3J0YWxlbiBiZXRhPC9hPlxyXG4gICAgICAgICAgICA8L25hdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9jayBidG4gYnRuLXByaW1hcnktZGFyayBidG4tbGdcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyghZnVsbE5hbWUgPyAnSEVBREVSLkxPR0lOJyA6ICdIRUFERVIuTE9HT1VUJyl8dHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyghZnVsbE5hbWUgPyAnSEVBREVSLkxPR0lOJyA6ICdIRUFERVIuTE9HT1VUJyl8dHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Vc2VyQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+e3soIWZ1bGxOYW1lID8gJ0hFQURFUi5MT0dJTicgOiAnSEVBREVSLkxPR09VVCcpfHRyYW5zbGF0ZX19PC9zbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWRhcmsgYnRuLWxnXCIgdHlwZT1cImJ1dHRvblwiIHRpdGxlPVwie3snSEVBREVSLk1FTlknfHRyYW5zbGF0ZX19XCIgYXR0ci5hcmlhLWxhYmVsPVwie3snSEVBREVSLk1FTlknfHRyYW5zbGF0ZX19XCIgKGNsaWNrKT1cInNob3dNZW51RHJvcGRvd24oIXNob3dOYXZNZW51KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1iYXJzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJtcy0yIGQtbm9uZSBkLW1kLWlubGluZS1ibG9ja1wiPnt7J0hFQURFUi5NRU5ZJ3x0cmFuc2xhdGV9fTwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGQtbWQtbm9uZSBwLTIgYm9yZGVyLWRhcmsgYm9yZGVyLXRvcFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWRhcmsgYnRuLWxnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7KCFmdWxsTmFtZSA/ICdIRUFERVIuTE9HSU4nIDogJ0hFQURFUi5MT0dPVVQnKXx0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyghZnVsbE5hbWUgPyAnSEVBREVSLkxPR0lOJyA6ICdIRUFERVIuTE9HT1VUJyl8dHJhbnNsYXRlfX1cIiAoY2xpY2spPVwib25Vc2VyQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNtYWxsPnt7KCFmdWxsTmFtZSA/ICdIRUFERVIuTE9HSU4nIDogJ0hFQURFUi5MT0dPVVQnKXx0cmFuc2xhdGV9fTwvc21hbGw+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9oZWFkZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibmF2aWdhdGlvblwiIHJvbGU9XCJkaWFsb2dcIiBjbGFzcz1cIm9mZmNhbnZhcyBvZmZjYW52YXMtZW5kIGJnLXByaW1hcnkgdGV4dC13aGl0ZVwiIFtjbGFzcy5zaG93XT1cInNob3dOYXZNZW51XCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cIm9mZmNhbnZhc05hdlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvZmZjYW52YXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cIm9mZmNhbnZhcy10aXRsZSBoLXNlY3Rpb24gbWItMFwiIGlkPVwib2ZmY2FudmFzTmF2XCI+PGEgW2hyZWZdPVwibmF2aWdhdGlvbi5ob21lXCIgY2xhc3M9XCJ0ZXh0LXdoaXRlIHRleHQtZGVjb3JhdGlvbi1ub25lXCI+QXJ0cG9ydGFsZW4gYmV0YTwvYT48L2gxPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZSBidG4tY2xvc2Utd2hpdGVcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7eydDTE9TRSd8dHJhbnNsYXRlfX1cIiAoY2xpY2spPVwic2hvd01lbnVEcm9wZG93bihmYWxzZSlcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib2ZmY2FudmFzLWJvZHkgZC1mbGV4IGZsZXgtY29sdW1uIHAtMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG1iLTIgZ2FwLTEgcHgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmdWxsTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnktZGFya1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0hFQURFUi5MT0dPVVQnfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3tmdWxsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmdWxsTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWRhcmtcIiAoY2xpY2spPVwibG9naW4oKVwiIGlkPVwic3RhcnQtbG9naW5cIj57eydIRUFERVIuTE9HSU4nfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cIm5hdmlnYXRpb25cIiBjbGFzcz1cInRleHQtd2hpdGVcIiBocmVmPVwie3tuYXZpZ2F0aW9uLmNyZWF0ZUFjY291bnRMaW5rfX0/bGFuZz17e3RyYW5zLmN1cnJlbnRMYW5nfX0mcmV0dXJuVXJsPXt7dXJsfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0hFQURFUi5DUkVBVEVfVVNFUid8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2ggYm9yZGVyLXRvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCIgW25nQ2xhc3NdPVwic2hvd1JlcG9ydD8nYm9yZGVyLWJvdHRvbS0wIHBiLTAnOicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwicHktMSB0ZXh0LXdoaXRlIGZsZXgtZ3Jvdy0xXCIgaHJlZj1cInt7bmF2aWdhdGlvbi5yZXBvcnQudXJsfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24ucmVwb3J0LnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dSZXBvcnQgPSAhc2hvd1JlcG9ydFwiIGF0dHIuYXJpYS1jb250cm9scz1cInJlcG9ydC1saW5rc1wiIGF0dHIuYXJpYS1leHBhbmRlZD1cInt7c2hvd1JlcG9ydH19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJzaG93UmVwb3J0PydmYS1jaGV2cm9uLXVwJzonZmEtY2hldnJvbi1kb3duJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5IHB0LTAgcHgtM1wiICpuZ0lmPVwic2hvd1JlcG9ydFwiIGlkPVwicmVwb3J0LWxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7bmF2aWdhdGlvbi5jaGVja2xpc3QudXJsfX1cIiBjbGFzcz1cInRleHQtd2hpdGUgZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5jaGVja2xpc3QudHJhbnNJZHx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHB5LTEgdGV4dC13aGl0ZVwiIGhyZWY9XCJ7e25hdmlnYXRpb24ucmVwb3J0LnVybH19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snSEVBREVSLlJFUE9SVCd8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e25hdmlnYXRpb24ud2FudGVkLnVybH19XCIgY2xhc3M9XCJ0ZXh0LXdoaXRlIGZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24ud2FudGVkLnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCIgW25nQ2xhc3NdPVwic2hvd09ic2VydmF0aW9ucz8nYm9yZGVyLWJvdHRvbS0wIHBiLTAnOicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwicHktMSB0ZXh0LXdoaXRlIGZsZXgtZ3Jvdy0xXCIgaHJlZj1cInt7bmF2aWdhdGlvbi5vYnNlcnZhdGlvbnMudXJsfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24ub2JzZXJ2YXRpb25zLnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dPYnNlcnZhdGlvbnMgPSAhc2hvd09ic2VydmF0aW9uc1wiIGF0dHIuYXJpYS1jb250cm9scz1cIm9ic2VydmF0aW9ucy1saW5rc1wiIGF0dHIuYXJpYS1leHBhbmRlZD1cInt7c2hvd09ic2VydmF0aW9uc319XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJzaG93T2JzZXJ2YXRpb25zPydmYS1jaGV2cm9uLXVwJzonZmEtY2hldnJvbi1kb3duJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5IHB0LTAgcHgtM1wiICpuZ0lmPVwic2hvd09ic2VydmF0aW9uc1wiIGlkPVwib2JzZXJ2YXRpb25zLWxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayBweS0xIHRleHQtd2hpdGVcIiBocmVmPVwie3tuYXZpZ2F0aW9uLm9ic2VydmF0aW9ucy51cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydIRUFERVIuVE9EQVlTX09CU0VSVkFUSU9OUyd8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZC1ibG9jayBweS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHB5LTEgdGV4dC13aGl0ZVwiIGhyZWY9XCJ7e25hdmlnYXRpb24uZmllbGREaWFyeS51cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydIRUFERVIuRklFTERfRElBUlknfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCIgW25nQ2xhc3NdPVwic2hvd1N1YnM/J2JvcmRlci1ib3R0b20tMCBwYi0wJzonJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMCB0ZXh0LXdoaXRlIHctMTAwIHRleHQtc3RhcnRcIiAoY2xpY2spPVwic2hvd1N1YnMgPSAhc2hvd1N1YnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24uc3ViY3JpcHRpb25zLnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2hvd1N1YnMgPSAhc2hvd1N1YnNcIiBhdHRyLmFyaWEtY29udHJvbHM9XCJzdWJzLWxpbmtzXCIgYXR0ci5hcmlhLWV4cGFuZGVkPVwie3tzaG93U3Vic319XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJzaG93U3Vicz8nZmEtY2hldnJvbi11cCc6J2ZhLWNoZXZyb24tZG93bidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gYmctcHJpbWFyeSBwdC0wIHB4LTNcIiAqbmdJZj1cInNob3dTdWJzXCIgaWQ9XCJzdWJzLWxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayBweS0xIHRleHQtd2hpdGVcIiBocmVmPVwie3tuYXZpZ2F0aW9uLnN1YmNyaXB0aW9ucy51cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydIRUFERVIuTVlfU1VCU0NSSVBUSU9OUyd8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7bmF2aWdhdGlvbi5ldmVudHMudXJsfX1cIiBjbGFzcz1cInRleHQtd2hpdGUgZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5ldmVudHMudHJhbnNJZHx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHB5LTEgdGV4dC13aGl0ZVwiIGhyZWY9XCJ7e25hdmlnYXRpb24uZnluZHJlZ2xlci51cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tuYXZpZ2F0aW9uLmZ5bmRyZWdsZXIudHJhbnNJZHx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gYmctcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2sgZnctYm9sZCBweS0xIHRleHQtd2hpdGVcIiBbaHJlZl09XCJuYXZpZ2F0aW9uLmFydHBvcnRhbGVuVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnRwb3J0YWxlbi5zZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZXh0ZXJuYWwtbGlua1wiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIGZ3LWJvbGQgcHktMSB0ZXh0LXdoaXRlXCIgW2hyZWZdPVwibmF2aWdhdGlvbi5hcnRmYWt0YVVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3snSEVBREVSLkFSVEZBS1RBJ3x0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZXh0ZXJuYWwtbGlua1wiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiZC1ibG9jayB0ZXh0LXdoaXRlIHB0LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0hFQURFUi5ERVZFTE9QRURfQlknfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYXJ0ZGF0YWJhbmtlbi5zZS9cIiBjbGFzcz1cInRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydIRUFERVIuQVJUREFUQUJBTktFTid8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhcyBmYS1leHRlcm5hbC1saW5rXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1cInBhdHRlcm5cIiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+IDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,59 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
5
- import { EnvironmentService } from './environment.service';
6
- import { RouterModule } from '@angular/router';
7
- import { AdbDirectivesModule } from '../../directives/directives.module';
8
- import { ArtportalenNavComponent } from './adb-artportalen-nav.component';
9
- import { AdbDropdownModule } from '../adb-dropdown/adb-dropdown.module';
10
- import { AdbPagersModule } from '../pagers/pagers.module';
11
- import { ArtportalenFooterComponent } from './adb-artportalen-footer.component';
12
- import * as i0 from "@angular/core";
13
- export class ArtportalenNavModule {
14
- static forRoot(environment) {
15
- return {
16
- ngModule: ArtportalenNavModule,
17
- providers: [
18
- EnvironmentService,
19
- {
20
- provide: 'env', // you can also use InjectionToken
21
- useValue: environment
22
- }
23
- ]
24
- };
25
- }
26
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
27
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavModule, declarations: [ArtportalenNavComponent,
28
- ArtportalenFooterComponent], imports: [CommonModule,
29
- RouterModule,
30
- TranslateModule,
31
- AdbDirectivesModule,
32
- AdbDropdownModule,
33
- AdbPagersModule], exports: [ArtportalenNavComponent,
34
- ArtportalenFooterComponent] }); }
35
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
36
- RouterModule,
37
- TranslateModule,
38
- AdbDirectivesModule,
39
- AdbDropdownModule,
40
- AdbPagersModule] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ArtportalenNavModule, decorators: [{
43
- type: NgModule,
44
- args: [{ declarations: [
45
- ArtportalenNavComponent,
46
- ArtportalenFooterComponent
47
- ],
48
- exports: [
49
- ArtportalenNavComponent,
50
- ArtportalenFooterComponent
51
- ], imports: [CommonModule,
52
- RouterModule,
53
- TranslateModule,
54
- AdbDirectivesModule,
55
- AdbDropdownModule,
56
- AdbPagersModule],
57
- providers: [provideHttpClient(withInterceptorsFromDi())] }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWFydHBvcnRhbGVuLW5hdi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWFydHBvcnRhbGVuLW5hdi9hZGItYXJ0cG9ydGFsZW4tbmF2Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBZ0I7UUFDcEMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGtCQUFrQjtnQkFDbEI7b0JBQ0UsT0FBTyxFQUFFLEtBQUssRUFBRSxrQ0FBa0M7b0JBQ2xELFFBQVEsRUFBRSxXQUFXO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBWlUsb0JBQW9CO2tJQUFwQixvQkFBb0IsaUJBYnpCLHVCQUF1QjtZQUN2QiwwQkFBMEIsYUFLakIsWUFBWTtZQUNyQixZQUFZO1lBQ1osZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZSxhQVBmLHVCQUF1QjtZQUN2QiwwQkFBMEI7a0lBUXJCLG9CQUFvQixhQURkLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLFlBTi9DLFlBQVk7WUFDckIsWUFBWTtZQUNaLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGVBQWU7OzJGQUVWLG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQyxFQUFFLFlBQVksRUFBRTt3QkFDbEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7d0JBQ3ZCLDBCQUEwQjtxQkFDN0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZO3dCQUNyQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWUsQ0FBQztvQkFDaEIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFkYkRpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcclxuaW1wb3J0IHsgQXJ0cG9ydGFsZW5OYXZDb21wb25lbnQgfSBmcm9tICcuL2FkYi1hcnRwb3J0YWxlbi1uYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuLi9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFkYlBhZ2Vyc01vZHVsZSB9IGZyb20gJy4uL3BhZ2Vycy9wYWdlcnMubW9kdWxlJztcclxuaW1wb3J0IHsgQXJ0cG9ydGFsZW5Gb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2FkYi1hcnRwb3J0YWxlbi1mb290ZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7IGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEFydHBvcnRhbGVuTmF2Q29tcG9uZW50LFxyXG4gICAgICAgIEFydHBvcnRhbGVuRm9vdGVyQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEFydHBvcnRhbGVuTmF2Q29tcG9uZW50LFxyXG4gICAgICAgIEFydHBvcnRhbGVuRm9vdGVyQ29tcG9uZW50XHJcbiAgICBdLCBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJvdXRlck1vZHVsZSxcclxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAgICAgQWRiRGlyZWN0aXZlc01vZHVsZSxcclxuICAgICAgICBBZGJEcm9wZG93bk1vZHVsZSxcclxuICAgICAgICBBZGJQYWdlcnNNb2R1bGVdLCBcclxuICAgICAgICBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpXSB9KVxyXG5leHBvcnQgY2xhc3MgQXJ0cG9ydGFsZW5OYXZNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChlbnZpcm9ubWVudDogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVyczxBcnRwb3J0YWxlbk5hdk1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFydHBvcnRhbGVuTmF2TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogJ2VudicsIC8vIHlvdSBjYW4gYWxzbyB1c2UgSW5qZWN0aW9uVG9rZW5cclxuICAgICAgICAgIHVzZVZhbHVlOiBlbnZpcm9ubWVudFxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,16 +0,0 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class EnvironmentService {
4
- constructor(environment) {
5
- this.environment = environment;
6
- }
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable }); }
8
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService, decorators: [{
11
- type: Injectable
12
- }], ctorParameters: () => [{ type: undefined, decorators: [{
13
- type: Inject,
14
- args: ['env']
15
- }] }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItYXJ0cG9ydGFsZW4tbmF2L2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBa0MsV0FBVztRQUFYLGdCQUFXLEdBQVgsV0FBVyxDQUFBO0lBQzdDLENBQUM7aUlBRlEsa0JBQWtCLGtCQUNQLEtBQUs7cUlBRGhCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnYnKSBwdWJsaWMgZW52aXJvbm1lbnQpIHtcclxuICAgIH1cclxufSJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItYXJ0cG9ydGFsZW4tbmF2L25hdmlnYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbiB7XHJcbiAgICBob21lOiBMaW5rMixcclxuICAgIHJlcG9ydDogTGluazIsXHJcbiAgICB3YW50ZWQ6IExpbmsyLFxyXG4gICAgY2hlY2tsaXN0OiBMaW5rMixcclxuICAgIGNyZWF0ZUFjY291bnRMaW5rOiBMaW5rMixcclxuICAgIG9ic2VydmF0aW9uczogTGluazIsXHJcbiAgICBmaWVsZERpYXJ5OiBMaW5rMixcclxuICAgIHN1YmNyaXB0aW9uczogTGluazIsXHJcbiAgICBldmVudHM6IExpbmsyLFxyXG4gICAgZnluZHJlZ2xlcjogTGluazIsXHJcbiAgICBhcnRwb3J0YWxlblVybDogc3RyaW5nO1xyXG4gICAgYXJ0ZmFrdGFVcmw6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rMiB7XHJcbiAgICB0cmFuc0lkOiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxufSJdfQ==
@@ -1,19 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { AdbDirectivesModule } from "../../directives/directives.module";
4
- import { AdbHelpButtonComponent } from "./help-button.component";
5
- import * as i0 from "@angular/core";
6
- export class AdbButtonsModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbButtonsModule, declarations: [AdbHelpButtonComponent], imports: [CommonModule, AdbDirectivesModule], exports: [AdbHelpButtonComponent] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbButtonsModule, imports: [CommonModule, AdbDirectivesModule] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbButtonsModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- imports: [CommonModule, AdbDirectivesModule],
15
- declarations: [AdbHelpButtonComponent],
16
- exports: [AdbHelpButtonComponent]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWJ1dHRvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkYi1idXR0b25zL2FkYi1idXR0b25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFPakUsTUFBTSxPQUFPLGdCQUFnQjtpSUFBaEIsZ0JBQWdCO2tJQUFoQixnQkFBZ0IsaUJBSFYsc0JBQXNCLGFBRDNCLFlBQVksRUFBRSxtQkFBbUIsYUFFakMsc0JBQXNCO2tJQUV2QixnQkFBZ0IsWUFKZixZQUFZLEVBQUUsbUJBQW1COzsyRkFJbEMsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztvQkFDNUMsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBZGJEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgQWRiSGVscEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2hlbHAtYnV0dG9uLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFkYkRpcmVjdGl2ZXNNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQWRiSGVscEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgICBleHBvcnRzOiBbQWRiSGVscEJ1dHRvbkNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkJ1dHRvbnNNb2R1bGUgeyB9Il19
@@ -1,48 +0,0 @@
1
- import { Component, HostListener, Input } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class AdbHelpButtonComponent {
5
- onClickDoc(event) {
6
- const target = event.target;
7
- const parent = target.parentElement;
8
- const clickedInside = this.elementRef.nativeElement.contains(parent);
9
- if (!clickedInside) {
10
- this.showHelp = false;
11
- }
12
- }
13
- constructor(elementRef) {
14
- this.elementRef = elementRef;
15
- this.showHelp = false;
16
- this.buttonType = false;
17
- this.label = '';
18
- }
19
- ngOnInit() {
20
- this.id = +Math.floor(Math.random() * Date.now());
21
- }
22
- onClose() {
23
- const node = this.elementRef.nativeElement.parentNode;
24
- if (node) {
25
- if (this.showHelp) {
26
- node.classList.remove('position-relative');
27
- }
28
- else {
29
- node.classList.add('position-relative');
30
- }
31
- }
32
- this.showHelp = !this.showHelp;
33
- }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbHelpButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
35
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AdbHelpButtonComponent, selector: "adb-help-button", inputs: { buttonType: "buttonType", label: "label" }, host: { listeners: { "document:click": "onClickDoc($event)" } }, ngImport: i0, template: "<button type=\"button\" id=\"help-button\"\r\n class=\"w-auto d-flex gap-1 align-items-baseline\" [ngClass]=\"buttonType?'btn btn-outline-primary':'btn btn-invisible p-0'\"\r\n [attr.aria-controls]=\"id\" aria-label=\"Help\" [attr.aria-expanded]=\"showHelp\" (click)=\"onClose()\">\r\n <span [id]=\"buttonType?'help-icon':''\" class=\"fas fa-question-circle text-primary\"></span>\r\n {{label}}\r\n</button>\r\n<div>\r\n <div *ngIf=\"showHelp\" [id]=\"id\" class=\"position-absolute start-0 w-100 adb-plate-primary text-start shadow\" style=\"z-index:4\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"flex-grow-1\"><ng-content></ng-content></div>\r\n <div class=\"ms-auto align-self-start d-flex align-items-start\">\r\n <button type=\"button\" class=\"btn-close p-1\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showHelp=false\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbHelpButtonComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'adb-help-button', template: "<button type=\"button\" id=\"help-button\"\r\n class=\"w-auto d-flex gap-1 align-items-baseline\" [ngClass]=\"buttonType?'btn btn-outline-primary':'btn btn-invisible p-0'\"\r\n [attr.aria-controls]=\"id\" aria-label=\"Help\" [attr.aria-expanded]=\"showHelp\" (click)=\"onClose()\">\r\n <span [id]=\"buttonType?'help-icon':''\" class=\"fas fa-question-circle text-primary\"></span>\r\n {{label}}\r\n</button>\r\n<div>\r\n <div *ngIf=\"showHelp\" [id]=\"id\" class=\"position-absolute start-0 w-100 adb-plate-primary text-start shadow\" style=\"z-index:4\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"flex-grow-1\"><ng-content></ng-content></div>\r\n <div class=\"ms-auto align-self-start d-flex align-items-start\">\r\n <button type=\"button\" class=\"btn-close p-1\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showHelp=false\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
40
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { buttonType: [{
41
- type: Input
42
- }], label: [{
43
- type: Input
44
- }], onClickDoc: [{
45
- type: HostListener,
46
- args: ['document:click', ['$event']]
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkYi1idXR0b25zL2hlbHAtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItYnV0dG9ucy9oZWxwLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUEyQixZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNaEcsTUFBTSxPQUFPLHNCQUFzQjtJQU14QixVQUFVLENBQUMsS0FBaUI7UUFDL0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBR0QsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWYxQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ1IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixVQUFLLEdBQUcsRUFBRSxDQUFDO0lBY3BCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRCxPQUFPO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ3RELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ2xDLENBQUM7aUlBakNRLHNCQUFzQjtxSEFBdEIsc0JBQXNCLDhLQ05uQyxtK0JBZU07OzJGRFRPLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDSSxpQkFBaUI7K0VBS2xCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FkYi1oZWxwLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2hlbHAtYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRiSGVscEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBzaG93SGVscCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYnV0dG9uVHlwZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25DbGlja0RvYyhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQucGFyZW50RWxlbWVudDtcclxuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMocGFyZW50KTtcclxuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93SGVscCA9IGZhbHNlO1xyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pZCA9ICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSlcclxuICAgIH1cclxuXHJcbiAgICBvbkNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dIZWxwKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLmNsYXNzTGlzdC5yZW1vdmUoJ3Bvc2l0aW9uLXJlbGF0aXZlJyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLmNsYXNzTGlzdC5hZGQoJ3Bvc2l0aW9uLXJlbGF0aXZlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93SGVscCA9ICF0aGlzLnNob3dIZWxwXHJcbiAgICB9XHJcbn0iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImhlbHAtYnV0dG9uXCJcclxuICAgIGNsYXNzPVwidy1hdXRvIGQtZmxleCBnYXAtMSBhbGlnbi1pdGVtcy1iYXNlbGluZVwiIFtuZ0NsYXNzXT1cImJ1dHRvblR5cGU/J2J0biBidG4tb3V0bGluZS1wcmltYXJ5JzonYnRuIGJ0bi1pbnZpc2libGUgcC0wJ1wiXHJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkXCIgYXJpYS1sYWJlbD1cIkhlbHBcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dIZWxwXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxyXG4gICAgPHNwYW4gW2lkXT1cImJ1dHRvblR5cGU/J2hlbHAtaWNvbic6JydcIiBjbGFzcz1cImZhcyBmYS1xdWVzdGlvbi1jaXJjbGUgdGV4dC1wcmltYXJ5XCI+PC9zcGFuPlxyXG4gICAge3tsYWJlbH19XHJcbjwvYnV0dG9uPlxyXG48ZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dIZWxwXCIgW2lkXT1cImlkXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBzdGFydC0wIHctMTAwIGFkYi1wbGF0ZS1wcmltYXJ5IHRleHQtc3RhcnQgc2hhZG93XCIgc3R5bGU9XCJ6LWluZGV4OjRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1hdXRvIGFsaWduLXNlbGYtc3RhcnQgZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZSBwLTFcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJzaG93SGVscD1mYWxzZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=