@villedemontreal/angular-ui 16.3.0 → 17.1.1

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 (69) hide show
  1. package/esm2022/lib/alert/alert.component.mjs +16 -16
  2. package/esm2022/lib/alert/module.mjs +5 -5
  3. package/esm2022/lib/avatar/avatar.component.mjs +8 -8
  4. package/esm2022/lib/avatar/module.mjs +5 -5
  5. package/esm2022/lib/badge/badge.component.mjs +4 -4
  6. package/esm2022/lib/badge/module.mjs +5 -5
  7. package/esm2022/lib/bao.module.mjs +5 -5
  8. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +5 -5
  9. package/esm2022/lib/breadcrumb/module.mjs +5 -5
  10. package/esm2022/lib/button/button.component.mjs +5 -5
  11. package/esm2022/lib/button/module.mjs +5 -5
  12. package/esm2022/lib/card/card.component.mjs +16 -16
  13. package/esm2022/lib/card/module.mjs +5 -5
  14. package/esm2022/lib/checkbox/checkbox-group.component.mjs +5 -5
  15. package/esm2022/lib/checkbox/checkbox.component.mjs +8 -8
  16. package/esm2022/lib/checkbox/module.mjs +5 -5
  17. package/esm2022/lib/common-components/error-text/errorText.component.mjs +4 -4
  18. package/esm2022/lib/common-components/guiding-text/guidingText.component.mjs +4 -4
  19. package/esm2022/lib/common-components/label-text/labelText.component.mjs +4 -4
  20. package/esm2022/lib/common-components/module.mjs +5 -5
  21. package/esm2022/lib/common-components/title-text/titleText.component.mjs +4 -4
  22. package/esm2022/lib/core/colors.mjs +1 -1
  23. package/esm2022/lib/dropdown-menu/dropdown-menu.component.mjs +28 -28
  24. package/esm2022/lib/dropdown-menu/module.mjs +5 -5
  25. package/esm2022/lib/file/file-input.component.mjs +14 -13
  26. package/esm2022/lib/file/file-intl.mjs +7 -7
  27. package/esm2022/lib/file/file-preview.component.mjs +5 -5
  28. package/esm2022/lib/file/module.mjs +5 -5
  29. package/esm2022/lib/header-info/header-info.component.mjs +20 -20
  30. package/esm2022/lib/header-info/module.mjs +5 -5
  31. package/esm2022/lib/hyperlink/hyperlink.component.mjs +5 -5
  32. package/esm2022/lib/hyperlink/module.mjs +5 -5
  33. package/esm2022/lib/icon/bao-icon-registry.mjs +6 -6
  34. package/esm2022/lib/icon/icon.component.mjs +5 -5
  35. package/esm2022/lib/icon/module.mjs +5 -5
  36. package/esm2022/lib/list/list.component.mjs +16 -16
  37. package/esm2022/lib/list/module.mjs +5 -5
  38. package/esm2022/lib/message-bar/message-bar.component.mjs +9 -9
  39. package/esm2022/lib/message-bar/module.mjs +5 -5
  40. package/esm2022/lib/modal/modal-config.mjs +1 -1
  41. package/esm2022/lib/modal/modal-container.mjs +10 -10
  42. package/esm2022/lib/modal/modal-directives.mjs +6 -6
  43. package/esm2022/lib/modal/modal-ref.mjs +32 -7
  44. package/esm2022/lib/modal/modal.mjs +10 -10
  45. package/esm2022/lib/modal/module.mjs +5 -5
  46. package/esm2022/lib/pagination/module.mjs +5 -5
  47. package/esm2022/lib/pagination/pagination.component.mjs +6 -6
  48. package/esm2022/lib/radio/module.mjs +5 -5
  49. package/esm2022/lib/radio/radio-group.component.mjs +8 -10
  50. package/esm2022/lib/radio/radio.component.mjs +10 -10
  51. package/esm2022/lib/snack-bar/module.mjs +5 -5
  52. package/esm2022/lib/snack-bar/simple-snack-bar.component.mjs +6 -6
  53. package/esm2022/lib/snack-bar/snack-bar-container.mjs +5 -5
  54. package/esm2022/lib/snack-bar/snack-bar-ref.mjs +1 -1
  55. package/esm2022/lib/snack-bar/snack-bar.mjs +6 -6
  56. package/esm2022/lib/summary/list-summary.component.mjs +7 -7
  57. package/esm2022/lib/summary/module.mjs +5 -5
  58. package/esm2022/lib/summary/summary.component.mjs +8 -8
  59. package/esm2022/lib/system-header/module.mjs +5 -5
  60. package/esm2022/lib/system-header/system-header.component.mjs +13 -13
  61. package/esm2022/lib/tabs/module.mjs +5 -5
  62. package/esm2022/lib/tabs/tabs.component.mjs +17 -17
  63. package/esm2022/lib/tag/module.mjs +5 -5
  64. package/esm2022/lib/tag/tag.component.mjs +5 -5
  65. package/fesm2022/villedemontreal-angular-ui.mjs +408 -384
  66. package/fesm2022/villedemontreal-angular-ui.mjs.map +1 -1
  67. package/lib/modal/modal-config.d.ts +5 -5
  68. package/lib/modal/modal-ref.d.ts +12 -0
  69. package/package.json +6 -6
@@ -17,8 +17,8 @@ export class BaoBackNavigationComponent {
17
17
  this.renderer.setAttribute(this.elementRef.nativeElement.children[0], 'href', changes['link'].currentValue);
18
18
  }
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoBackNavigationComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaoBackNavigationComponent, selector: "bao-back-navigation-component", inputs: { link: "link" }, host: { classAttribute: "bao-system-header-back-button" }, usesOnChanges: true, ngImport: i0, template: ` <a>
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoBackNavigationComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaoBackNavigationComponent, selector: "bao-back-navigation-component", inputs: { link: "link" }, host: { classAttribute: "bao-system-header-back-button" }, usesOnChanges: true, ngImport: i0, template: ` <a>
22
22
  <bao-icon
23
23
  color="action"
24
24
  title="arrow-left"
@@ -27,7 +27,7 @@ export class BaoBackNavigationComponent {
27
27
  ></bao-icon>
28
28
  </a>`, isInline: true, dependencies: [{ kind: "component", type: i1.BaoIconComponent, selector: "bao-icon", inputs: ["color", "size", "svgIcon", "title"], exportAs: ["baoIcon"] }] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoBackNavigationComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoBackNavigationComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{
33
33
  selector: 'bao-back-navigation-component',
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
43
43
  class: 'bao-system-header-back-button'
44
44
  }
45
45
  }]
46
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { link: [{
46
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { link: [{
47
47
  type: Input
48
48
  }] } });
49
49
  /**
@@ -54,15 +54,15 @@ export class BaoBackNavigationInsert {
54
54
  constructor(viewContainerRef) {
55
55
  this.viewContainerRef = viewContainerRef;
56
56
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoBackNavigationInsert, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BaoBackNavigationInsert, selector: "[backNavigationInsert]", ngImport: i0 }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoBackNavigationInsert, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaoBackNavigationInsert, selector: "[backNavigationInsert]", ngImport: i0 }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoBackNavigationInsert, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoBackNavigationInsert, decorators: [{
61
61
  type: Directive,
62
62
  args: [{
63
63
  selector: '[backNavigationInsert]'
64
64
  }]
65
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
65
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
66
66
  export class BaoSystemHeaderComponent {
67
67
  constructor(cd, breakpointObserver, renderer) {
68
68
  this.cd = cd;
@@ -112,19 +112,19 @@ export class BaoSystemHeaderComponent {
112
112
  this.renderer.addClass(tagInfoContainer, 'mobile');
113
113
  }
114
114
  }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoSystemHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.BreakpointObserver }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaoSystemHeaderComponent, selector: "bao-system-header", host: { classAttribute: "bao-system-header" }, viewQueries: [{ propertyName: "textContainer", first: true, predicate: ["textContainer"], descendants: true }, { propertyName: "backButtonInsert", first: true, predicate: BaoBackNavigationInsert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"left-side-content\">\n <div class=\"back-navigation-container\">\n <ng-content select=\"a\"></ng-content>\n <ng-template backNavigationInsert></ng-template>\n </div>\n <div #textContainer class=\"text-content\">\n <ng-content select=\"bao-breadcrumb\"></ng-content>\n <ng-content select=\"h1\"></ng-content>\n <div class=\"tag-info-container\">\n <ng-content select=\"bao-tag\"></ng-content>\n <span class=\"additional-info\">\n <ng-content select=\"span\"></ng-content>\n </span>\n </div>\n </div>\n</div>\n<div class=\"button-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.bao-system-header{display:flex;justify-content:flex-start}.bao-system-header .left-side-content{display:inline-flex;width:75%}.bao-system-header .left-side-content .back-navigation-container a{margin-right:1.25rem;border-bottom:none}.bao-system-header .left-side-content .back-navigation-container a:hover{cursor:pointer}.bao-system-header .left-side-content .text-content{width:100%}.bao-system-header .left-side-content .text-content h1{font-weight:700;color:#212529;font-size:1.5rem;line-height:2rem;margin-bottom:.5rem}.bao-system-header .left-side-content .text-content .tag-info-container{width:100%;display:block}.bao-system-header .left-side-content .text-content .tag-info-container>span:nth-child(2):before{content:\"\\b7\";margin:0 .5rem}.bao-system-header .left-side-content .text-content .tag-info-container .additional-info>*{font-weight:400;font-size:.875rem;line-height:1.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .bao-tag{margin-bottom:.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info{display:block}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info:before{content:none}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag{max-width:100%}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag>span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bao-system-header .button-container{flex-shrink:0;margin-left:auto}.bao-system-header .button-container .bao-button{margin-left:1rem}\n"], dependencies: [{ kind: "directive", type: BaoBackNavigationInsert, selector: "[backNavigationInsert]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoSystemHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.BreakpointObserver }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaoSystemHeaderComponent, selector: "bao-system-header", host: { classAttribute: "bao-system-header" }, viewQueries: [{ propertyName: "textContainer", first: true, predicate: ["textContainer"], descendants: true }, { propertyName: "backButtonInsert", first: true, predicate: BaoBackNavigationInsert, descendants: true, static: true }], ngImport: i0, template: "<div class=\"left-side-content\">\n <div class=\"back-navigation-container\">\n <ng-content select=\"a\"></ng-content>\n <ng-template backNavigationInsert></ng-template>\n </div>\n <div #textContainer class=\"text-content\">\n <ng-content select=\"bao-breadcrumb\"></ng-content>\n <ng-content select=\"h1\"></ng-content>\n <div class=\"tag-info-container\">\n <ng-content select=\"bao-tag\"></ng-content>\n <span class=\"additional-info\">\n <ng-content select=\"span\"></ng-content>\n </span>\n </div>\n </div>\n</div>\n<div class=\"button-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.bao-system-header{display:flex;justify-content:flex-start}.bao-system-header .left-side-content{display:inline-flex;width:75%}.bao-system-header .left-side-content .back-navigation-container a{margin-right:1.25rem;border-bottom:none}.bao-system-header .left-side-content .back-navigation-container a:hover{cursor:pointer}.bao-system-header .left-side-content .text-content{width:100%}.bao-system-header .left-side-content .text-content h1{font-weight:700;color:#212529;font-size:1.5rem;line-height:2rem;margin-bottom:.5rem}.bao-system-header .left-side-content .text-content .tag-info-container{width:100%;display:block}.bao-system-header .left-side-content .text-content .tag-info-container>span:nth-child(2):before{content:\"\\b7\";margin:0 .5rem}.bao-system-header .left-side-content .text-content .tag-info-container .additional-info>*{font-weight:400;font-size:.875rem;line-height:1.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .bao-tag{margin-bottom:.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info{display:block}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info:before{content:none}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag{max-width:100%}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag>span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bao-system-header .button-container{flex-shrink:0;margin-left:auto}.bao-system-header .button-container .bao-button{margin-left:1rem}\n"], dependencies: [{ kind: "directive", type: BaoBackNavigationInsert, selector: "[backNavigationInsert]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
117
117
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoSystemHeaderComponent, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoSystemHeaderComponent, decorators: [{
119
119
  type: Component,
120
120
  args: [{ selector: 'bao-system-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
121
121
  class: 'bao-system-header'
122
122
  }, template: "<div class=\"left-side-content\">\n <div class=\"back-navigation-container\">\n <ng-content select=\"a\"></ng-content>\n <ng-template backNavigationInsert></ng-template>\n </div>\n <div #textContainer class=\"text-content\">\n <ng-content select=\"bao-breadcrumb\"></ng-content>\n <ng-content select=\"h1\"></ng-content>\n <div class=\"tag-info-container\">\n <ng-content select=\"bao-tag\"></ng-content>\n <span class=\"additional-info\">\n <ng-content select=\"span\"></ng-content>\n </span>\n </div>\n </div>\n</div>\n<div class=\"button-container\">\n <ng-content></ng-content>\n</div>\n", styles: ["@charset \"UTF-8\";.bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.bao-system-header{display:flex;justify-content:flex-start}.bao-system-header .left-side-content{display:inline-flex;width:75%}.bao-system-header .left-side-content .back-navigation-container a{margin-right:1.25rem;border-bottom:none}.bao-system-header .left-side-content .back-navigation-container a:hover{cursor:pointer}.bao-system-header .left-side-content .text-content{width:100%}.bao-system-header .left-side-content .text-content h1{font-weight:700;color:#212529;font-size:1.5rem;line-height:2rem;margin-bottom:.5rem}.bao-system-header .left-side-content .text-content .tag-info-container{width:100%;display:block}.bao-system-header .left-side-content .text-content .tag-info-container>span:nth-child(2):before{content:\"\\b7\";margin:0 .5rem}.bao-system-header .left-side-content .text-content .tag-info-container .additional-info>*{font-weight:400;font-size:.875rem;line-height:1.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .bao-tag{margin-bottom:.25rem}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info{display:block}.bao-system-header .left-side-content .text-content .tag-info-container.mobile .additional-info:before{content:none}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag{max-width:100%}.bao-system-header .left-side-content .text-content .tag-info-container>.bao-tag>span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bao-system-header .button-container{flex-shrink:0;margin-left:auto}.bao-system-header .button-container .bao-button{margin-left:1rem}\n"] }]
123
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i2.BreakpointObserver }, { type: i0.Renderer2 }]; }, propDecorators: { textContainer: [{
123
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.BreakpointObserver }, { type: i0.Renderer2 }], propDecorators: { textContainer: [{
124
124
  type: ViewChild,
125
125
  args: ['textContainer', { static: false }]
126
126
  }], backButtonInsert: [{
127
127
  type: ViewChild,
128
128
  args: [BaoBackNavigationInsert, { static: true }]
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvc3lzdGVtLWhlYWRlci9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9zeXN0ZW0taGVhZGVyL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsU0FBUyxFQUVULEtBQUssRUFLTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7QUFFdEM7OztHQUdHO0FBZUgsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFDMUMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ3pDLE1BQU0sRUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUM3QixDQUFDO1NBQ0g7SUFDSCxDQUFDOzhHQWZVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtLQVozQjs7Ozs7OztPQU9MOzsyRkFLTSwwQkFBMEI7a0JBZHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMs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QkFBZ0IsQ0FBQztnQkFDaEUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FDbkQsMEJBQTBCLENBQzNCLENBQUM7Z0JBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDM0M7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3RDLENBQUM7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQzs4R0E3RVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMlBBR3hCLHVCQUF1Qiw4RENwRnBDLDhuQkFtQkEsZ3VFRGdEYSx1QkFBdUI7OzJGQWN2Qix3QkFBd0I7a0JBVnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLG1CQUFtQjtxQkFDM0I7aUtBSU8sYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdyQyxnQkFBZ0I7c0JBRHZCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNSBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWtwb2ludHMgfSBmcm9tICcuLi9jb3JlJztcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBkeW5hbWljYWxseSBhZGRlZCB0byByZXBsYWNlIGJyZWFkY3J1bWIgd2hlbiBTeXN0ZW0gSGVhZGVyIGlzIHZpZXdlZCBvbiB0YWJsZXQgb3IgbW9iaWxlIHNjcmVlbnMuXG4gKiBVc2VkIGludGVybmFsbHkgYnkgQmFvU3lzdGVtSGVhZGVyQ29tcG9uZW50IG9ubHksIG5vdCB0byBiZSB1c2VkIGJ5IGhvc3QgYXBwbGljYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby1iYWNrLW5hdmlnYXRpb24tY29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGAgPGE+XG4gICAgPGJhby1pY29uXG4gICAgICBjb2xvcj1cImFjdGlvblwiXG4gICAgICB0aXRsZT1cImFycm93LWxlZnRcIlxuICAgICAgc3ZnSWNvbj1cImljb24tYXJyb3ctbGVmdFwiXG4gICAgICBzaXplPVwieC1zbWFsbFwiXG4gICAgPjwvYmFvLWljb24+XG4gIDwvYT5gLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tc3lzdGVtLWhlYWRlci1iYWNrLWJ1dHRvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9CYWNrTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxpbms6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbGluayddICYmIGNoYW5nZXNbJ2xpbmsnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXSxcbiAgICAgICAgJ2hyZWYnLFxuICAgICAgICBjaGFuZ2VzWydsaW5rJ10uY3VycmVudFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIGlzIHRvIG1hcmsgdGhlIHRlbXBsYXRlIHdoZXJlIHRoZSBCYW9CYWNrTmF2aWdhdGlvbkNvbXBvbmVudCBzaG91bGQgYmUgZHluYW1pY2FsbHkgaW5zZXJ0ZWQsXG4gKiB3aGVuIGEgQnJlYWRjcnVtYiBjb21wb25lbnQgbmVlZHMgdG8gYmUgcmVwbGFjZWRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JhY2tOYXZpZ2F0aW9uSW5zZXJ0XSdcbn0pXG5leHBvcnQgY2xhc3MgQmFvQmFja05hdmlnYXRpb25JbnNlcnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFvLXN5c3RlbS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3lzdGVtLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2Jhby1zeXN0ZW0taGVhZGVyJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb1N5c3RlbUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3RleHRDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSB0ZXh0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChCYW9CYWNrTmF2aWdhdGlvbkluc2VydCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBiYWNrQnV0dG9uSW5zZXJ0OiBCYW9CYWNrTmF2aWdhdGlvbkluc2VydDtcblxuICBwdWJsaWMgc2NyZWVuVHlwZTogJ21vYmlsZScgfCAndGFibGV0JyB8ICdkZXNrdG9wJyA9ICdkZXNrdG9wJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgZ2V0IHRleHRDb250YWluZXJDaGlsZHJlbigpOiBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMudGV4dENvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChcbiAgICAgIFtCcmVha3BvaW50cy5YU21hbGwsIEJyZWFrcG9pbnRzLlNtYWxsXS5zb21lKHNpemUgPT5cbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKHNpemUpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLnNjcmVlblR5cGUgPSAnbW9iaWxlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChCcmVha3BvaW50cy5NZWRpdW0pKSB7XG4gICAgICB0aGlzLnNjcmVlblR5cGUgPSAndGFibGV0JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgW0JyZWFrcG9pbnRzLkxhcmdlLCBCcmVha3BvaW50cy5YTGFyZ2VdLnNvbWUoc2l6ZSA9PlxuICAgICAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoc2l6ZSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2NyZWVuVHlwZSA9ICdkZXNrdG9wJztcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5mb3JtYXROYXZpZ2F0aW9uKCk7XG4gICAgdGhpcy5hcHBseVNpemVDbGFzcygpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXROYXZpZ2F0aW9uKCkge1xuICAgIC8vIElmIHZpZXcgaXMgcmVuZGVyZWQgb24gYSBtb2JpbGUvdGFibGV0IHNjcmVlblxuICAgIGlmICh0aGlzLnNjcmVlblR5cGUgPT0gJ21vYmlsZScgfHwgdGhpcy5zY3JlZW5UeXBlID09ICd0YWJsZXQnKSB7XG4gICAgICBpZiAodGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW5bMF0uY2xhc3NOYW1lID09ICdiYW8tYnJlYWRjcnVtYicpIHtcbiAgICAgICAgLy8gUmV0cmlldmUgbGluayBvZiBwYXJlbnQgcGFnZVxuICAgICAgICBjb25zdCBicmVhZGNydW1iRWxlbWVudHNMaXN0ID1cbiAgICAgICAgICB0aGlzLnRleHRDb250YWluZXJDaGlsZHJlblswXS5jaGlsZHJlblswXTtcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYkxlbmd0aCA9IGJyZWFkY3J1bWJFbGVtZW50c0xpc3QuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICBjb25zdCBwYXJlbnRMaW5rID1cbiAgICAgICAgICBicmVhZGNydW1iRWxlbWVudHNMaXN0LmNoaWxkcmVuW2JyZWFkY3J1bWJMZW5ndGggLSAyXS5hdHRyaWJ1dGVzW1xuICAgICAgICAgICAgJ2hyZWYnXG4gICAgICAgICAgXS52YWx1ZTtcbiAgICAgICAgLy8gUmVtb3ZlIEJyZWFkY3J1bWIgY29tcG9uZW50IGFuZCByZXBsYWNlIGl0IHdpdGggYmFjayBidXR0b25cbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChcbiAgICAgICAgICB0aGlzLnRleHRDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICB0aGlzLnRleHRDb250YWluZXJDaGlsZHJlblswXVxuICAgICAgICApO1xuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gdGhpcy5iYWNrQnV0dG9uSW5zZXJ0LnZpZXdDb250YWluZXJSZWY7XG4gICAgICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgQmFvQmFja05hdmlnYXRpb25Db21wb25lbnRcbiAgICAgICAgKTtcbiAgICAgICAgY29tcG9uZW50UmVmLnNldElucHV0KCdsaW5rJywgcGFyZW50TGluayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNpemVDbGFzcygpIHtcbiAgICBjb25zdCB0YWdJbmZvQ29udGFpbmVyID1cbiAgICAgIHRoaXMudGV4dENvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXNbXG4gICAgICAgIHRoaXMudGV4dENvbnRhaW5lckNoaWxkcmVuLmxlbmd0aCAtIDFcbiAgICAgIF07XG4gICAgaWYgKHRoaXMuc2NyZWVuVHlwZSA9PT0gJ21vYmlsZScpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGFnSW5mb0NvbnRhaW5lciwgJ21vYmlsZScpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxlZnQtc2lkZS1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJiYWNrLW5hdmlnYXRpb24tY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYVwiPjwvbmctY29udGVudD5cbiAgICA8bmctdGVtcGxhdGUgYmFja05hdmlnYXRpb25JbnNlcnQ+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxkaXYgI3RleHRDb250YWluZXIgY2xhc3M9XCJ0ZXh0LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJiYW8tYnJlYWRjcnVtYlwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJoMVwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwidGFnLWluZm8tY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJiYW8tdGFnXCI+PC9uZy1jb250ZW50PlxuICAgICAgPHNwYW4gY2xhc3M9XCJhZGRpdGlvbmFsLWluZm9cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3BhblwiPjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvc3lzdGVtLWhlYWRlci9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9zeXN0ZW0taGVhZGVyL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsU0FBUyxFQUVULEtBQUssRUFLTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7QUFFdEM7OztHQUdHO0FBZUgsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFDMUMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDekMsTUFBTSxFQUNOLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQzdCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0FmVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrS0FaM0I7Ozs7Ozs7T0FPTDs7NEZBS00sMEJBQTBCO2tCQWR0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRTs7Ozs7OztPQU9MO29CQUNMLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3FCQUN2QztpQkFDRjt1R0FFVSxJQUFJO3NCQUFaLEtBQUs7O0FBaUJSOzs7R0FHRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBbUIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDOytHQUQ5Qyx1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs7QUFlRCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQ1UsRUFBcUIsRUFDckIsa0JBQXNDLEVBQ3RDLFFBQW1CO1FBRm5CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUx0QixlQUFVLEdBQW9DLFNBQVMsQ0FBQztJQU01RCxDQUFDO0lBRUosSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFDRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUN4QyxFQUNELENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUNMLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2xELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQ3hDLEVBQ0QsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsZ0RBQWdEO1FBQ2hELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDaEUsK0JBQStCO2dCQUMvQixNQUFNLHNCQUFzQixHQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hFLE1BQU0sVUFBVSxHQUNkLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQzlELE1BQU0sQ0FDUCxDQUFDLEtBQUssQ0FBQztnQkFDViw4REFBOEQ7Z0JBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUM5QixDQUFDO2dCQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO2dCQUNoRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUNuRCwwQkFBMEIsQ0FDM0IsQ0FBQztnQkFDRixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3RDLENBQUM7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7K0dBN0VVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDJQQUd4Qix1QkFBdUIsOERDcEZwQyw4bkJBbUJBLGd1RURnRGEsdUJBQXVCOzs0RkFjdkIsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxtQkFBbUI7cUJBQzNCOytJQUlPLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHckMsZ0JBQWdCO3NCQUR2QixTQUFTO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzIH0gZnJvbSAnLi4vY29yZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgZHluYW1pY2FsbHkgYWRkZWQgdG8gcmVwbGFjZSBicmVhZGNydW1iIHdoZW4gU3lzdGVtIEhlYWRlciBpcyB2aWV3ZWQgb24gdGFibGV0IG9yIG1vYmlsZSBzY3JlZW5zLlxuICogVXNlZCBpbnRlcm5hbGx5IGJ5IEJhb1N5c3RlbUhlYWRlckNvbXBvbmVudCBvbmx5LCBub3QgdG8gYmUgdXNlZCBieSBob3N0IGFwcGxpY2F0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYW8tYmFjay1uYXZpZ2F0aW9uLWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlOiBgIDxhPlxuICAgIDxiYW8taWNvblxuICAgICAgY29sb3I9XCJhY3Rpb25cIlxuICAgICAgdGl0bGU9XCJhcnJvdy1sZWZ0XCJcbiAgICAgIHN2Z0ljb249XCJpY29uLWFycm93LWxlZnRcIlxuICAgICAgc2l6ZT1cIngtc21hbGxcIlxuICAgID48L2Jhby1pY29uPlxuICA8L2E+YCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXN5c3RlbS1oZWFkZXItYmFjay1idXR0b24nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvQmFja05hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBsaW5rOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2xpbmsnXSAmJiBjaGFuZ2VzWydsaW5rJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0sXG4gICAgICAgICdocmVmJyxcbiAgICAgICAgY2hhbmdlc1snbGluayddLmN1cnJlbnRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB0byBtYXJrIHRoZSB0ZW1wbGF0ZSB3aGVyZSB0aGUgQmFvQmFja05hdmlnYXRpb25Db21wb25lbnQgc2hvdWxkIGJlIGR5bmFtaWNhbGx5IGluc2VydGVkLFxuICogd2hlbiBhIEJyZWFkY3J1bWIgY29tcG9uZW50IG5lZWRzIHRvIGJlIHJlcGxhY2VkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tiYWNrTmF2aWdhdGlvbkluc2VydF0nXG59KVxuZXhwb3J0IGNsYXNzIEJhb0JhY2tOYXZpZ2F0aW9uSW5zZXJ0IHtcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby1zeXN0ZW0taGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N5c3RlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zeXN0ZW0taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tc3lzdGVtLWhlYWRlcidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9TeXN0ZW1IZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0ZXh0Q29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgdGV4dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoQmFvQmFja05hdmlnYXRpb25JbnNlcnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgYmFja0J1dHRvbkluc2VydDogQmFvQmFja05hdmlnYXRpb25JbnNlcnQ7XG5cbiAgcHVibGljIHNjcmVlblR5cGU6ICdtb2JpbGUnIHwgJ3RhYmxldCcgfCAnZGVza3RvcCcgPSAnZGVza3RvcCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIGdldCB0ZXh0Q29udGFpbmVyQ2hpbGRyZW4oKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRleHRDb250YWluZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICBbQnJlYWtwb2ludHMuWFNtYWxsLCBCcmVha3BvaW50cy5TbWFsbF0uc29tZShzaXplID0+XG4gICAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChzaXplKVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5zY3JlZW5UeXBlID0gJ21vYmlsZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuTWVkaXVtKSkge1xuICAgICAgdGhpcy5zY3JlZW5UeXBlID0gJ3RhYmxldCc7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIFtCcmVha3BvaW50cy5MYXJnZSwgQnJlYWtwb2ludHMuWExhcmdlXS5zb21lKHNpemUgPT5cbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKHNpemUpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLnNjcmVlblR5cGUgPSAnZGVza3RvcCc7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZm9ybWF0TmF2aWdhdGlvbigpO1xuICAgIHRoaXMuYXBwbHlTaXplQ2xhc3MoKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TmF2aWdhdGlvbigpIHtcbiAgICAvLyBJZiB2aWV3IGlzIHJlbmRlcmVkIG9uIGEgbW9iaWxlL3RhYmxldCBzY3JlZW5cbiAgICBpZiAodGhpcy5zY3JlZW5UeXBlID09ICdtb2JpbGUnIHx8IHRoaXMuc2NyZWVuVHlwZSA9PSAndGFibGV0Jykge1xuICAgICAgaWYgKHRoaXMudGV4dENvbnRhaW5lckNoaWxkcmVuWzBdLmNsYXNzTmFtZSA9PSAnYmFvLWJyZWFkY3J1bWInKSB7XG4gICAgICAgIC8vIFJldHJpZXZlIGxpbmsgb2YgcGFyZW50IHBhZ2VcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYkVsZW1lbnRzTGlzdCA9XG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW5bMF0uY2hpbGRyZW5bMF07XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJMZW5ndGggPSBicmVhZGNydW1iRWxlbWVudHNMaXN0LmNoaWxkcmVuLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcGFyZW50TGluayA9XG4gICAgICAgICAgYnJlYWRjcnVtYkVsZW1lbnRzTGlzdC5jaGlsZHJlblticmVhZGNydW1iTGVuZ3RoIC0gMl0uYXR0cmlidXRlc1tcbiAgICAgICAgICAgICdocmVmJ1xuICAgICAgICAgIF0udmFsdWU7XG4gICAgICAgIC8vIFJlbW92ZSBCcmVhZGNydW1iIGNvbXBvbmVudCBhbmQgcmVwbGFjZSBpdCB3aXRoIGJhY2sgYnV0dG9uXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgdGhpcy50ZXh0Q29udGFpbmVyQ2hpbGRyZW5bMF1cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuYmFja0J1dHRvbkluc2VydC52aWV3Q29udGFpbmVyUmVmO1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgIEJhb0JhY2tOYXZpZ2F0aW9uQ29tcG9uZW50XG4gICAgICAgICk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnbGluaycsIHBhcmVudExpbmspO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplQ2xhc3MoKSB7XG4gICAgY29uc3QgdGFnSW5mb0NvbnRhaW5lciA9XG4gICAgICB0aGlzLnRleHRDb250YWluZXIubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzW1xuICAgICAgICB0aGlzLnRleHRDb250YWluZXJDaGlsZHJlbi5sZW5ndGggLSAxXG4gICAgICBdO1xuICAgIGlmICh0aGlzLnNjcmVlblR5cGUgPT09ICdtb2JpbGUnKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRhZ0luZm9Db250YWluZXIsICdtb2JpbGUnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsZWZ0LXNpZGUtY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiYmFjay1uYXZpZ2F0aW9uLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImFcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlIGJhY2tOYXZpZ2F0aW9uSW5zZXJ0PjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2ICN0ZXh0Q29udGFpbmVyIGNsYXNzPVwidGV4dC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYmFvLWJyZWFkY3J1bWJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaDFcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInRhZy1pbmZvLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYmFvLXRhZ1wiPjwvbmctY29udGVudD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWRkaXRpb25hbC1pbmZvXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwYW5cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -14,17 +14,17 @@ const TABS_DIRECTIVES = [
14
14
  BaoTabPanel
15
15
  ];
16
16
  export class BaoTabsModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsModule, declarations: [BaoTabsContainer,
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsModule, declarations: [BaoTabsContainer,
19
19
  BaoTablistComponent,
20
20
  BaoTabHeader,
21
21
  BaoTabPanel], imports: [CommonModule], exports: [BaoTabsContainer,
22
22
  BaoTablistComponent,
23
23
  BaoTabHeader,
24
24
  BaoTabPanel] }); }
25
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsModule, imports: [CommonModule] }); }
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsModule, imports: [CommonModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [CommonModule],
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
32
32
  exports: [TABS_DIRECTIVES]
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3RhYnMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFCLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7Q0FDWixDQUFDO0FBT0YsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQVh4QixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXLGFBSUQsWUFBWSxhQVB0QixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXOytHQVFBLGFBQWEsWUFKZCxZQUFZOzsyRkFJWCxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNSBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhb1RhYmxpc3RDb21wb25lbnQsXG4gIEJhb1RhYkhlYWRlcixcbiAgQmFvVGFiUGFuZWwsXG4gIEJhb1RhYnNDb250YWluZXJcbn0gZnJvbSAnLi90YWJzLmNvbXBvbmVudCc7XG5cbmNvbnN0IFRBQlNfRElSRUNUSVZFUyA9IFtcbiAgQmFvVGFic0NvbnRhaW5lcixcbiAgQmFvVGFibGlzdENvbXBvbmVudCxcbiAgQmFvVGFiSGVhZGVyLFxuICBCYW9UYWJQYW5lbFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1RBQlNfRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFtUQUJTX0RJUkVDVElWRVNdXG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhYnNNb2R1bGUge31cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3RhYnMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7O0FBRTFCLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFdBQVc7Q0FDWixDQUFDO0FBT0YsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLGlCQVh4QixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXLGFBSUQsWUFBWSxhQVB0QixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixXQUFXO2dIQVFBLGFBQWEsWUFKZCxZQUFZOzs0RkFJWCxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNSBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhb1RhYmxpc3RDb21wb25lbnQsXG4gIEJhb1RhYkhlYWRlcixcbiAgQmFvVGFiUGFuZWwsXG4gIEJhb1RhYnNDb250YWluZXJcbn0gZnJvbSAnLi90YWJzLmNvbXBvbmVudCc7XG5cbmNvbnN0IFRBQlNfRElSRUNUSVZFUyA9IFtcbiAgQmFvVGFic0NvbnRhaW5lcixcbiAgQmFvVGFibGlzdENvbXBvbmVudCxcbiAgQmFvVGFiSGVhZGVyLFxuICBCYW9UYWJQYW5lbFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1RBQlNfRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFtUQUJTX0RJUkVDVElWRVNdXG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhYnNNb2R1bGUge31cbiJdfQ==
@@ -30,10 +30,10 @@ export class BaoTabHeader {
30
30
  this.renderer.setAttribute(this.nativeElement, 'aria-selected', 'false');
31
31
  this.renderer.setAttribute(this.nativeElement, 'tabindex', '-1');
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabHeader, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BaoTabHeader, selector: "bao-tab-header, [bao-tab-header]", outputs: { onTabClick: "onTabClick" }, host: { listeners: { "click": "onClick($event.target)" }, classAttribute: "bao-tab-header" }, exportAs: ["baoTabHeader"], ngImport: i0 }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabHeader, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaoTabHeader, selector: "bao-tab-header, [bao-tab-header]", outputs: { onTabClick: "onTabClick" }, host: { listeners: { "click": "onClick($event.target)" }, classAttribute: "bao-tab-header" }, exportAs: ["baoTabHeader"], ngImport: i0 }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabHeader, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabHeader, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  selector: 'bao-tab-header, [bao-tab-header]',
@@ -42,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
42
42
  class: 'bao-tab-header'
43
43
  }
44
44
  }]
45
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { onTabClick: [{
45
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { onTabClick: [{
46
46
  type: Output
47
47
  }], onClick: [{
48
48
  type: HostListener,
@@ -62,10 +62,10 @@ export class BaoTabPanel {
62
62
  this.renderer.setAttribute(this.nativeElement, 'tabindex', '0');
63
63
  this.renderer.setAttribute(this.nativeElement, 'aria-expanded', 'false');
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabPanel, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BaoTabPanel, selector: "bao-panel, [bao-panel]", host: { classAttribute: "bao-panel" }, exportAs: ["baoPanel"], ngImport: i0 }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabPanel, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaoTabPanel, selector: "bao-panel, [bao-panel]", host: { classAttribute: "bao-panel" }, exportAs: ["baoPanel"], ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabPanel, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabPanel, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  selector: 'bao-panel, [bao-panel]',
@@ -74,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
74
74
  class: 'bao-panel'
75
75
  }
76
76
  }]
77
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
77
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
78
78
  export class BaoTablistComponent {
79
79
  constructor(renderer, elementRef) {
80
80
  this.renderer = renderer;
@@ -196,10 +196,10 @@ export class BaoTablistComponent {
196
196
  }
197
197
  return nextIndexInTablist.toString();
198
198
  }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTablistComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaoTablistComponent, selector: "bao-tablist, [bao-tablist]", inputs: { size: "size", ariaLabel: "ariaLabel" }, outputs: { activeTabChange: "activeTabChange" }, host: { listeners: { "window:keydown.arrowleft": "leftKeyEvent()", "window:keydown.arrowright": "rightKeyEvent()", "window:keydown.tab": "tabKeyEvent()", "window:keydown.shift.tab": "tabShiftKeyEvent()" }, properties: { "class.bao-tablist-small": "size === \"small\"", "class.bao-tablist-medium": "size === \"medium\"", "class.bao-tablist-large": "size === \"large\"" }, classAttribute: "bao-tablist" }, queries: [{ propertyName: "tabHeaders", predicate: BaoTabHeader }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bao-tablist{color:#637381;display:block;overflow:auto;white-space:nowrap;box-shadow:inset 0 -.125rem #ced4da}.bao-tablist.bao-tablist-small{font-weight:700;font-size:.75rem;line-height:1rem}.bao-tablist.bao-tablist-small>.bao-tab-header{padding:.5rem}.bao-tablist.bao-tablist-medium{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tablist.bao-tablist-medium>.bao-tab-header{padding:.625rem 1rem}.bao-tablist.bao-tablist-large{font-weight:700;font-size:1rem;line-height:1.5rem}.bao-tablist.bao-tablist-large>.bao-tab-header{padding:1rem}.bao-tablist button{all:unset}.bao-tablist>.bao-tab-header:hover:not(:disabled){color:#097d6c;cursor:pointer;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header.active{color:#097d6c;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header:focus.focus-visible{box-shadow:inset 0 0 0 .1875rem #98bcde;color:#637381}.bao-tablist>.bao-tab-header:disabled{color:#adb2bd}\n"], encapsulation: i0.ViewEncapsulation.None }); }
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTablistComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaoTablistComponent, selector: "bao-tablist, [bao-tablist]", inputs: { size: "size", ariaLabel: "ariaLabel" }, outputs: { activeTabChange: "activeTabChange" }, host: { listeners: { "window:keydown.arrowleft": "leftKeyEvent()", "window:keydown.arrowright": "rightKeyEvent()", "window:keydown.tab": "tabKeyEvent()", "window:keydown.shift.tab": "tabShiftKeyEvent()" }, properties: { "class.bao-tablist-small": "size === \"small\"", "class.bao-tablist-medium": "size === \"medium\"", "class.bao-tablist-large": "size === \"large\"" }, classAttribute: "bao-tablist" }, queries: [{ propertyName: "tabHeaders", predicate: BaoTabHeader }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bao-tablist{color:#637381;display:block;overflow:auto;white-space:nowrap;box-shadow:inset 0 -.125rem #ced4da}.bao-tablist.bao-tablist-small{font-weight:700;font-size:.75rem;line-height:1rem}.bao-tablist.bao-tablist-small>.bao-tab-header{padding:.5rem}.bao-tablist.bao-tablist-medium{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tablist.bao-tablist-medium>.bao-tab-header{padding:.625rem 1rem}.bao-tablist.bao-tablist-large{font-weight:700;font-size:1rem;line-height:1.5rem}.bao-tablist.bao-tablist-large>.bao-tab-header{padding:1rem}.bao-tablist button{all:unset}.bao-tablist>.bao-tab-header:hover:not(:disabled){color:#097d6c;cursor:pointer;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header.active{color:#097d6c;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header:focus.focus-visible{box-shadow:inset 0 0 0 .1875rem #98bcde;color:#637381}.bao-tablist>.bao-tab-header:disabled{color:#adb2bd}\n"], encapsulation: i0.ViewEncapsulation.None }); }
201
201
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTablistComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTablistComponent, decorators: [{
203
203
  type: Component,
204
204
  args: [{ selector: 'bao-tablist, [bao-tablist]', encapsulation: ViewEncapsulation.None, host: {
205
205
  class: 'bao-tablist',
@@ -207,7 +207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
207
207
  '[class.bao-tablist-medium]': 'size === "medium"',
208
208
  '[class.bao-tablist-large]': 'size === "large"'
209
209
  }, template: "<ng-content></ng-content>\n", styles: [".bao-tablist{color:#637381;display:block;overflow:auto;white-space:nowrap;box-shadow:inset 0 -.125rem #ced4da}.bao-tablist.bao-tablist-small{font-weight:700;font-size:.75rem;line-height:1rem}.bao-tablist.bao-tablist-small>.bao-tab-header{padding:.5rem}.bao-tablist.bao-tablist-medium{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tablist.bao-tablist-medium>.bao-tab-header{padding:.625rem 1rem}.bao-tablist.bao-tablist-large{font-weight:700;font-size:1rem;line-height:1.5rem}.bao-tablist.bao-tablist-large>.bao-tab-header{padding:1rem}.bao-tablist button{all:unset}.bao-tablist>.bao-tab-header:hover:not(:disabled){color:#097d6c;cursor:pointer;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header.active{color:#097d6c;box-shadow:inset 0 -.125rem #097d6c}.bao-tablist>.bao-tab-header:focus.focus-visible{box-shadow:inset 0 0 0 .1875rem #98bcde;color:#637381}.bao-tablist>.bao-tab-header:disabled{color:#adb2bd}\n"] }]
210
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { tabHeaders: [{
210
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { tabHeaders: [{
211
211
  type: ContentChildren,
212
212
  args: [BaoTabHeader]
213
213
  }], size: [{
@@ -276,10 +276,10 @@ export class BaoTabsContainer {
276
276
  }
277
277
  });
278
278
  }
279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsContainer, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
280
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BaoTabsContainer, selector: "bao-tabs, [bao-tabs]", host: { classAttribute: "bao-tabs" }, queries: [{ propertyName: "tablist", first: true, predicate: BaoTablistComponent, descendants: true }], exportAs: ["baoTabs"], ngImport: i0 }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsContainer, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
280
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaoTabsContainer, selector: "bao-tabs, [bao-tabs]", host: { classAttribute: "bao-tabs" }, queries: [{ propertyName: "tablist", first: true, predicate: BaoTablistComponent, descendants: true }], exportAs: ["baoTabs"], ngImport: i0 }); }
281
281
  }
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTabsContainer, decorators: [{
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTabsContainer, decorators: [{
283
283
  type: Directive,
284
284
  args: [{
285
285
  selector: 'bao-tabs, [bao-tabs]',
@@ -288,8 +288,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
288
288
  class: 'bao-tabs'
289
289
  }
290
290
  }]
291
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { tablist: [{
291
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { tablist: [{
292
292
  type: ContentChild,
293
293
  args: [BaoTablistComponent]
294
294
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7O0dBRUc7QUFDSCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQVF6QixNQUFNLE9BQU8sWUFBWTtJQU92QixZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFSN0M7O1dBRUc7UUFDYyxlQUFVLEdBQ3pCLElBQUksWUFBWSxFQUFVLENBQUM7SUFLMUIsQ0FBQztJQUVKLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUdELE9BQU8sQ0FBQyxFQUFlO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBMUJVLFlBQVk7a0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFQeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxnQkFBZ0I7cUJBQ3hCO2lCQUNGO3lIQUtrQixVQUFVO3NCQUExQixNQUFNO2dCQWFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7O0FBb0IxQyxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFDMUMsQ0FBQztJQUVKLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRSxDQUFDOzhHQWZVLFdBQVc7a0dBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFQdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXO3FCQUNuQjtpQkFDRjs7QUErQkQsTUFBTSxPQUFPLG1CQUFtQjtJQStCOUIsWUFDVSxRQUFtQixFQUNuQixVQUFtQztRQURuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBNUI3Qzs7V0FFRztRQUNhLFNBQUksR0FBaUMsT0FBTyxDQUFDO1FBRTdEOztXQUVHO1FBQ2EsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0Qzs7V0FFRztRQUNjLG9CQUFlLEdBQzlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFnQjNCLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDN0IsS0FBSyxDQUNOLENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUM3QixJQUFJLENBQ0wsQ0FBQztZQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFFSCxXQUFXO1FBQ1QsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUVILGdCQUFnQjtRQUNkLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFpQixFQUFFLEVBQUU7WUFDNUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRTtZQUM1QyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDeEIsSUFBSSxDQUFDLGFBQWEsRUFDbEIsWUFBWSxFQUNaLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDbkQsQ0FBQyxHQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQ2xELENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDeEIsZUFBZSxFQUNmLE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGVBQWUsQ0FDckIsaUJBQXlCLEVBQ3pCLGNBQXVCO1FBRXZCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWdCLEVBQUUsRUFBRTtZQUNqRCxJQUFJLEdBQUcsQ0FBQyxFQUFFLEtBQUssV0FBVyxpQkFBaUIsRUFBRSxFQUFFO2dCQUM3QyxJQUFJLGNBQWMsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDL0MsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHdCQUF3QixDQUM5QixZQUFvQixFQUNwQixPQUFnQjtRQUVoQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBa0IsR0FDdEIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3hELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzhHQWxMVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixvbEJBR2IsWUFBWSw2QkN4Ry9CLDZCQUNBOzsyRkRvR2EsbUJBQW1CO2tCQVovQixTQUFTOytCQUNFLDRCQUE0QixpQkFHdkIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsMkJBQTJCLEVBQUUsa0JBQWtCO3dCQUMvQyw0QkFBNEIsRUFBRSxtQkFBbUI7d0JBQ2pELDJCQUEyQixFQUFFLGtCQUFrQjtxQkFDaEQ7eUhBSzhCLFVBQVU7c0JBQXhDLGVBQWU7dUJBQUMsWUFBWTtnQkFLYixJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS1csZUFBZTtzQkFBL0IsTUFBTTtnQkE2QlAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFheEMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLDJCQUEyQjtnQkFnQnpDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBV2xDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLDBCQUEwQjs7QUF5RzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFDVSxRQUFtQixFQUNuQixVQUFtQztRQURuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBTHJDLGtCQUFhLEdBQUcsWUFBWSxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO0lBSzlCLENBQUM7SUFFSixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFnQixFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3RELE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQ25ELENBQUMsR0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFDMUIsZUFBZSxFQUNmLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQW1CO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDckMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLEVBQUUsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzVEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDN0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakVVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHVJQUdiLG1CQUFtQjs7MkZBSHRCLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsU0FBUztvQkFDbkIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxVQUFVO3FCQUNsQjtpQkFDRjt5SEFJb0MsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI1IFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVW5pcXVlIG51bWJlciB0byBnZW5lcmF0ZSBhIHVuaXF1ZSBJRFxuICovXG5sZXQgdGFic05leHRVbmlxdWVJZCA9IDA7XG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdiYW8tdGFiLWhlYWRlciwgW2Jhby10YWItaGVhZGVyXScsXG4gIGV4cG9ydEFzOiAnYmFvVGFiSGVhZGVyJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXRhYi1oZWFkZXInXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvVGFiSGVhZGVyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpdHMgaW5kZXggd2hlbiB0YWIgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBvblRhYkNsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkNsaWNrKGVsOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHRhYkluZGV4ID0gZWwuaWQuc3BsaXQoJy0nKVtlbC5pZC5zcGxpdCgnLScpLmxlbmd0aCAtIDFdO1xuICAgIHRoaXMub25UYWJDbGljay5lbWl0KHRhYkluZGV4KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdyb2xlJywgJ3RhYicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICctMScpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Jhby1wYW5lbCwgW2Jhby1wYW5lbF0nLFxuICBleHBvcnRBczogJ2Jhb1BhbmVsJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXBhbmVsJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhYlBhbmVsIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ3JvbGUnLCAndGFicGFuZWwnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAndHJ1ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJzAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFvLXRhYmxpc3QsIFtiYW8tdGFibGlzdF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXRhYmxpc3QnLFxuICAgICdbY2xhc3MuYmFvLXRhYmxpc3Qtc21hbGxdJzogJ3NpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFibGlzdC1tZWRpdW1dJzogJ3NpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3MuYmFvLXRhYmxpc3QtbGFyZ2VdJzogJ3NpemUgPT09IFwibGFyZ2VcIidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9UYWJsaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIEBDb250ZW50Q2hpbGRyZW4oQmFvVGFiSGVhZGVyKSB0YWJIZWFkZXJzOiBRdWVyeUxpc3Q8QmFvVGFiSGVhZGVyPjtcblxuICAvKipcbiAgICogU2l6ZSBvZiB0aGUgdGFicyBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ2xhcmdlJztcblxuICAvKipcbiAgICogT3B0aW9ubmFsIHZhbHVlIHRvIGJlIHVzZWQgYXMgYXJpYS1sYWJlbCBwcm9wZXJ0eSBvbiB0YWJsaXN0IGNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGFyaWFMYWJlbCA9ICdvbmdsZXRzJztcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGluZGV4IG9mIHRoZSBuZXcgYWN0aXZlIHRhYlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBhY3RpdmVUYWJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogSW5kZXggb2YgdGhlIHRhYiB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmVcbiAgICovXG4gIHByaXZhdGUgYWN0aXZlVGFiSW5kZXg6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIElEIGZvciBldmVyeSBpbnN0YW5jZSBvZiBCYW9UYWJsaXN0IGNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSB1bmlxdWVJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMudW5pcXVlSWQgPSBgYmFvLXRhYmxpc3QtJHt0YWJzTmV4dFVuaXF1ZUlkKyt9YDtcbiAgfVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgdGFicygpOiBIVE1MQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uYXJyb3dsZWZ0JylcbiAgbGVmdEtleUV2ZW50KCkge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQgPT09IHRoaXMudW5pcXVlSWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSB0aGlzLmdldE5leHRBY3RpdmFibGVUYWJJbmRleChcbiAgICAgICAgcGFyc2VJbnQodGhpcy5hY3RpdmVUYWJJbmRleCksXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgICAgdGhpcy5jaGFuZ2VBY3RpdmVUYWIodGhpcy5hY3RpdmVUYWJJbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlVGFiSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duLmFycm93cmlnaHQnKVxuICByaWdodEtleUV2ZW50KCkge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQgPT09IHRoaXMudW5pcXVlSWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSB0aGlzLmdldE5leHRBY3RpdmFibGVUYWJJbmRleChcbiAgICAgICAgcGFyc2VJbnQodGhpcy5hY3RpdmVUYWJJbmRleCksXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgICB0aGlzLmNoYW5nZUFjdGl2ZVRhYih0aGlzLmFjdGl2ZVRhYkluZGV4LCB0cnVlKTtcbiAgICAgIHRoaXMuYWN0aXZlVGFiQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVUYWJJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSBmb2N1cyB2aXNpYmxlIG9uIHRhYiBoZWFkZXIgd2hlbiBjaGFuZ2luZyBmcm9tIG1vdXNlIHRvIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duLnRhYicpXG4gIHRhYktleUV2ZW50KCkge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQgPT09IHRoaXMudW5pcXVlSWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJzW3RoaXMuYWN0aXZlVGFiSW5kZXhdLCAnZm9jdXMtdmlzaWJsZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlcyB0aGUgZm9jdXMgdmlzaWJsZSBvbiB0YWIgaGVhZGVyIHdoZW4gY2hhbmdpbmcgZnJvbSBtb3VzZSB0byBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bi5zaGlmdC50YWInKVxuICB0YWJTaGlmdEtleUV2ZW50KCkge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQgPT09IHRoaXMudW5pcXVlSWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJzW3RoaXMuYWN0aXZlVGFiSW5kZXhdLCAnZm9jdXMtdmlzaWJsZScpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFRhYmxpc3RBdHRyaWJ1dGVzKCk7XG4gICAgaWYgKHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZEVsZW1lbnRDb3VudCkge1xuICAgICAgdGhpcy5zZXRJbml0aWFsQWN0aXZlVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSGVhZGVycy5mb3JFYWNoKCh0YWI6IEJhb1RhYkhlYWRlcikgPT4ge1xuICAgICAgdGFiLm9uVGFiQ2xpY2suc3Vic2NyaWJlKChpbmRleDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50YWJzW2luZGV4XSwgJ2ZvY3VzLXZpc2libGUnKTtcbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNoYW5nZUFjdGl2ZVRhYihpbmRleCwgZmFsc2UpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkNoYW5nZS5lbWl0KGluZGV4KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJIZWFkZXJzLmZvckVhY2goKHRhYjogQmFvVGFiSGVhZGVyKSA9PiB7XG4gICAgICB0YWIub25UYWJDbGljay51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUYWJsaXN0QXR0cmlidXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdyb2xlJywgJ3RhYmxpc3QnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudCxcbiAgICAgICdhcmlhLWxhYmVsJyxcbiAgICAgIHRoaXMuYXJpYUxhYmVsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMubmF0aXZlRWxlbWVudCwgJ2lkJywgdGhpcy51bmlxdWVJZCk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxBY3RpdmVUYWIoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RUYWJJbmRleCA9IEFycmF5LmZyb20odGhpcy50YWJzKS5maW5kSW5kZXgoXG4gICAgICAodGFiOiBIVE1MRWxlbWVudCkgPT4gIXRhYi5hdHRyaWJ1dGVzWydkaXNhYmxlZCddXG4gICAgKTtcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gZmlyc3RUYWJJbmRleC50b1N0cmluZygpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgdGhpcy50YWJzW2ZpcnN0VGFiSW5kZXhdLFxuICAgICAgJ2FyaWEtc2VsZWN0ZWQnLFxuICAgICAgJ3RydWUnXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudGFic1tmaXJzdFRhYkluZGV4XSwgJ2FjdGl2ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJzW2ZpcnN0VGFiSW5kZXhdLCAnZm9jdXMtdmlzaWJsZScpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMudGFic1tmaXJzdFRhYkluZGV4XSwgJ3RhYmluZGV4Jyk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZVRhYihcbiAgICBuZXdBY3RpdmVUYWJJbmRleDogc3RyaW5nLFxuICAgIGlzRm9jdXNWaXNpYmxlOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIEFycmF5LmZyb20odGhpcy50YWJzKS5mb3JFYWNoKCh0YWI6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBpZiAodGFiLmlkID09PSBgYmFvLXRhYi0ke25ld0FjdGl2ZVRhYkluZGV4fWApIHtcbiAgICAgICAgaWYgKGlzRm9jdXNWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0YWIsICdmb2N1cy12aXNpYmxlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGFiLCAnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGFiLCAnYWN0aXZlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRhYiwgJ3RhYmluZGV4Jyk7XG4gICAgICAgIHRhYi5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGFiLCAnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRhYiwgJ2FjdGl2ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0YWIsICd0YWJpbmRleCcsICctMScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRhYiwgJ2ZvY3VzLXZpc2libGUnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgbmV4dCBhY3RpdmFibGUgdGFiIGluZGV4IHdoZW4gbmF2aWdhdGluZyB3aXRoIGxlZnQgYW5kIHJpZ2h0IGFycm93IGtleXNcbiAgICogQHBhcmFtIGN1cnJlbnRJbmRleCBUYWIgaW5kZXggd2hpY2ggY3VycmVudGx5IGhhcyBmb2N1c1xuICAgKiBAcGFyYW0gaXNSaWdodCBXaGV0aGVyIHRoZSB0YWIgbmF2aWdhdGlvbiBpcyBnb2luZyBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uIG9yIG5vdFxuICAgKiBAcmV0dXJucyBJbmRleCBvZiB0aGUgbmV3IHRhYiB0aGF0IHdpbGwgcmVjZWl2ZSBmb2N1c1xuICAgKi9cbiAgcHJpdmF0ZSBnZXROZXh0QWN0aXZhYmxlVGFiSW5kZXgoXG4gICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgaXNSaWdodDogYm9vbGVhblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGlzUmlnaHQgPyBjdXJyZW50SW5kZXggKyAxIDogY3VycmVudEluZGV4IC0gMTtcbiAgICBjb25zdCBuZXh0SW5kZXhJblRhYmxpc3QgPVxuICAgICAgKChuZXh0SW5kZXggJSB0aGlzLnRhYnMubGVuZ3RoKSArIHRoaXMudGFicy5sZW5ndGgpICUgdGhpcy50YWJzLmxlbmd0aDtcbiAgICBpZiAodGhpcy50YWJzW25leHRJbmRleEluVGFibGlzdF0uYXR0cmlidXRlc1snZGlzYWJsZWQnXSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TmV4dEFjdGl2YWJsZVRhYkluZGV4KG5leHRJbmRleEluVGFibGlzdCwgaXNSaWdodCk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0SW5kZXhJblRhYmxpc3QudG9TdHJpbmcoKTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdiYW8tdGFicywgW2Jhby10YWJzXScsXG4gIGV4cG9ydEFzOiAnYmFvVGFicycsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2Jhby10YWJzJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhYnNDb250YWluZXJcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQENvbnRlbnRDaGlsZChCYW9UYWJsaXN0Q29tcG9uZW50KSB0YWJsaXN0OiBCYW9UYWJsaXN0Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgcGFuZWxJZFByZWZpeCA9ICdiYW8tcGFuZWwtJztcbiAgcHJpdmF0ZSB0YWJJZFByZWZpeCA9ICdiYW8tdGFiLSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIGdldCB0YWJzKCk6IEhUTUxDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmJhby10YWJsaXN0JykuY2hpbGRyZW47XG4gIH1cblxuICBnZXQgcGFuZWxzKCk6IE5vZGVMaXN0T2Y8RWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYmFvLXBhbmVsJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsQWN0aXZlUGFuZWwoKTtcbiAgICBBcnJheS5mcm9tKHRoaXMudGFicykuZm9yRWFjaCgodGFiOiBIVE1MRWxlbWVudCwgaWR4KSA9PiB7XG4gICAgICBjb25zdCB0YWJJZCA9IGAke3RoaXMudGFiSWRQcmVmaXh9JHtpZHh9YDtcbiAgICAgIGNvbnN0IHBhbmVsSWQgPSBgJHt0aGlzLnBhbmVsSWRQcmVmaXh9JHtpZHh9YDtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGFiLCAnaWQnLCB0YWJJZCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMucGFuZWxzW2lkeF0sICdpZCcsIHBhbmVsSWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGFiLCAnYXJpYS1jb250cm9scycsIHBhbmVsSWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5wYW5lbHNbaWR4XSwgJ2FyaWEtbGFiZWxsZWRieScsIHRhYklkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxpc3QuYWN0aXZlVGFiQ2hhbmdlLnN1YnNjcmliZSgoaW5kZXg6IHN0cmluZykgPT5cbiAgICAgIHRoaXMuY2hhbmdlQWN0aXZlUGFuZWwoaW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGlzdC5hY3RpdmVUYWJDaGFuZ2UudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbEFjdGl2ZVBhbmVsKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpcnN0VGFiSW5kZXggPSBBcnJheS5mcm9tKHRoaXMudGFicykuZmluZEluZGV4KFxuICAgICAgKHRhYjogSFRNTEVsZW1lbnQpID0+ICF0YWIuYXR0cmlidXRlc1snZGlzYWJsZWQnXVxuICAgICk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5wYW5lbHNbZmlyc3RUYWJJbmRleF0sICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHRoaXMucGFuZWxzW2ZpcnN0VGFiSW5kZXhdLFxuICAgICAgJ2FyaWEtZXhwYW5kZWQnLFxuICAgICAgJ3RydWUnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQWN0aXZlUGFuZWwobmV3QWN0aXZlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucGFuZWxzLmZvckVhY2goKHBhbmVsOiBFbGVtZW50KSA9PiB7XG4gICAgICBpZiAocGFuZWwuaWQgPT09IGAke3RoaXMucGFuZWxJZFByZWZpeH0ke25ld0FjdGl2ZUlkfWApIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUocGFuZWwsICdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGFuZWwsICdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhbmVsLCAnaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGFuZWwsICdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7O0dBRUc7QUFDSCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQVF6QixNQUFNLE9BQU8sWUFBWTtJQU92QixZQUNVLFFBQW1CLEVBQ25CLFVBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFSN0M7O1dBRUc7UUFDYyxlQUFVLEdBQ3pCLElBQUksWUFBWSxFQUFVLENBQUM7SUFLMUIsQ0FBQztJQUVKLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUdELE9BQU8sQ0FBQyxFQUFlO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFD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O21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSxTQUFTO29CQUNuQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFVBQVU7cUJBQ2xCO2lCQUNGO3VHQUlvQyxPQUFPO3NCQUF6QyxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBVbmlxdWUgbnVtYmVyIHRvIGdlbmVyYXRlIGEgdW5pcXVlIElEXG4gKi9cbmxldCB0YWJzTmV4dFVuaXF1ZUlkID0gMDtcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Jhby10YWItaGVhZGVyLCBbYmFvLXRhYi1oZWFkZXJdJyxcbiAgZXhwb3J0QXM6ICdiYW9UYWJIZWFkZXInLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tdGFiLWhlYWRlcidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9UYWJIZWFkZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGl0cyBpbmRleCB3aGVuIHRhYiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIG9uVGFiQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICApIHt9XG5cbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIG9uQ2xpY2soZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgdGFiSW5kZXggPSBlbC5pZC5zcGxpdCgnLScpW2VsLmlkLnNwbGl0KCctJykubGVuZ3RoIC0gMV07XG4gICAgdGhpcy5vblRhYkNsaWNrLmVtaXQodGFiSW5kZXgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ3JvbGUnLCAndGFiJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAnYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJy0xJyk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYmFvLXBhbmVsLCBbYmFvLXBhbmVsXScsXG4gIGV4cG9ydEFzOiAnYmFvUGFuZWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tcGFuZWwnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvVGFiUGFuZWwgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAncm9sZScsICd0YWJwYW5lbCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2hpZGRlbicsICd0cnVlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYW8tdGFibGlzdCwgW2Jhby10YWJsaXN0XScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFicy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tdGFibGlzdCcsXG4gICAgJ1tjbGFzcy5iYW8tdGFibGlzdC1zbWFsbF0nOiAnc2l6ZSA9PT0gXCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLmJhby10YWJsaXN0LW1lZGl1bV0nOiAnc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFibGlzdC1sYXJnZV0nOiAnc2l6ZSA9PT0gXCJsYXJnZVwiJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhYmxpc3RDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQENvbnRlbnRDaGlsZHJlbihCYW9UYWJIZWFkZXIpIHRhYkhlYWRlcnM6IFF1ZXJ5TGlzdDxCYW9UYWJIZWFkZXI+O1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSB0YWJzIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbGFyZ2UnO1xuXG4gIC8qKlxuICAgKiBPcHRpb25uYWwgdmFsdWUgdG8gYmUgdXNlZCBhcyBhcmlhLWxhYmVsIHByb3BlcnR5IG9uIHRhYmxpc3QgY29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXJpYUxhYmVsID0gJ29uZ2xldHMnO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgaW5kZXggb2YgdGhlIG5ldyBhY3RpdmUgdGFiXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIGFjdGl2ZVRhYkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBJbmRleCBvZiB0aGUgdGFiIHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZVxuICAgKi9cbiAgcHJpdmF0ZSBhY3RpdmVUYWJJbmRleDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgSUQgZm9yIGV2ZXJ5IGluc3RhbmNlIG9mIEJhb1RhYmxpc3QgY29tcG9uZW50XG4gICAqL1xuICBwcml2YXRlIHVuaXF1ZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgdGhpcy51bmlxdWVJZCA9IGBiYW8tdGFibGlzdC0ke3RhYnNOZXh0VW5pcXVlSWQrK31gO1xuICB9XG5cbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCB0YWJzKCk6IEhUTUxDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bi5hcnJvd2xlZnQnKVxuICBsZWZ0S2V5RXZlbnQoKSB7XG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5pZCA9PT0gdGhpcy51bmlxdWVJZCkge1xuICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHRoaXMuZ2V0TmV4dEFjdGl2YWJsZVRhYkluZGV4KFxuICAgICAgICBwYXJzZUludCh0aGlzLmFjdGl2ZVRhYkluZGV4KSxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgICB0aGlzLmNoYW5nZUFjdGl2ZVRhYih0aGlzLmFjdGl2ZVRhYkluZGV4LCB0cnVlKTtcbiAgICAgIHRoaXMuYWN0aXZlVGFiQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVUYWJJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uYXJyb3dyaWdodCcpXG4gIHJpZ2h0S2V5RXZlbnQoKSB7XG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5pZCA9PT0gdGhpcy51bmlxdWVJZCkge1xuICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHRoaXMuZ2V0TmV4dEFjdGl2YWJsZVRhYkluZGV4KFxuICAgICAgICBwYXJzZUludCh0aGlzLmFjdGl2ZVRhYkluZGV4KSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICAgIHRoaXMuY2hhbmdlQWN0aXZlVGFiKHRoaXMuYWN0aXZlVGFiSW5kZXgsIHRydWUpO1xuICAgICAgdGhpcy5hY3RpdmVUYWJDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZVRhYkluZGV4KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFrZXMgdGhlIGZvY3VzIHZpc2libGUgb24gdGFiIGhlYWRlciB3aGVuIGNoYW5naW5nIGZyb20gbW91c2UgdG8ga2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24udGFiJylcbiAgdGFiS2V5RXZlbnQoKSB7XG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5pZCA9PT0gdGhpcy51bmlxdWVJZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhYnNbdGhpcy5hY3RpdmVUYWJJbmRleF0sICdmb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ha2VzIHRoZSBmb2N1cyB2aXNpYmxlIG9uIHRhYiBoZWFkZXIgd2hlbiBjaGFuZ2luZyBmcm9tIG1vdXNlIHRvIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duLnNoaWZ0LnRhYicpXG4gIHRhYlNoaWZ0S2V5RXZlbnQoKSB7XG4gICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5pZCA9PT0gdGhpcy51bmlxdWVJZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhYnNbdGhpcy5hY3RpdmVUYWJJbmRleF0sICdmb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VGFibGlzdEF0dHJpYnV0ZXMoKTtcbiAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50KSB7XG4gICAgICB0aGlzLnNldEluaXRpYWxBY3RpdmVUYWIoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJIZWFkZXJzLmZvckVhY2goKHRhYjogQmFvVGFiSGVhZGVyKSA9PiB7XG4gICAgICB0YWIub25UYWJDbGljay5zdWJzY3JpYmUoKGluZGV4OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRhYnNbaW5kZXhdLCAnZm9jdXMtdmlzaWJsZScpO1xuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuY2hhbmdlQWN0aXZlVGFiKGluZGV4LCBmYWxzZSk7XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiQ2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkhlYWRlcnMuZm9yRWFjaCgodGFiOiBCYW9UYWJIZWFkZXIpID0+IHtcbiAgICAgIHRhYi5vblRhYkNsaWNrLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRhYmxpc3RBdHRyaWJ1dGVzKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMubmF0aXZlRWxlbWVudCwgJ3JvbGUnLCAndGFibGlzdCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2FyaWEtbGFiZWwnLFxuICAgICAgdGhpcy5hcmlhTGFiZWxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5uYXRpdmVFbGVtZW50LCAnaWQnLCB0aGlzLnVuaXF1ZUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5pdGlhbEFjdGl2ZVRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBmaXJzdFRhYkluZGV4ID0gQXJyYXkuZnJvbSh0aGlzLnRhYnMpLmZpbmRJbmRleChcbiAgICAgICh0YWI6IEhUTUxFbGVtZW50KSA9PiAhdGFiLmF0dHJpYnV0ZXNbJ2Rpc2FibGVkJ11cbiAgICApO1xuICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBmaXJzdFRhYkluZGV4LnRvU3RyaW5nKCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICB0aGlzLnRhYnNbZmlyc3RUYWJJbmRleF0sXG4gICAgICAnYXJpYS1zZWxlY3RlZCcsXG4gICAgICAndHJ1ZSdcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YWJzW2ZpcnN0VGFiSW5kZXhdLCAnYWN0aXZlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhYnNbZmlyc3RUYWJJbmRleF0sICdmb2N1cy12aXNpYmxlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy50YWJzW2ZpcnN0VGFiSW5kZXhdLCAndGFiaW5kZXgnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQWN0aXZlVGFiKFxuICAgIG5ld0FjdGl2ZVRhYkluZGV4OiBzdHJpbmcsXG4gICAgaXNGb2N1c1Zpc2libGU6IGJvb2xlYW5cbiAgKTogdm9pZCB7XG4gICAgQXJyYXkuZnJvbSh0aGlzLnRhYnMpLmZvckVhY2goKHRhYjogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGlmICh0YWIuaWQgPT09IGBiYW8tdGFiLSR7bmV3QWN0aXZlVGFiSW5kZXh9YCkge1xuICAgICAgICBpZiAoaXNGb2N1c1Zpc2libGUpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRhYiwgJ2ZvY3VzLXZpc2libGUnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0YWIsICdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0YWIsICdhY3RpdmUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGFiLCAndGFiaW5kZXgnKTtcbiAgICAgICAgdGFiLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0YWIsICdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGFiLCAnYWN0aXZlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRhYiwgJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGFiLCAnZm9jdXMtdmlzaWJsZScpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBuZXh0IGFjdGl2YWJsZSB0YWIgaW5kZXggd2hlbiBuYXZpZ2F0aW5nIHdpdGggbGVmdCBhbmQgcmlnaHQgYXJyb3cga2V5c1xuICAgKiBAcGFyYW0gY3VycmVudEluZGV4IFRhYiBpbmRleCB3aGljaCBjdXJyZW50bHkgaGFzIGZvY3VzXG4gICAqIEBwYXJhbSBpc1JpZ2h0IFdoZXRoZXIgdGhlIHRhYiBuYXZpZ2F0aW9uIGlzIGdvaW5nIGluIHRoZSByaWdodCBkaXJlY3Rpb24gb3Igbm90XG4gICAqIEByZXR1cm5zIEluZGV4IG9mIHRoZSBuZXcgdGFiIHRoYXQgd2lsbCByZWNlaXZlIGZvY3VzXG4gICAqL1xuICBwcml2YXRlIGdldE5leHRBY3RpdmFibGVUYWJJbmRleChcbiAgICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgICBpc1JpZ2h0OiBib29sZWFuXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgbmV4dEluZGV4ID0gaXNSaWdodCA/IGN1cnJlbnRJbmRleCArIDEgOiBjdXJyZW50SW5kZXggLSAxO1xuICAgIGNvbnN0IG5leHRJbmRleEluVGFibGlzdCA9XG4gICAgICAoKG5leHRJbmRleCAlIHRoaXMudGFicy5sZW5ndGgpICsgdGhpcy50YWJzLmxlbmd0aCkgJSB0aGlzLnRhYnMubGVuZ3RoO1xuICAgIGlmICh0aGlzLnRhYnNbbmV4dEluZGV4SW5UYWJsaXN0XS5hdHRyaWJ1dGVzWydkaXNhYmxlZCddKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXROZXh0QWN0aXZhYmxlVGFiSW5kZXgobmV4dEluZGV4SW5UYWJsaXN0LCBpc1JpZ2h0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHRJbmRleEluVGFibGlzdC50b1N0cmluZygpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Jhby10YWJzLCBbYmFvLXRhYnNdJyxcbiAgZXhwb3J0QXM6ICdiYW9UYWJzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLXRhYnMnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvVGFic0NvbnRhaW5lclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBAQ29udGVudENoaWxkKEJhb1RhYmxpc3RDb21wb25lbnQpIHRhYmxpc3Q6IEJhb1RhYmxpc3RDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBwYW5lbElkUHJlZml4ID0gJ2Jhby1wYW5lbC0nO1xuICBwcml2YXRlIHRhYklkUHJlZml4ID0gJ2Jhby10YWItJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICApIHt9XG5cbiAgZ2V0IHRhYnMoKTogSFRNTENvbGxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYmFvLXRhYmxpc3QnKS5jaGlsZHJlbjtcbiAgfVxuXG4gIGdldCBwYW5lbHMoKTogTm9kZUxpc3RPZjxFbGVtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYW8tcGFuZWwnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEluaXRpYWxBY3RpdmVQYW5lbCgpO1xuICAgIEFycmF5LmZyb20odGhpcy50YWJzKS5mb3JFYWNoKCh0YWI6IEhUTUxFbGVtZW50LCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IHRhYklkID0gYCR7dGhpcy50YWJJZFByZWZpeH0ke2lkeH1gO1xuICAgICAgY29uc3QgcGFuZWxJZCA9IGAke3RoaXMucGFuZWxJZFByZWZpeH0ke2lkeH1gO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0YWIsICdpZCcsIHRhYklkKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5wYW5lbHNbaWR4XSwgJ2lkJywgcGFuZWxJZCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0YWIsICdhcmlhLWNvbnRyb2xzJywgcGFuZWxJZCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnBhbmVsc1tpZHhdLCAnYXJpYS1sYWJlbGxlZGJ5JywgdGFiSWQpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGlzdC5hY3RpdmVUYWJDaGFuZ2Uuc3Vic2NyaWJlKChpbmRleDogc3RyaW5nKSA9PlxuICAgICAgdGhpcy5jaGFuZ2VBY3RpdmVQYW5lbChpbmRleClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50YWJsaXN0LmFjdGl2ZVRhYkNoYW5nZS51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsQWN0aXZlUGFuZWwoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RUYWJJbmRleCA9IEFycmF5LmZyb20odGhpcy50YWJzKS5maW5kSW5kZXgoXG4gICAgICAodGFiOiBIVE1MRWxlbWVudCkgPT4gIXRhYi5hdHRyaWJ1dGVzWydkaXNhYmxlZCddXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLnBhbmVsc1tmaXJzdFRhYkluZGV4XSwgJ2hpZGRlbicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgdGhpcy5wYW5lbHNbZmlyc3RUYWJJbmRleF0sXG4gICAgICAnYXJpYS1leHBhbmRlZCcsXG4gICAgICAndHJ1ZSdcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VBY3RpdmVQYW5lbChuZXdBY3RpdmVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wYW5lbHMuZm9yRWFjaCgocGFuZWw6IEVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChwYW5lbC5pZCA9PT0gYCR7dGhpcy5wYW5lbElkUHJlZml4fSR7bmV3QWN0aXZlSWR9YCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShwYW5lbCwgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYW5lbCwgJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGFuZWwsICdoaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYW5lbCwgJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -9,11 +9,11 @@ import { BaoTagComponent } from './tag.component';
9
9
  import * as i0 from "@angular/core";
10
10
  const TAG_DIRECTIVES = [BaoTagComponent];
11
11
  export class BaoTagModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BaoTagModule, declarations: [BaoTagComponent], imports: [CommonModule], exports: [BaoTagComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTagModule, imports: [CommonModule] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BaoTagModule, declarations: [BaoTagComponent], imports: [CommonModule], exports: [BaoTagComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTagModule, imports: [CommonModule] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTagModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTagModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [CommonModule],
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
21
21
  exports: [TAG_DIRECTIVES]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3RhZy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQU96QyxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBUEQsZUFBZSxhQUczQixZQUFZLGFBSEEsZUFBZTsrR0FPMUIsWUFBWSxZQUpiLFlBQVk7OzJGQUlYLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI1IFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFvVGFnQ29tcG9uZW50IH0gZnJvbSAnLi90YWcuY29tcG9uZW50JztcblxuY29uc3QgVEFHX0RJUkVDVElWRVMgPSBbQmFvVGFnQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1RBR19ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogW1RBR19ESVJFQ1RJVkVTXVxufSlcbmV4cG9ydCBjbGFzcyBCYW9UYWdNb2R1bGUge31cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL3RhZy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQU96QyxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBUEQsZUFBZSxhQUczQixZQUFZLGFBSEEsZUFBZTtnSEFPMUIsWUFBWSxZQUpiLFlBQVk7OzRGQUlYLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI1IFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFvVGFnQ29tcG9uZW50IH0gZnJvbSAnLi90YWcuY29tcG9uZW50JztcblxuY29uc3QgVEFHX0RJUkVDVElWRVMgPSBbQmFvVGFnQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1RBR19ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogW1RBR19ESVJFQ1RJVkVTXVxufSlcbmV4cG9ydCBjbGFzcyBCYW9UYWdNb2R1bGUge31cbiJdfQ==
@@ -47,10 +47,10 @@ export class BaoTagComponent {
47
47
  this.renderer.addClass(this.nativeElement, HAS_ICON);
48
48
  }
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTagComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BaoTagComponent, selector: "bao-tag, [bao-tag], [baoTag]", inputs: { type: "type", variant: "variant", hiddenText: "hiddenText" }, host: { properties: { "class.bao-tag-neutral-light": "type === \"neutral\" && variant === \"light\"", "class.bao-tag-neutral-strong": "type === \"neutral\" && variant === \"strong\"", "class.bao-tag-info-light": "type === \"info\" && variant === \"light\"", "class.bao-tag-info-strong": "type === \"info\" && variant === \"strong\"", "class.bao-tag-positive-light": "type === \"positive\" && variant === \"light\"", "class.bao-tag-positive-strong": "type === \"positive\" && variant === \"strong\"", "class.bao-tag-alert-light": "type === \"alert\" && variant === \"light\"", "class.bao-tag-alert-strong": "type === \"alert\" && variant === \"strong\"", "class.bao-tag-negative-light": "type === \"negative\" && variant === \"light\"", "class.bao-tag-negative-strong": "type === \"negative\" && variant === \"strong\"" }, classAttribute: "bao-tag" }, ngImport: i0, template: "<ng-content select=\"bao-icon\"></ng-content>\n<ng-content></ng-content>\n", styles: [".bao-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.125rem;line-height:1.5rem}.bao-tag.has-icon{padding-left:.25rem}.bao-tag.bao-tag-info-light{background-color:#e6f5f9;color:#004b7b}.bao-tag.bao-tag-info-strong{background-color:#0079c4;color:#fff}.bao-tag.bao-tag-positive-light{background-color:#e7f6f0;color:#025d29}.bao-tag.bao-tag-positive-strong{background-color:#0da566;color:#fff}.bao-tag.bao-tag-negative-light{background-color:#ffebe6;color:#851a00}.bao-tag.bao-tag-negative-strong{background-color:#d3310a;color:#fff}.bao-tag.bao-tag-alert-light{background-color:#fefae6;color:#6c4600}.bao-tag.bao-tag-alert-strong{background-color:#ffb833;color:#212529}.bao-tag.bao-tag-neutral-light{background-color:#dee2e6;color:#212529}.bao-tag.bao-tag-neutral-strong{background-color:#212529;color:#fff}.bao-tag>span{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tag>.bao-icon{height:1rem;width:1rem;margin-right:.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTagComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BaoTagComponent, selector: "bao-tag, [bao-tag], [baoTag]", inputs: { type: "type", variant: "variant", hiddenText: "hiddenText" }, host: { properties: { "class.bao-tag-neutral-light": "type === \"neutral\" && variant === \"light\"", "class.bao-tag-neutral-strong": "type === \"neutral\" && variant === \"strong\"", "class.bao-tag-info-light": "type === \"info\" && variant === \"light\"", "class.bao-tag-info-strong": "type === \"info\" && variant === \"strong\"", "class.bao-tag-positive-light": "type === \"positive\" && variant === \"light\"", "class.bao-tag-positive-strong": "type === \"positive\" && variant === \"strong\"", "class.bao-tag-alert-light": "type === \"alert\" && variant === \"light\"", "class.bao-tag-alert-strong": "type === \"alert\" && variant === \"strong\"", "class.bao-tag-negative-light": "type === \"negative\" && variant === \"light\"", "class.bao-tag-negative-strong": "type === \"negative\" && variant === \"strong\"" }, classAttribute: "bao-tag" }, ngImport: i0, template: "<ng-content select=\"bao-icon\"></ng-content>\n<ng-content></ng-content>\n", styles: [".bao-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.125rem;line-height:1.5rem}.bao-tag.has-icon{padding-left:.25rem}.bao-tag.bao-tag-info-light{background-color:#e6f5f9;color:#004b7b}.bao-tag.bao-tag-info-strong{background-color:#0079c4;color:#fff}.bao-tag.bao-tag-positive-light{background-color:#e7f6f0;color:#025d29}.bao-tag.bao-tag-positive-strong{background-color:#0da566;color:#fff}.bao-tag.bao-tag-negative-light{background-color:#ffebe6;color:#851a00}.bao-tag.bao-tag-negative-strong{background-color:#d3310a;color:#fff}.bao-tag.bao-tag-alert-light{background-color:#fefae6;color:#6c4600}.bao-tag.bao-tag-alert-strong{background-color:#ffb833;color:#212529}.bao-tag.bao-tag-neutral-light{background-color:#dee2e6;color:#212529}.bao-tag.bao-tag-neutral-strong{background-color:#212529;color:#fff}.bao-tag>span{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tag>.bao-icon{height:1rem;width:1rem;margin-right:.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoTagComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaoTagComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: 'bao-tag, [bao-tag], [baoTag]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
56
56
  class: 'bao-tag',
@@ -65,11 +65,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
65
65
  '[class.bao-tag-negative-light]': 'type === "negative" && variant === "light"',
66
66
  '[class.bao-tag-negative-strong]': 'type === "negative" && variant === "strong"'
67
67
  }, template: "<ng-content select=\"bao-icon\"></ng-content>\n<ng-content></ng-content>\n", styles: [".bao-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.125rem;line-height:1.5rem}.bao-tag.has-icon{padding-left:.25rem}.bao-tag.bao-tag-info-light{background-color:#e6f5f9;color:#004b7b}.bao-tag.bao-tag-info-strong{background-color:#0079c4;color:#fff}.bao-tag.bao-tag-positive-light{background-color:#e7f6f0;color:#025d29}.bao-tag.bao-tag-positive-strong{background-color:#0da566;color:#fff}.bao-tag.bao-tag-negative-light{background-color:#ffebe6;color:#851a00}.bao-tag.bao-tag-negative-strong{background-color:#d3310a;color:#fff}.bao-tag.bao-tag-alert-light{background-color:#fefae6;color:#6c4600}.bao-tag.bao-tag-alert-strong{background-color:#ffb833;color:#212529}.bao-tag.bao-tag-neutral-light{background-color:#dee2e6;color:#212529}.bao-tag.bao-tag-neutral-strong{background-color:#212529;color:#fff}.bao-tag>span{font-weight:700;font-size:.875rem;line-height:1.25rem}.bao-tag>.bao-icon{height:1rem;width:1rem;margin-right:.25rem}\n"] }]
68
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { type: [{
68
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { type: [{
69
69
  type: Input
70
70
  }], variant: [{
71
71
  type: Input
72
72
  }], hiddenText: [{
73
73
  type: Input
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQUV2QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztBQTRCNUIsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBbUM7UUFEbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWxCN0M7O1dBRUc7UUFDYSxTQUFJLEdBQ2xCLFNBQVMsQ0FBQztRQUVaOztXQUVHO1FBQ2EsWUFBTyxHQUF1QixPQUFPLENBQUM7UUFFdEQ7O1dBRUc7UUFDYSxlQUFVLEdBQUcsV0FBVyxDQUFDO0lBS3RDLENBQUM7SUFFSixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUNuRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM3RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzhHQXREVSxlQUFlO2tHQUFmLGVBQWUsKzlCQy9DNUIsNEVBRUE7OzJGRDZDYSxlQUFlO2tCQTFCM0IsU0FBUzsrQkFDRSw4QkFBOEIsaUJBR3pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLCtCQUErQixFQUM3QiwyQ0FBMkM7d0JBQzdDLGdDQUFnQyxFQUM5Qiw0Q0FBNEM7d0JBQzlDLDRCQUE0QixFQUFFLHdDQUF3Qzt3QkFDdEUsNkJBQTZCLEVBQUUseUNBQXlDO3dCQUN4RSxnQ0FBZ0MsRUFDOUIsNENBQTRDO3dCQUM5QyxpQ0FBaUMsRUFDL0IsNkNBQTZDO3dCQUMvQyw2QkFBNkIsRUFBRSx5Q0FBeUM7d0JBQ3hFLDhCQUE4QixFQUFFLDBDQUEwQzt3QkFDMUUsZ0NBQWdDLEVBQzlCLDRDQUE0Qzt3QkFDOUMsaUNBQWlDLEVBQy9CLDZDQUE2QztxQkFDaEQ7eUhBTWUsSUFBSTtzQkFBbkIsS0FBSztnQkFNVSxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI1IFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBTUEFOID0gJ3NwYW4nO1xuY29uc3QgU1BBTl9URVhUX1BST1BFUlRZID0gJ3RleHRDb250ZW50JztcbmNvbnN0IFNDUkVFTl9SRUFERVJfQ0xBU1NfTkFNRSA9ICdzci1vbmx5JztcbmNvbnN0IEJBT19JQ09OID0gJ2Jhby1pY29uJztcbmNvbnN0IEhBU19JQ09OID0gJ2hhcy1pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFvLXRhZywgW2Jhby10YWddLCBbYmFvVGFnXScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2Jhby10YWcnLFxuICAgICdbY2xhc3MuYmFvLXRhZy1uZXV0cmFsLWxpZ2h0XSc6XG4gICAgICAndHlwZSA9PT0gXCJuZXV0cmFsXCIgJiYgdmFyaWFudCA9PT0gXCJsaWdodFwiJyxcbiAgICAnW2NsYXNzLmJhby10YWctbmV1dHJhbC1zdHJvbmddJzpcbiAgICAgICd0eXBlID09PSBcIm5ldXRyYWxcIiAmJiB2YXJpYW50ID09PSBcInN0cm9uZ1wiJyxcbiAgICAnW2NsYXNzLmJhby10YWctaW5mby1saWdodF0nOiAndHlwZSA9PT0gXCJpbmZvXCIgJiYgdmFyaWFudCA9PT0gXCJsaWdodFwiJyxcbiAgICAnW2NsYXNzLmJhby10YWctaW5mby1zdHJvbmddJzogJ3R5cGUgPT09IFwiaW5mb1wiICYmIHZhcmlhbnQgPT09IFwic3Ryb25nXCInLFxuICAgICdbY2xhc3MuYmFvLXRhZy1wb3NpdGl2ZS1saWdodF0nOlxuICAgICAgJ3R5cGUgPT09IFwicG9zaXRpdmVcIiAmJiB2YXJpYW50ID09PSBcImxpZ2h0XCInLFxuICAgICdbY2xhc3MuYmFvLXRhZy1wb3NpdGl2ZS1zdHJvbmddJzpcbiAgICAgICd0eXBlID09PSBcInBvc2l0aXZlXCIgJiYgdmFyaWFudCA9PT0gXCJzdHJvbmdcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLWFsZXJ0LWxpZ2h0XSc6ICd0eXBlID09PSBcImFsZXJ0XCIgJiYgdmFyaWFudCA9PT0gXCJsaWdodFwiJyxcbiAgICAnW2NsYXNzLmJhby10YWctYWxlcnQtc3Ryb25nXSc6ICd0eXBlID09PSBcImFsZXJ0XCIgJiYgdmFyaWFudCA9PT0gXCJzdHJvbmdcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLW5lZ2F0aXZlLWxpZ2h0XSc6XG4gICAgICAndHlwZSA9PT0gXCJuZWdhdGl2ZVwiICYmIHZhcmlhbnQgPT09IFwibGlnaHRcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLW5lZ2F0aXZlLXN0cm9uZ10nOlxuICAgICAgJ3R5cGUgPT09IFwibmVnYXRpdmVcIiAmJiB2YXJpYW50ID09PSBcInN0cm9uZ1wiJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb1RhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVGhlIGNvbG9yIG9mIHRoZSB0YWcuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ25ldXRyYWwnIHwgJ2luZm8nIHwgJ3Bvc2l0aXZlJyB8ICdhbGVydCcgfCAnbmVnYXRpdmUnID1cbiAgICAnbmV1dHJhbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaGFkZSBvZiB0aGUgdGFncyBjb2xvci5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB2YXJpYW50OiAnbGlnaHQnIHwgJ3N0cm9uZycgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgaGlkZGVuIHRleHQgZm9yIHNjcmVlbiByZWFkZXJzLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGhpZGRlblRleHQgPSAnw4l0aXF1ZXR0ZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYWRkSGlkZGVuVGV4dCgpO1xuICAgIHRoaXMuYWRkSWNvbkNsYXNzKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZEhpZGRlblRleHQoKSB7XG4gICAgY29uc3Qgc2NyZWVuUmVhZGVyU3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudChTUEFOKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgc2NyZWVuUmVhZGVyU3BhbixcbiAgICAgIFNQQU5fVEVYVF9QUk9QRVJUWSxcbiAgICAgIHRoaXMuaGlkZGVuVGV4dFxuICAgICk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzY3JlZW5SZWFkZXJTcGFuLCBTQ1JFRU5fUkVBREVSX0NMQVNTX05BTUUpO1xuICAgIGNvbnN0IGxhYmVsQ2hpbGQgPSBBcnJheS5mcm9tKHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZHJlbikuZmluZChcbiAgICAgIGMgPT4gYy5sb2NhbE5hbWUgPT09IFNQQU5cbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LFxuICAgICAgc2NyZWVuUmVhZGVyU3BhbixcbiAgICAgIGxhYmVsQ2hpbGRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJY29uQ2xhc3MoKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZHJlbik7XG4gICAgaWYgKGNoaWxkcmVuLnNvbWUoYyA9PiBjLmxvY2FsTmFtZSA9PT0gQkFPX0lDT04pKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgSEFTX0lDT04pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYmFvLWljb25cIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQUV2QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSx3QkFBd0IsR0FBRyxTQUFTLENBQUM7QUFDM0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztBQTRCNUIsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBbUM7UUFEbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWxCN0M7O1dBRUc7UUFDYSxTQUFJLEdBQ2xCLFNBQVMsQ0FBQztRQUVaOztXQUVHO1FBQ2EsWUFBTyxHQUF1QixPQUFPLENBQUM7UUFFdEQ7O1dBRUc7UUFDYSxlQUFVLEdBQUcsV0FBVyxDQUFDO0lBS3RDLENBQUM7SUFFSixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUNuRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM3RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLGdCQUFnQixFQUNoQixVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzsrR0F0RFUsZUFBZTttR0FBZixlQUFlLCs5QkMvQzVCLDRFQUVBOzs0RkQ2Q2EsZUFBZTtrQkExQjNCLFNBQVM7K0JBQ0UsOEJBQThCLGlCQUd6QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxTQUFTO3dCQUNoQiwrQkFBK0IsRUFDN0IsMkNBQTJDO3dCQUM3QyxnQ0FBZ0MsRUFDOUIsNENBQTRDO3dCQUM5Qyw0QkFBNEIsRUFBRSx3Q0FBd0M7d0JBQ3RFLDZCQUE2QixFQUFFLHlDQUF5Qzt3QkFDeEUsZ0NBQWdDLEVBQzlCLDRDQUE0Qzt3QkFDOUMsaUNBQWlDLEVBQy9CLDZDQUE2Qzt3QkFDL0MsNkJBQTZCLEVBQUUseUNBQXlDO3dCQUN4RSw4QkFBOEIsRUFBRSwwQ0FBMEM7d0JBQzFFLGdDQUFnQyxFQUM5Qiw0Q0FBNEM7d0JBQzlDLGlDQUFpQyxFQUMvQiw2Q0FBNkM7cUJBQ2hEO3VHQU1lLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsT0FBTztzQkFBdEIsS0FBSztnQkFLVSxVQUFVO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNSBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgU1BBTiA9ICdzcGFuJztcbmNvbnN0IFNQQU5fVEVYVF9QUk9QRVJUWSA9ICd0ZXh0Q29udGVudCc7XG5jb25zdCBTQ1JFRU5fUkVBREVSX0NMQVNTX05BTUUgPSAnc3Itb25seSc7XG5jb25zdCBCQU9fSUNPTiA9ICdiYW8taWNvbic7XG5jb25zdCBIQVNfSUNPTiA9ICdoYXMtaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby10YWcsIFtiYW8tdGFnXSwgW2Jhb1RhZ10nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tdGFnJyxcbiAgICAnW2NsYXNzLmJhby10YWctbmV1dHJhbC1saWdodF0nOlxuICAgICAgJ3R5cGUgPT09IFwibmV1dHJhbFwiICYmIHZhcmlhbnQgPT09IFwibGlnaHRcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLW5ldXRyYWwtc3Ryb25nXSc6XG4gICAgICAndHlwZSA9PT0gXCJuZXV0cmFsXCIgJiYgdmFyaWFudCA9PT0gXCJzdHJvbmdcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLWluZm8tbGlnaHRdJzogJ3R5cGUgPT09IFwiaW5mb1wiICYmIHZhcmlhbnQgPT09IFwibGlnaHRcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLWluZm8tc3Ryb25nXSc6ICd0eXBlID09PSBcImluZm9cIiAmJiB2YXJpYW50ID09PSBcInN0cm9uZ1wiJyxcbiAgICAnW2NsYXNzLmJhby10YWctcG9zaXRpdmUtbGlnaHRdJzpcbiAgICAgICd0eXBlID09PSBcInBvc2l0aXZlXCIgJiYgdmFyaWFudCA9PT0gXCJsaWdodFwiJyxcbiAgICAnW2NsYXNzLmJhby10YWctcG9zaXRpdmUtc3Ryb25nXSc6XG4gICAgICAndHlwZSA9PT0gXCJwb3NpdGl2ZVwiICYmIHZhcmlhbnQgPT09IFwic3Ryb25nXCInLFxuICAgICdbY2xhc3MuYmFvLXRhZy1hbGVydC1saWdodF0nOiAndHlwZSA9PT0gXCJhbGVydFwiICYmIHZhcmlhbnQgPT09IFwibGlnaHRcIicsXG4gICAgJ1tjbGFzcy5iYW8tdGFnLWFsZXJ0LXN0cm9uZ10nOiAndHlwZSA9PT0gXCJhbGVydFwiICYmIHZhcmlhbnQgPT09IFwic3Ryb25nXCInLFxuICAgICdbY2xhc3MuYmFvLXRhZy1uZWdhdGl2ZS1saWdodF0nOlxuICAgICAgJ3R5cGUgPT09IFwibmVnYXRpdmVcIiAmJiB2YXJpYW50ID09PSBcImxpZ2h0XCInLFxuICAgICdbY2xhc3MuYmFvLXRhZy1uZWdhdGl2ZS1zdHJvbmddJzpcbiAgICAgICd0eXBlID09PSBcIm5lZ2F0aXZlXCIgJiYgdmFyaWFudCA9PT0gXCJzdHJvbmdcIidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9UYWdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBjb2xvciBvZiB0aGUgdGFnLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICduZXV0cmFsJyB8ICdpbmZvJyB8ICdwb3NpdGl2ZScgfCAnYWxlcnQnIHwgJ25lZ2F0aXZlJyA9XG4gICAgJ25ldXRyYWwnO1xuXG4gIC8qKlxuICAgKiBUaGUgc2hhZGUgb2YgdGhlIHRhZ3MgY29sb3IuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgdmFyaWFudDogJ2xpZ2h0JyB8ICdzdHJvbmcnID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogVGhlIGhpZGRlbiB0ZXh0IGZvciBzY3JlZW4gcmVhZGVycy5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRkZW5UZXh0ID0gJ8OJdGlxdWV0dGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge31cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFkZEhpZGRlblRleHQoKTtcbiAgICB0aGlzLmFkZEljb25DbGFzcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRIaWRkZW5UZXh0KCkge1xuICAgIGNvbnN0IHNjcmVlblJlYWRlclNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoU1BBTik7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHNjcmVlblJlYWRlclNwYW4sXG4gICAgICBTUEFOX1RFWFRfUFJPUEVSVFksXG4gICAgICB0aGlzLmhpZGRlblRleHRcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc2NyZWVuUmVhZGVyU3BhbiwgU0NSRUVOX1JFQURFUl9DTEFTU19OQU1FKTtcbiAgICBjb25zdCBsYWJlbENoaWxkID0gQXJyYXkuZnJvbSh0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pLmZpbmQoXG4gICAgICBjID0+IGMubG9jYWxOYW1lID09PSBTUEFOXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgIHRoaXMubmF0aXZlRWxlbWVudCxcbiAgICAgIHNjcmVlblJlYWRlclNwYW4sXG4gICAgICBsYWJlbENoaWxkXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkSWNvbkNsYXNzKCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pO1xuICAgIGlmIChjaGlsZHJlbi5zb21lKGMgPT4gYy5sb2NhbE5hbWUgPT09IEJBT19JQ09OKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIEhBU19JQ09OKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImJhby1pY29uXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19