@villedemontreal/angular-ui 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/esm2020/lib/alert/alert.component.mjs +7 -9
  2. package/esm2020/lib/avatar/avatar.component.mjs +102 -0
  3. package/esm2020/lib/avatar/index.mjs +8 -0
  4. package/esm2020/lib/avatar/module.mjs +24 -0
  5. package/esm2020/lib/bao.module.mjs +12 -4
  6. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +5 -5
  7. package/esm2020/lib/button/button.component.mjs +3 -3
  8. package/esm2020/lib/card/card.component.mjs +2 -2
  9. package/esm2020/lib/checkbox/checkbox-group.component.mjs +5 -6
  10. package/esm2020/lib/checkbox/checkbox.component.mjs +40 -41
  11. package/esm2020/lib/core/colors.mjs +10 -27
  12. package/esm2020/lib/icon/icon.component.mjs +19 -19
  13. package/esm2020/lib/icon/icons-dictionary.mjs +3 -2
  14. package/esm2020/lib/list/list.component.mjs +2 -2
  15. package/esm2020/lib/radio/radio-group.component.mjs +40 -41
  16. package/esm2020/lib/radio/radio.component.mjs +41 -42
  17. package/esm2020/lib/shared/enum/display-mode.mjs +2 -11
  18. package/esm2020/lib/summary/summary.component.mjs +5 -7
  19. package/esm2020/lib/tabs/index.mjs +8 -0
  20. package/esm2020/lib/tabs/module.mjs +35 -0
  21. package/esm2020/lib/tabs/tabs.component.mjs +295 -0
  22. package/esm2020/lib/tag/tag.component.mjs +3 -3
  23. package/esm2020/public-api.mjs +4 -1
  24. package/fesm2015/villedemontreal-angular-ui.mjs +652 -224
  25. package/fesm2015/villedemontreal-angular-ui.mjs.map +1 -1
  26. package/fesm2020/villedemontreal-angular-ui.mjs +652 -224
  27. package/fesm2020/villedemontreal-angular-ui.mjs.map +1 -1
  28. package/lib/alert/alert.component.d.ts +2 -3
  29. package/lib/avatar/avatar.component.d.ts +26 -0
  30. package/lib/avatar/index.d.ts +2 -0
  31. package/lib/avatar/module.d.ts +8 -0
  32. package/lib/bao.module.d.ts +3 -1
  33. package/lib/breadcrumb/breadcrumb.component.d.ts +1 -1
  34. package/lib/button/button.component.d.ts +1 -1
  35. package/lib/checkbox/checkbox-group.component.d.ts +2 -2
  36. package/lib/checkbox/checkbox.component.d.ts +27 -27
  37. package/lib/core/colors.d.ts +1 -1
  38. package/lib/icon/icon.component.d.ts +9 -9
  39. package/lib/radio/radio-group.component.d.ts +19 -19
  40. package/lib/radio/radio.component.d.ts +27 -27
  41. package/lib/shared/enum/display-mode.d.ts +1 -1
  42. package/lib/summary/summary.component.d.ts +5 -5
  43. package/lib/tabs/index.d.ts +2 -0
  44. package/lib/tabs/module.d.ts +8 -0
  45. package/lib/tabs/tabs.component.d.ts +95 -0
  46. package/lib/tag/tag.component.d.ts +1 -1
  47. package/package.json +2 -2
  48. package/public-api.d.ts +3 -0
@@ -21,13 +21,13 @@ export class BaoCardComponent {
21
21
  }
22
22
  }
23
23
  BaoCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- BaoCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoCardComponent, selector: "bao-card, [bao-card], [baoCard]", inputs: { padding: "padding" }, host: { properties: { "class.bao-card-large-padding": "padding === \"large\"" }, classAttribute: "bao-card" }, ngImport: i0, template: "<ng-content select=\"bao-card-header\"></ng-content>\n<ng-content select=\"bao-card-content\"></ng-content>\n", styles: ["ul.cards{padding-left:0}ul.cards>li{display:flex}.bao-card{background-color:#fff;border:.063rem solid #ced4da;border-radius:.25rem;display:block;font-weight:400;margin-bottom:2rem;padding:1rem;text-decoration:none;width:100%}.bao-card:hover,.bao-card:focus{text-decoration:none;background-color:#fff;border:1px solid transparent;box-shadow:0 .5rem 2rem #0000001a}.bao-card:hover .bao-card-content .bao-card-title,.bao-card:focus .bao-card-content .bao-card-title{color:#097d6c}.bao-card:hover>bao-card-header,.bao-card:focus>bao-card-header{color:#097d6c}.bao-card .bao-card-content{display:flex;flex-flow:column}.bao-card .bao-card-content>:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#000;margin:0 0 1rem}.bao-card .bao-card-content .bao-card-title:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-text-interface{line-height:1.5rem;color:#637381}.bao-card>bao-card-header{color:#adb5bd}.bao-card>bao-card-header+bao-card-content{margin-top:1rem}.bao-card.bao-card-large-padding{padding:2rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
24
+ BaoCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoCardComponent, selector: "bao-card, [bao-card], [baoCard]", inputs: { padding: "padding" }, host: { properties: { "class.bao-card-large-padding": "padding === \"large\"" }, classAttribute: "bao-card" }, ngImport: i0, template: "<ng-content select=\"bao-card-header\"></ng-content>\n<ng-content select=\"bao-card-content\"></ng-content>\n", styles: ["ul.cards{padding-left:0}ul.cards>li{display:flex}.bao-card{background-color:#fff;border:.063rem solid #ced4da;border-radius:.25rem;display:block;font-weight:400;margin-bottom:2rem;padding:1rem;text-decoration:none;width:100%}.bao-card:hover,.bao-card:focus{text-decoration:none;background-color:#fff;border:1px solid transparent;box-shadow:0 .5rem 2rem #0000001a}.bao-card:hover .bao-card-content .bao-card-title,.bao-card:focus .bao-card-content .bao-card-title{color:#097d6c}.bao-card:hover>bao-card-header,.bao-card:focus>bao-card-header{color:#097d6c}.bao-card .bao-card-content{display:flex;flex-flow:column}.bao-card .bao-card-content>:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#000;margin:0 0 1rem}.bao-card .bao-card-content .bao-card-title:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-text-interface{line-height:1.5rem;color:#637381}.bao-card>bao-card-header{color:#adb2bd}.bao-card>bao-card-header+bao-card-content{margin-top:1rem}.bao-card.bao-card-large-padding{padding:2rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoCardComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'bao-card, [bao-card], [baoCard]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
28
28
  class: 'bao-card',
29
29
  '[class.bao-card-large-padding]': 'padding === "large"'
30
- }, template: "<ng-content select=\"bao-card-header\"></ng-content>\n<ng-content select=\"bao-card-content\"></ng-content>\n", styles: ["ul.cards{padding-left:0}ul.cards>li{display:flex}.bao-card{background-color:#fff;border:.063rem solid #ced4da;border-radius:.25rem;display:block;font-weight:400;margin-bottom:2rem;padding:1rem;text-decoration:none;width:100%}.bao-card:hover,.bao-card:focus{text-decoration:none;background-color:#fff;border:1px solid transparent;box-shadow:0 .5rem 2rem #0000001a}.bao-card:hover .bao-card-content .bao-card-title,.bao-card:focus .bao-card-content .bao-card-title{color:#097d6c}.bao-card:hover>bao-card-header,.bao-card:focus>bao-card-header{color:#097d6c}.bao-card .bao-card-content{display:flex;flex-flow:column}.bao-card .bao-card-content>:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#000;margin:0 0 1rem}.bao-card .bao-card-content .bao-card-title:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-text-interface{line-height:1.5rem;color:#637381}.bao-card>bao-card-header{color:#adb5bd}.bao-card>bao-card-header+bao-card-content{margin-top:1rem}.bao-card.bao-card-large-padding{padding:2rem}\n"] }]
30
+ }, template: "<ng-content select=\"bao-card-header\"></ng-content>\n<ng-content select=\"bao-card-content\"></ng-content>\n", styles: ["ul.cards{padding-left:0}ul.cards>li{display:flex}.bao-card{background-color:#fff;border:.063rem solid #ced4da;border-radius:.25rem;display:block;font-weight:400;margin-bottom:2rem;padding:1rem;text-decoration:none;width:100%}.bao-card:hover,.bao-card:focus{text-decoration:none;background-color:#fff;border:1px solid transparent;box-shadow:0 .5rem 2rem #0000001a}.bao-card:hover .bao-card-content .bao-card-title,.bao-card:focus .bao-card-content .bao-card-title{color:#097d6c}.bao-card:hover>bao-card-header,.bao-card:focus>bao-card-header{color:#097d6c}.bao-card .bao-card-content{display:flex;flex-flow:column}.bao-card .bao-card-content>:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-title{font-weight:700;font-size:1.25rem;line-height:1.75rem;color:#000;margin:0 0 1rem}.bao-card .bao-card-content .bao-card-title:last-child{margin-bottom:0}.bao-card .bao-card-content .bao-card-text-interface{line-height:1.5rem;color:#637381}.bao-card>bao-card-header{color:#adb2bd}.bao-card>bao-card-header+bao-card-content{margin-top:1rem}.bao-card.bao-card-large-padding{padding:2rem}\n"] }]
31
31
  }], propDecorators: { padding: [{
32
32
  type: Input
33
33
  }] } });
@@ -13,15 +13,14 @@ let checkboxGroupNextUniqueId = 0;
13
13
  export class BaoCheckboxGroupComponent {
14
14
  constructor(cdr) {
15
15
  this.cdr = cdr;
16
- this._uniqueId = `bao-checkbox-group-${++checkboxGroupNextUniqueId}`;
17
- /**
18
- * The checkbox group ID. It is set dynamically with an unique ID by default
19
- */
20
- this.id = this._uniqueId;
21
16
  /**
22
17
  * The aria-describedby id for web accessibilty
23
18
  */
24
19
  this.ariaDescribedby = undefined;
20
+ this._uniqueId = `bao-checkbox-group-${++checkboxGroupNextUniqueId}`;
21
+ if (!this.id) {
22
+ this.id = this._uniqueId;
23
+ }
25
24
  }
26
25
  ngAfterViewInit() {
27
26
  this.setAriaDescribedByToDescription();
@@ -56,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
56
55
  type: ViewChild,
57
56
  args: ['container', { static: false }]
58
57
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUdMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOztHQUVHO0FBQ0gsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFRbEMsTUFBTSxPQUFPLHlCQUF5QjtJQWdCcEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFmbEMsY0FBUyxHQUFHLHNCQUFzQixFQUFFLHlCQUF5QixFQUFFLENBQUM7UUFFeEU7O1dBRUc7UUFDYSxPQUFFLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU1Qzs7V0FFRztRQUNJLG9CQUFlLEdBQVksU0FBUyxDQUFDO0lBS0MsQ0FBQztJQUV2QyxlQUFlO1FBQ3BCLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssK0JBQStCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUUsQ0FBQzs7c0hBMUNVLHlCQUF5QjswR0FBekIseUJBQXlCLG9OQzFCdEMsbWJBaUJBOzJGRFNhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSwwQ0FBMEMsaUJBR3JDLGlCQUFpQixDQUFDLElBQUk7d0dBUXJCLEVBQUU7c0JBQWpCLEtBQUs7Z0JBUUUsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBVbmlxdWUgSUQgZm9yIGVhY2ggY2hlY2tib3ggZ3JvdXAgY291bnRlclxuICovXG5sZXQgY2hlY2tib3hHcm91cE5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby1jaGVja2JveC1ncm91cCwgW2Jhby1jaGVja2JveC1ncm91cF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEJhb0NoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSBfdW5pcXVlSWQgPSBgYmFvLWNoZWNrYm94LWdyb3VwLSR7KytjaGVja2JveEdyb3VwTmV4dFVuaXF1ZUlkfWA7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGVja2JveCBncm91cCBJRC4gSXQgaXMgc2V0IGR5bmFtaWNhbGx5IHdpdGggYW4gdW5pcXVlIElEIGJ5IGRlZmF1bHRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gdGhpcy5fdW5pcXVlSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmlhLWRlc2NyaWJlZGJ5IGlkIGZvciB3ZWIgYWNjZXNzaWJpbHR5XG4gICAqL1xuICBwdWJsaWMgYXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIHN0YXRpY0NvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEFyaWFEZXNjcmliZWRCeVRvRGVzY3JpcHRpb24oKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25Db250ZW50Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0QXJpYURlc2NyaWJlZEJ5VG9EZXNjcmlwdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBwcm9wZXJ0eSB0byBiYW8tZ3VpZGluZy10ZXh0IGlmIGF2YWlsYWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRBcmlhRGVzY3JpYmVkQnlUb0Rlc2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLnN0YXRpY0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKTtcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNob3dBcmlhRGVzY3JpYmVkQnkoZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0FyaWFEZXNjcmliZWRCeSh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0FyaWFEZXNjcmliZWRCeSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5ID0gdmFsdWUgPyBgJHt0aGlzLmlkfS1hcmlhZGVzY3JpYmVkYnlgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZmllbGRzZXRcbiAgY2xhc3M9XCJiYW8tY2hlY2tib3gtZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYmFvLWNoZWNrYm94LWdyb3VwLWRlc2NyaXB0aW9uXCJcbiAgICBbYXR0ci5pZF09XCJhcmlhRGVzY3JpYmVkYnlcIlxuICAgICNjb250YWluZXJcbiAgICAoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwib25Db250ZW50Q2hhbmdlKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgIHNlbGVjdD1cImJhby1lcnJvciwgW2Jhby1lcnJvcl0sIGJhby1ndWlkaW5nLXRleHQsIFtiYW8tZ3VpZGluZy10ZXh0XVwiXG4gICAgPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2ZpZWxkc2V0PlxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUdMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOztHQUVHO0FBQ0gsSUFBSSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFRbEMsTUFBTSxPQUFPLHlCQUF5QjtJQWdCcEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFQMUM7O1dBRUc7UUFDSSxvQkFBZSxHQUFZLFNBQVMsQ0FBQztRQUVwQyxjQUFTLEdBQUcsc0JBQXNCLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztRQUd0RSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssK0JBQStCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUUsQ0FBQzs7c0hBOUNVLHlCQUF5QjswR0FBekIseUJBQXlCLG9OQzFCdEMsbWJBaUJBOzJGRFNhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSwwQ0FBMEMsaUJBR3JDLGlCQUFpQixDQUFDLElBQUk7d0dBTXJCLEVBQUU7c0JBQWpCLEtBQUs7Z0JBR0UsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBVbmlxdWUgSUQgZm9yIGVhY2ggY2hlY2tib3ggZ3JvdXAgY291bnRlclxuICovXG5sZXQgY2hlY2tib3hHcm91cE5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhby1jaGVja2JveC1ncm91cCwgW2Jhby1jaGVja2JveC1ncm91cF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEJhb0NoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBjaGVja2JveCBncm91cCBJRC4gSXQgaXMgc2V0IGR5bmFtaWNhbGx5IHdpdGggYW4gdW5pcXVlIElEIGJ5IGRlZmF1bHRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIHN0YXRpY0NvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogVGhlIGFyaWEtZGVzY3JpYmVkYnkgaWQgZm9yIHdlYiBhY2Nlc3NpYmlsdHlcbiAgICovXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfdW5pcXVlSWQgPSBgYmFvLWNoZWNrYm94LWdyb3VwLSR7KytjaGVja2JveEdyb3VwTmV4dFVuaXF1ZUlkfWA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy5fdW5pcXVlSWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEFyaWFEZXNjcmliZWRCeVRvRGVzY3JpcHRpb24oKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25Db250ZW50Q2hhbmdlKCkge1xuICAgIHRoaXMuc2V0QXJpYURlc2NyaWJlZEJ5VG9EZXNjcmlwdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBwcm9wZXJ0eSB0byBiYW8tZ3VpZGluZy10ZXh0IGlmIGF2YWlsYWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRBcmlhRGVzY3JpYmVkQnlUb0Rlc2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLnN0YXRpY0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKTtcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnNob3dBcmlhRGVzY3JpYmVkQnkoZmFsc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0FyaWFEZXNjcmliZWRCeSh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0FyaWFEZXNjcmliZWRCeSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5ID0gdmFsdWUgPyBgJHt0aGlzLmlkfS1hcmlhZGVzY3JpYmVkYnlgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZmllbGRzZXRcbiAgY2xhc3M9XCJiYW8tY2hlY2tib3gtZ3JvdXBcIlxuICBbaWRdPVwiaWRcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYmFvLWNoZWNrYm94LWdyb3VwLWRlc2NyaXB0aW9uXCJcbiAgICBbYXR0ci5pZF09XCJhcmlhRGVzY3JpYmVkYnlcIlxuICAgICNjb250YWluZXJcbiAgICAoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwib25Db250ZW50Q2hhbmdlKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgIHNlbGVjdD1cImJhby1lcnJvciwgW2Jhby1lcnJvcl0sIGJhby1ndWlkaW5nLXRleHQsIFtiYW8tZ3VpZGluZy10ZXh0XVwiXG4gICAgPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2ZpZWxkc2V0PlxuIl19
@@ -11,14 +11,6 @@ export class BaoCheckboxComponent {
11
11
  this.elementRef = elementRef;
12
12
  this.cdr = cdr;
13
13
  this.focusMonitor = focusMonitor;
14
- this._disabled = false;
15
- this._checked = false;
16
- this._indeterminate = false;
17
- this._uniqueId = `bao-checkbox-${++checkboxNextUniqueId}`;
18
- /**
19
- * The checkbox ID. It is set dynamically with an unique ID by default
20
- */
21
- this.id = this._uniqueId;
22
14
  /**
23
15
  * Whether the checkbox has a border and is considered as a card.
24
16
  */
@@ -39,8 +31,15 @@ export class BaoCheckboxComponent {
39
31
  * Inderminate value of the checkbox whenever
40
32
  */
41
33
  this.indeterminateChange = new EventEmitter();
34
+ this._disabled = false;
35
+ this._checked = false;
36
+ this._indeterminate = false;
37
+ this._uniqueId = `bao-checkbox-${++checkboxNextUniqueId}`;
42
38
  this.onModelChange = () => undefined;
43
39
  this.onTouch = () => undefined;
40
+ if (!this.id) {
41
+ this.id = this._uniqueId;
42
+ }
44
43
  }
45
44
  /**
46
45
  * Whether the checkbox is checked. Default value : false
@@ -48,41 +47,44 @@ export class BaoCheckboxComponent {
48
47
  get checked() {
49
48
  return this._checked;
50
49
  }
51
- set checked(value) {
52
- if (value !== this.checked) {
53
- this._checked = value;
54
- this.cdr.markForCheck();
55
- }
56
- }
57
50
  /**
58
51
  * Whether the checkbox is disabled. Default value : false
59
52
  */
60
53
  get disabled() {
61
54
  return this._disabled;
62
55
  }
63
- set disabled(value) {
64
- // In the case the value is string or boolean
65
- const newValue = value;
66
- if (newValue !== this.disabled) {
67
- this._disabled = newValue;
68
- this.cdr.markForCheck();
69
- }
70
- }
71
56
  /**
72
57
  * Whether the checkbox is required. Default value : false
73
58
  */
74
59
  get required() {
75
60
  return this._required;
76
61
  }
77
- set required(value) {
78
- this._required = value;
79
- }
80
62
  /**
81
63
  * Whether the checkbox is indeterminate. Default value : false
82
64
  */
83
65
  get indeterminate() {
84
66
  return this._indeterminate;
85
67
  }
68
+ get nativeElement() {
69
+ return this.elementRef.nativeElement;
70
+ }
71
+ set checked(value) {
72
+ if (value !== this.checked) {
73
+ this._checked = value;
74
+ this.cdr.markForCheck();
75
+ }
76
+ }
77
+ set disabled(value) {
78
+ // In the case the value is string or boolean
79
+ const newValue = value;
80
+ if (newValue !== this.disabled) {
81
+ this._disabled = newValue;
82
+ this.cdr.markForCheck();
83
+ }
84
+ }
85
+ set required(value) {
86
+ this._required = value;
87
+ }
86
88
  set indeterminate(value) {
87
89
  const newValue = value;
88
90
  if (newValue !== this._indeterminate) {
@@ -92,9 +94,6 @@ export class BaoCheckboxComponent {
92
94
  // Update the inderteminate value of the html element object
93
95
  this.syncIndeterminate(this._indeterminate);
94
96
  }
95
- get nativeElement() {
96
- return this.elementRef.nativeElement;
97
- }
98
97
  ngOnInit() {
99
98
  // Set all unique ids for the html elements
100
99
  this.inputID = `${this.id}-input`;
@@ -237,13 +236,13 @@ export class BaoCheckboxComponent {
237
236
  }
238
237
  }
239
238
  BaoCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoCheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
240
- BaoCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoCheckboxComponent, selector: "bao-checkbox, [bao-checkbox]", inputs: { checked: "checked", disabled: "disabled", required: "required", indeterminate: "indeterminate", id: "id", ariaLabel: ["aria-label", "ariaLabel"], brandBorder: "brandBorder", inline: "inline", name: "name", hiddenLabel: "hiddenLabel" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.bao-checkbox-inline": "inline", "class.bao-checkbox-checked": "checked", "class.bao-checkbox-indeterminate": "indeterminate", "class.bao-checkbox-disabled": "disabled", "class.bao-checkbox-card": "brandBorder", "class.bao-checkbox-required": "required", "class.bao-checkbox-hidden-label": "hiddenLabel" }, classAttribute: "bao-checkbox" }, providers: [
239
+ BaoCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoCheckboxComponent, selector: "bao-checkbox, [bao-checkbox]", inputs: { id: "id", ariaLabel: ["aria-label", "ariaLabel"], brandBorder: "brandBorder", inline: "inline", name: "name", hiddenLabel: "hiddenLabel", checked: "checked", disabled: "disabled", required: "required", indeterminate: "indeterminate" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.bao-checkbox-inline": "inline", "class.bao-checkbox-checked": "checked", "class.bao-checkbox-indeterminate": "indeterminate", "class.bao-checkbox-disabled": "disabled", "class.bao-checkbox-card": "brandBorder", "class.bao-checkbox-required": "required", "class.bao-checkbox-hidden-label": "hiddenLabel" }, classAttribute: "bao-checkbox" }, providers: [
241
240
  {
242
241
  provide: NG_VALUE_ACCESSOR,
243
242
  useExisting: forwardRef(() => BaoCheckboxComponent),
244
243
  multi: true
245
244
  }
246
- ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n [id]=\"inputID\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"getAriaState()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n role=\"checkbox\"\n/>\n<label class=\"bao-checkbox-content-container\" [attr.for]=\"inputID\">\n <div class=\"bao-checkbox-label\" [id]=\"ariaLabelledby\">\n <ng-content></ng-content>\n </div>\n <ng-content\n select=\"bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]\"\n ></ng-content>\n</label>\n", styles: [".bao-checkbox{display:block;font-size:1rem;line-height:1.5rem;min-height:1.5rem;padding-top:.5rem;padding-bottom:.5rem;padding-left:2rem;position:relative;z-index:1}.bao-checkbox input{box-sizing:border-box;left:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:-1}.bao-checkbox input:focus~.bao-checkbox-content-container:before{box-shadow:0 0 0 .1875rem #0079c480}.bao-checkbox label.bao-checkbox-content-container{color:#212529;font-weight:400;font-size:1rem;line-height:1.5rem;margin-bottom:0;position:relative;vertical-align:top}.bao-checkbox label.bao-checkbox-content-container:before{border-radius:.125rem;box-sizing:border-box;position:absolute;top:0;left:-2rem;display:block;margin:.125rem;width:1.25rem;height:1.25rem;pointer-events:none;content:\"\";background-color:#fff;border:#ced4da solid 1px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.bao-checkbox label.bao-checkbox-content-container:after{box-sizing:border-box;background:no-repeat 50%/1.5rem;content:\"\";display:block;height:1.5rem;left:-2rem;margin:0;position:absolute;top:0;width:1.5rem}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-label{color:#212529;display:block}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-description{color:#637381;display:block;margin-top:.5rem}.bao-checkbox.bao-checkbox-inline{display:inline-flex;margin-right:1rem}.bao-checkbox.bao-checkbox-card{padding:0;margin-bottom:1rem}.bao-checkbox.bao-checkbox-card:last-of-type{margin-bottom:0}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container{display:flex;flex-direction:column;flex:1;justify-content:center;padding:1rem 1rem 1rem 3.5rem;position:relative;border:1px solid #ced4da;border-radius:.25rem;color:#637381;min-height:3.5rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:before{top:1rem;left:0;margin-left:1.125rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:after{top:1rem;left:0;margin-left:1rem}.bao-checkbox.bao-checkbox-indeterminate .bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23097d6c' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}.bao-checkbox input:checked~.bao-checkbox-content-container:before{border-color:#097d6c;background-color:#097d6c}.bao-checkbox input:checked~.bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23ffffff' d='M16.7 8.3C17.1 8.7 17.1 9.3 16.7 9.7L10.7 15.7 10.7 15.7C10.6 15.9 10.4 15.9 10.2 16L10.1 16 10.1 16 9.9 16C9.7 16 9.5 15.9 9.3 15.7L7.3 13.7C6.9 13.3 6.9 12.7 7.3 12.3 7.7 11.9 8.3 11.9 8.7 12.3L10 13.6 15.3 8.3C15.7 7.9 16.3 7.9 16.7 8.3Z'/%3e%3c/svg%3e\")}.bao-checkbox input:disabled~.bao-checkbox-content-container{color:#637381}.bao-checkbox input:disabled~.bao-checkbox-content-container:before{border-color:#ced4da;background-color:#ced4da}.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-label,.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-description{color:#637381}.bao-checkbox.bao-checkbox-hidden-label .bao-checkbox-label{clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.bao-checkbox.bao-checkbox-hidden-label label.bao-checkbox-content-container .bao-checkbox-description{margin-top:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
245
+ ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n [id]=\"inputID\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"getAriaState()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n role=\"checkbox\"\n/>\n<label class=\"bao-checkbox-content-container\" [attr.for]=\"inputID\">\n <div class=\"bao-checkbox-label\" [id]=\"ariaLabelledby\">\n <ng-content></ng-content>\n </div>\n <ng-content\n select=\"bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]\"\n ></ng-content>\n</label>\n", styles: [".bao-checkbox{display:block;font-size:1rem;line-height:1.5rem;min-height:1.5rem;padding-top:.5rem;padding-bottom:.5rem;padding-left:2rem;position:relative;z-index:1}.bao-checkbox input{box-sizing:border-box;left:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:-1}.bao-checkbox input:focus~.bao-checkbox-content-container:before{box-shadow:0 0 0 .1875rem #0079c480}.bao-checkbox label.bao-checkbox-content-container{color:#212529;font-weight:400;font-size:1rem;line-height:1.5rem;margin-bottom:0;position:relative;vertical-align:top}.bao-checkbox label.bao-checkbox-content-container:before{border-radius:.125rem;box-sizing:border-box;position:absolute;top:0;left:-2rem;display:block;margin:.125rem;width:1.25rem;height:1.25rem;pointer-events:none;content:\"\";background-color:#fff;border:#ced4da solid 1px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.bao-checkbox label.bao-checkbox-content-container:after{box-sizing:border-box;background:no-repeat 50%/1.5rem;content:\"\";display:block;height:1.5rem;left:-2rem;margin:0;position:absolute;top:0;width:1.5rem}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-label{color:#212529;display:block}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-description{color:#637381;display:block;margin-top:.5rem}.bao-checkbox.bao-checkbox-inline{display:inline-flex;margin-right:1rem}.bao-checkbox.bao-checkbox-card{padding:0;margin-bottom:1rem}.bao-checkbox.bao-checkbox-card:last-of-type{margin-bottom:0}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container{display:flex;flex-direction:column;flex:1;justify-content:center;padding:1rem 1rem 1rem 3.5rem;position:relative;border:1px solid #ced4da;border-radius:.25rem;color:#637381;min-height:3.5rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:before{top:1rem;left:0;margin-left:1.125rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:after{top:1rem;left:0;margin-left:1rem}.bao-checkbox.bao-checkbox-indeterminate .bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23097d6c' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}.bao-checkbox input:checked~.bao-checkbox-content-container:before{border-color:#097d6c;background-color:#097d6c}.bao-checkbox input:checked~.bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23ffffff' d='M16.7 8.3C17.1 8.7 17.1 9.3 16.7 9.7L10.7 15.7 10.7 15.7C10.6 15.9 10.4 15.9 10.2 16L10.1 16 10.1 16 9.9 16C9.7 16 9.5 15.9 9.3 15.7L7.3 13.7C6.9 13.3 6.9 12.7 7.3 12.3 7.7 11.9 8.3 11.9 8.7 12.3L10 13.6 15.3 8.3C15.7 7.9 16.3 7.9 16.7 8.3Z'/%3e%3c/svg%3e\")}.bao-checkbox input:disabled~.bao-checkbox-content-container{color:#adb2bd;border-color:#dee2e6}.bao-checkbox input:disabled~.bao-checkbox-content-container:before{border-color:#ced4da;background-color:#ced4da}.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-label,.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-description{color:#adb2bd}.bao-checkbox.bao-checkbox-hidden-label .bao-checkbox-label{clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.bao-checkbox.bao-checkbox-hidden-label label.bao-checkbox-content-container .bao-checkbox-description{margin-top:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
247
246
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoCheckboxComponent, decorators: [{
248
247
  type: Component,
249
248
  args: [{ selector: 'bao-checkbox, [bao-checkbox]', providers: [
@@ -261,16 +260,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
261
260
  '[class.bao-checkbox-card]': 'brandBorder',
262
261
  '[class.bao-checkbox-required]': 'required',
263
262
  '[class.bao-checkbox-hidden-label]': 'hiddenLabel'
264
- }, template: "<input\n #input\n type=\"checkbox\"\n [id]=\"inputID\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"getAriaState()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n role=\"checkbox\"\n/>\n<label class=\"bao-checkbox-content-container\" [attr.for]=\"inputID\">\n <div class=\"bao-checkbox-label\" [id]=\"ariaLabelledby\">\n <ng-content></ng-content>\n </div>\n <ng-content\n select=\"bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]\"\n ></ng-content>\n</label>\n", styles: [".bao-checkbox{display:block;font-size:1rem;line-height:1.5rem;min-height:1.5rem;padding-top:.5rem;padding-bottom:.5rem;padding-left:2rem;position:relative;z-index:1}.bao-checkbox input{box-sizing:border-box;left:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:-1}.bao-checkbox input:focus~.bao-checkbox-content-container:before{box-shadow:0 0 0 .1875rem #0079c480}.bao-checkbox label.bao-checkbox-content-container{color:#212529;font-weight:400;font-size:1rem;line-height:1.5rem;margin-bottom:0;position:relative;vertical-align:top}.bao-checkbox label.bao-checkbox-content-container:before{border-radius:.125rem;box-sizing:border-box;position:absolute;top:0;left:-2rem;display:block;margin:.125rem;width:1.25rem;height:1.25rem;pointer-events:none;content:\"\";background-color:#fff;border:#ced4da solid 1px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.bao-checkbox label.bao-checkbox-content-container:after{box-sizing:border-box;background:no-repeat 50%/1.5rem;content:\"\";display:block;height:1.5rem;left:-2rem;margin:0;position:absolute;top:0;width:1.5rem}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-label{color:#212529;display:block}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-description{color:#637381;display:block;margin-top:.5rem}.bao-checkbox.bao-checkbox-inline{display:inline-flex;margin-right:1rem}.bao-checkbox.bao-checkbox-card{padding:0;margin-bottom:1rem}.bao-checkbox.bao-checkbox-card:last-of-type{margin-bottom:0}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container{display:flex;flex-direction:column;flex:1;justify-content:center;padding:1rem 1rem 1rem 3.5rem;position:relative;border:1px solid #ced4da;border-radius:.25rem;color:#637381;min-height:3.5rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:before{top:1rem;left:0;margin-left:1.125rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:after{top:1rem;left:0;margin-left:1rem}.bao-checkbox.bao-checkbox-indeterminate .bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23097d6c' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}.bao-checkbox input:checked~.bao-checkbox-content-container:before{border-color:#097d6c;background-color:#097d6c}.bao-checkbox input:checked~.bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23ffffff' d='M16.7 8.3C17.1 8.7 17.1 9.3 16.7 9.7L10.7 15.7 10.7 15.7C10.6 15.9 10.4 15.9 10.2 16L10.1 16 10.1 16 9.9 16C9.7 16 9.5 15.9 9.3 15.7L7.3 13.7C6.9 13.3 6.9 12.7 7.3 12.3 7.7 11.9 8.3 11.9 8.7 12.3L10 13.6 15.3 8.3C15.7 7.9 16.3 7.9 16.7 8.3Z'/%3e%3c/svg%3e\")}.bao-checkbox input:disabled~.bao-checkbox-content-container{color:#637381}.bao-checkbox input:disabled~.bao-checkbox-content-container:before{border-color:#ced4da;background-color:#ced4da}.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-label,.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-description{color:#637381}.bao-checkbox.bao-checkbox-hidden-label .bao-checkbox-label{clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.bao-checkbox.bao-checkbox-hidden-label label.bao-checkbox-content-container .bao-checkbox-description{margin-top:0}\n"] }]
265
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { checked: [{
266
- type: Input
267
- }], disabled: [{
268
- type: Input
269
- }], required: [{
270
- type: Input
271
- }], indeterminate: [{
272
- type: Input
273
- }], id: [{
263
+ }, template: "<input\n #input\n type=\"checkbox\"\n [id]=\"inputID\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"getAriaState()\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n role=\"checkbox\"\n/>\n<label class=\"bao-checkbox-content-container\" [attr.for]=\"inputID\">\n <div class=\"bao-checkbox-label\" [id]=\"ariaLabelledby\">\n <ng-content></ng-content>\n </div>\n <ng-content\n select=\"bao-checkbox-description, [bao-checkbox-description], [baoCheckboxDescription]\"\n ></ng-content>\n</label>\n", styles: [".bao-checkbox{display:block;font-size:1rem;line-height:1.5rem;min-height:1.5rem;padding-top:.5rem;padding-bottom:.5rem;padding-left:2rem;position:relative;z-index:1}.bao-checkbox input{box-sizing:border-box;left:0;opacity:0;overflow:visible;padding:0;position:absolute;z-index:-1}.bao-checkbox input:focus~.bao-checkbox-content-container:before{box-shadow:0 0 0 .1875rem #0079c480}.bao-checkbox label.bao-checkbox-content-container{color:#212529;font-weight:400;font-size:1rem;line-height:1.5rem;margin-bottom:0;position:relative;vertical-align:top}.bao-checkbox label.bao-checkbox-content-container:before{border-radius:.125rem;box-sizing:border-box;position:absolute;top:0;left:-2rem;display:block;margin:.125rem;width:1.25rem;height:1.25rem;pointer-events:none;content:\"\";background-color:#fff;border:#ced4da solid 1px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.bao-checkbox label.bao-checkbox-content-container:after{box-sizing:border-box;background:no-repeat 50%/1.5rem;content:\"\";display:block;height:1.5rem;left:-2rem;margin:0;position:absolute;top:0;width:1.5rem}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-label{color:#212529;display:block}.bao-checkbox label.bao-checkbox-content-container .bao-checkbox-description{color:#637381;display:block;margin-top:.5rem}.bao-checkbox.bao-checkbox-inline{display:inline-flex;margin-right:1rem}.bao-checkbox.bao-checkbox-card{padding:0;margin-bottom:1rem}.bao-checkbox.bao-checkbox-card:last-of-type{margin-bottom:0}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container{display:flex;flex-direction:column;flex:1;justify-content:center;padding:1rem 1rem 1rem 3.5rem;position:relative;border:1px solid #ced4da;border-radius:.25rem;color:#637381;min-height:3.5rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:before{top:1rem;left:0;margin-left:1.125rem}.bao-checkbox.bao-checkbox-card label.bao-checkbox-content-container:after{top:1rem;left:0;margin-left:1rem}.bao-checkbox.bao-checkbox-indeterminate .bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23097d6c' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}.bao-checkbox input:checked~.bao-checkbox-content-container:before{border-color:#097d6c;background-color:#097d6c}.bao-checkbox input:checked~.bao-checkbox-content-container:after{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='%23ffffff' d='M16.7 8.3C17.1 8.7 17.1 9.3 16.7 9.7L10.7 15.7 10.7 15.7C10.6 15.9 10.4 15.9 10.2 16L10.1 16 10.1 16 9.9 16C9.7 16 9.5 15.9 9.3 15.7L7.3 13.7C6.9 13.3 6.9 12.7 7.3 12.3 7.7 11.9 8.3 11.9 8.7 12.3L10 13.6 15.3 8.3C15.7 7.9 16.3 7.9 16.7 8.3Z'/%3e%3c/svg%3e\")}.bao-checkbox input:disabled~.bao-checkbox-content-container{color:#adb2bd;border-color:#dee2e6}.bao-checkbox input:disabled~.bao-checkbox-content-container:before{border-color:#ced4da;background-color:#ced4da}.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-label,.bao-checkbox input:disabled~.bao-checkbox-content-container .bao-checkbox-description{color:#adb2bd}.bao-checkbox.bao-checkbox-hidden-label .bao-checkbox-label{clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.bao-checkbox.bao-checkbox-hidden-label label.bao-checkbox-content-container .bao-checkbox-description{margin-top:0}\n"] }]
264
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { id: [{
274
265
  type: Input
275
266
  }], ariaLabel: [{
276
267
  type: Input,
@@ -290,6 +281,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
290
281
  }], inputElement: [{
291
282
  type: ViewChild,
292
283
  args: ['input', { static: false }]
284
+ }], checked: [{
285
+ type: Input
286
+ }], disabled: [{
287
+ type: Input
288
+ }], required: [{
289
+ type: Input
290
+ }], indeterminate: [{
291
+ type: Input
293
292
  }] } });
294
293
  export class BaoCheckBoxDescription {
295
294
  }
@@ -302,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
302
301
  host: { class: 'bao-checkbox-description' }
303
302
  }]
304
303
  }] });
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFXekU7O0dBRUc7QUFDSCxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQTBCN0IsTUFBTSxPQUFPLG9CQUFvQjtJQW9JL0IsWUFDVSxVQUFzQixFQUN0QixHQUFzQixFQUN0QixZQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBcEk1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLENBQUM7UUErRDdEOztXQUVHO1FBQ2EsT0FBRSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7UUFPNUM7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNhLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFPL0I7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLGNBQWM7d0JBQ3JCLDZCQUE2QixFQUFFLFFBQVE7d0JBQ3ZDLDhCQUE4QixFQUFFLFNBQVM7d0JBQ3pDLG9DQUFvQyxFQUFFLGVBQWU7d0JBQ3JELCtCQUErQixFQUFFLFVBQVU7d0JBQzNDLDJCQUEyQixFQUFFLGFBQWE7d0JBQzFDLCtCQUErQixFQUFFLFVBQVU7d0JBQzNDLG1DQUFtQyxFQUFFLGFBQWE7cUJBQ25EOzRKQWNHLE9BQU87c0JBRFYsS0FBSztnQkFlRixRQUFRO3NCQURYLEtBQUs7Z0JBa0JGLFFBQVE7c0JBRFgsS0FBSztnQkFhRixhQUFhO3NCQURoQixLQUFLO2dCQWtCVSxFQUFFO3NCQUFqQixLQUFLO2dCQUtzQixTQUFTO3NCQUFwQyxLQUFLO3VCQUFDLFlBQVk7Z0JBS0gsV0FBVztzQkFBMUIsS0FBSztnQkFLVSxNQUFNO3NCQUFyQixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFLb0IsTUFBTTtzQkFBL0IsTUFBTTtnQkFNbUIsbUJBQW1CO3NCQUE1QyxNQUFNO2dCQU9DLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7QUFzTXZDLE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFDTixpRkFBaUY7b0JBQ25GLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRTtpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIENoZWNrYm94IHN0YXRlIGZvciBhcmlhLWNoZWNrZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gZUNoZWNrYm94QXJpYVN0YXRlIHtcbiAgVFJVRSA9ICd0cnVlJyxcbiAgRkFMU0UgPSAnZmFsc2UnLFxuICBNSVhFRCA9ICdtaXhlZCdcbn1cblxuLyoqXG4gKiBVbmlxdWUgSUQgZm9yIGVhY2ggY2hlY2tib3ggY291bnRlclxuICovXG5sZXQgY2hlY2tib3hOZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYW8tY2hlY2tib3gsIFtiYW8tY2hlY2tib3hdJyxcbiAgdGVtcGxhdGVVcmw6ICdjaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmFvQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdiYW8tY2hlY2tib3gnLFxuICAgICdbY2xhc3MuYmFvLWNoZWNrYm94LWlubGluZV0nOiAnaW5saW5lJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1jaGVja2VkXSc6ICdjaGVja2VkJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1pbmRldGVybWluYXRlXSc6ICdpbmRldGVybWluYXRlJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuYmFvLWNoZWNrYm94LWNhcmRdJzogJ2JyYW5kQm9yZGVyJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICdbY2xhc3MuYmFvLWNoZWNrYm94LWhpZGRlbi1sYWJlbF0nOiAnaGlkZGVuTGFiZWwnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFvQ2hlY2tib3hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2hlY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9pbmRldGVybWluYXRlID0gZmFsc2U7XG4gIHByaXZhdGUgX3VuaXF1ZUlkID0gYGJhby1jaGVja2JveC0keysrY2hlY2tib3hOZXh0VW5pcXVlSWR9YDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZC4gIERlZmF1bHQgdmFsdWUgOiBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gIH1cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLiBEZWZhdWx0IHZhbHVlIDogZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgLy8gSW4gdGhlIGNhc2UgdGhlIHZhbHVlIGlzIHN0cmluZyBvciBib29sZWFuXG4gICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyByZXF1aXJlZC4gIERlZmF1bHQgdmFsdWUgOiBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBpbmRldGVybWluYXRlLiAgRGVmYXVsdCB2YWx1ZSA6IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faW5kZXRlcm1pbmF0ZTtcbiAgfVxuICBzZXQgaW5kZXRlcm1pbmF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX2luZGV0ZXJtaW5hdGUpIHtcbiAgICAgIHRoaXMuX2luZGV0ZXJtaW5hdGUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuX2luZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgICAvLyBVcGRhdGUgdGhlIGluZGVydGVtaW5hdGUgdmFsdWUgb2YgdGhlIGh0bWwgZWxlbWVudCBvYmplY3RcbiAgICB0aGlzLnN5bmNJbmRldGVybWluYXRlKHRoaXMuX2luZGV0ZXJtaW5hdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjaGVja2JveCBJRC4gSXQgaXMgc2V0IGR5bmFtaWNhbGx5IHdpdGggYW4gdW5pcXVlIElEIGJ5IGRlZmF1bHRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gdGhpcy5fdW5pcXVlSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmlhLWxhYmVsIGZvciB3ZWIgYWNjZXNzaWJpbGl0eVxuICAgKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJykgcHVibGljIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaGFzIGEgYm9yZGVyIGFuZCBpcyBjb25zaWRlcmVkIGFzIGEgY2FyZC5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBicmFuZEJvcmRlciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBpbmxpbmUuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIHByb3BlcnR5IG9mIHRoZSBjaGVja2JveFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2aXNpYmxlIHN0YXRlIG9mIHRoZSBsYWJlbFxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGhpZGRlbkxhYmVsID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgb2JqZWN0IG9uIGNoYW5nZSBldmVudFxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBJbmRlcm1pbmF0ZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3ggd2hlbmV2ZXJcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgaW5wdXQgaHRtbCBlbGVtZW50XG4gICAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvKipcbiAgICogVGhlIGFyaWEtZGVzY3JpYmVkYnkgaWQgZm9yIHdlYiBhY2Nlc3NpYmlsdHlcbiAgICovXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhcmlhLWxhYmVsZWRieSBpZCBmb3Igd2ViIGFjY2Vzc2liaWx0eVxuICAgKi9cbiAgcHVibGljIGFyaWFMYWJlbGxlZGJ5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGlucHV0IGh0bWwgZWxlbWVudFxuICAgKi9cbiAgcHVibGljIGlucHV0SUQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgKSB7fVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgLy8gU2V0IGFsbCB1bmlxdWUgaWRzIGZvciB0aGUgaHRtbCBlbGVtZW50c1xuICAgIHRoaXMuaW5wdXRJRCA9IGAke3RoaXMuaWR9LWlucHV0YDtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZGJ5ID0gYCR7dGhpcy5pZH0tYXJpYWxhYmVsbGVkYnlgO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZiwgdHJ1ZSkuc3Vic2NyaWJlKGZvY3VzT3JpZ2luID0+IHtcbiAgICAgIGlmICghZm9jdXNPcmlnaW4pIHtcbiAgICAgICAgLy8gV2hlbiBhIGZvY3VzZWQgZWxlbWVudCBiZWNvbWVzIGRpc2FibGVkLCB0aGUgYnJvd3NlciAqaW1tZWRpYXRlbHkqIGZpcmVzIGEgYmx1ciBldmVudC5cbiAgICAgICAgLy8gQW5ndWxhciBkb2VzIG5vdCBleHBlY3QgZXZlbnRzIHRvIGJlIHJhaXNlZCBkdXJpbmcgY2hhbmdlIGRldGVjdGlvbiwgc28gYW55IHN0YXRlIGNoYW5nZVxuICAgICAgICAvLyAoc3VjaCBhcyBhIGZvcm0gY29udHJvbCdzICduZy10b3VjaGVkJykgd2lsbCBjYXVzZSBhIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvci5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NzkzLiBUbyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBkZWZlclxuICAgICAgICAvLyB0ZWxsaW5nIHRoZSBmb3JtIGNvbnRyb2wgaXQgaGFzIGJlZW4gdG91Y2hlZCB1bnRpbCB0aGUgbmV4dCB0aWNrLlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0QXJpYURlc2NyaWJlZEJ5VG9EZXNjcmlwdGlvbigpO1xuICAgIHRoaXMuc3luY0luZGV0ZXJtaW5hdGUodGhpcy5pbmRldGVybWluYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnQgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAob3JpZ2luKSB7XG4gICAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmlucHV0RWxlbWVudCwgb3JpZ2luLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hlbmV2ZXIgdGhlcmUgaXMgY2hhbmdlIG9uIHRoZSBpbnB1dCBodG1sIGVsZW1lbnRcbiAgICovXG4gIHB1YmxpYyBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcbiAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuZXZlciB0aGVyZSBpcyBjbGljayBldmVudCB0cmlnZ2VyZWQgb24gdGhlIGNoZWNrYm94XG4gICAqL1xuICBwdWJsaWMgb25JbnB1dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIGZvciB0aGUgYXJpYS1jaGVja2VkIHByb3BlcnR5ICh3ZWIgYWNjZXNzaWJpbGl0eSlcbiAgICovXG4gIHB1YmxpYyBnZXRBcmlhU3RhdGUoKTogZUNoZWNrYm94QXJpYVN0YXRlIHtcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICByZXR1cm4gZUNoZWNrYm94QXJpYVN0YXRlLlRSVUU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW5kZXRlcm1pbmF0ZVxuICAgICAgPyBlQ2hlY2tib3hBcmlhU3RhdGUuTUlYRURcbiAgICAgIDogZUNoZWNrYm94QXJpYVN0YXRlLkZBTFNFO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgbmV3IHZhbHVlcyB3aGVuZXZlciB0aGUgY2hlY2tib3ggb2JqZWN0IGhhcyBjaGFuZ2UuXG4gICAqL1xuICBwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpIHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5jaGVja2VkKTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5zeW5jQ2hlY2tlZCh0aGlzLmNoZWNrZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY2hlY2tlZCBwcm9wZXJ0eSBvbiB0aGUgaW5wdXQgaHRtbCBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIHN5bmNDaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbmRldGVybWluYXRlIHByb3BlcnR5IG9uIHRoZSBpbnB1dCBodG1sIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgc3luY0luZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFyaWEtZGVzY3JpYmVkYnkgcHJvcGVydHkgdG8gYmFvLWNoZWNrYm94LWRlc2NyaXB0aW9uXG4gICAqL1xuICBwcml2YXRlIHNldEFyaWFEZXNjcmliZWRCeVRvRGVzY3JpcHRpb24oKSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IEFycmF5LmZyb20odGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIGNvbnN0IGxhYmVsTm9kZSA9IGNoaWxkTm9kZXMuZmluZCh4ID0+IHtcbiAgICAgIHJldHVybiB4Lm5vZGVOYW1lID09PSAnTEFCRUwnO1xuICAgIH0pO1xuICAgIGlmIChsYWJlbE5vZGUpIHtcbiAgICAgIGNvbnN0IGxhYmVsQ2hpbGROb2RlcyA9IEFycmF5LmZyb20obGFiZWxOb2RlLmNoaWxkTm9kZXMpO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb25Ob2RlID0gbGFiZWxDaGlsZE5vZGVzLmZpbmQoeCA9PiB7XG4gICAgICAgIHJldHVybiB4Lm5vZGVOYW1lID09PSAnQkFPLUNIRUNLQk9YLURFU0NSSVBUSU9OJztcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoZGVzY3JpcHRpb25Ob2RlKSB7XG4gICAgICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5ID0gYCR7dGhpcy5pZH0tYXJpYWRlc2NyaWJlZGJ5YDtcbiAgICAgICAgKGRlc2NyaXB0aW9uTm9kZSBhcyBIVE1MRWxlbWVudCkuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICdpZCcsXG4gICAgICAgICAgdGhpcy5hcmlhRGVzY3JpYmVkYnlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBjaGVja2VkIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGVsQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6XG4gICAgJ2Jhby1jaGVja2JveC1kZXNjcmlwdGlvbiwgW2Jhby1jaGVja2JveC1kZXNjcmlwdGlvbl0sICBbYmFvQ2hlY2tib3hEZXNjcmlwdGlvbl0nLFxuICBob3N0OiB7IGNsYXNzOiAnYmFvLWNoZWNrYm94LWRlc2NyaXB0aW9uJyB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb0NoZWNrQm94RGVzY3JpcHRpb24ge31cbiIsIjxpbnB1dFxuICAjaW5wdXRcbiAgdHlwZT1cImNoZWNrYm94XCJcbiAgW2lkXT1cImlucHV0SURcIlxuICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiXG4gIFthdHRyLmFyaWEtY2hlY2tlZF09XCJnZXRBcmlhU3RhdGUoKVwiXG4gIChjaGFuZ2UpPVwib25JbnRlcmFjdGlvbkV2ZW50KCRldmVudClcIlxuICAoY2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxuICByb2xlPVwiY2hlY2tib3hcIlxuLz5cbjxsYWJlbCBjbGFzcz1cImJhby1jaGVja2JveC1jb250ZW50LWNvbnRhaW5lclwiIFthdHRyLmZvcl09XCJpbnB1dElEXCI+XG4gIDxkaXYgY2xhc3M9XCJiYW8tY2hlY2tib3gtbGFiZWxcIiBbaWRdPVwiYXJpYUxhYmVsbGVkYnlcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGVudFxuICAgIHNlbGVjdD1cImJhby1jaGVja2JveC1kZXNjcmlwdGlvbiwgW2Jhby1jaGVja2JveC1kZXNjcmlwdGlvbl0sIFtiYW9DaGVja2JveERlc2NyaXB0aW9uXVwiXG4gID48L25nLWNvbnRlbnQ+XG48L2xhYmVsPlxuIl19
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFXekU7O0dBRUc7QUFDSCxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQTBCN0IsTUFBTSxPQUFPLG9CQUFvQjtJQXdFL0IsWUFDVSxVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixZQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTlEcEM7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUNhLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFPL0I7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQzs7V0FFRztRQUN1QixXQUFNLEdBQzlCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFOUI7O1dBRUc7UUFDdUIsd0JBQW1CLEdBQzNDLElBQUksWUFBWSxFQUFXLENBQUM7UUF1QnRCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtB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cUJBQ0YsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsY0FBYzt3QkFDckIsNkJBQTZCLEVBQUUsUUFBUTt3QkFDdkMsOEJBQThCLEVBQUUsU0FBUzt3QkFDekMsb0NBQW9DLEVBQUUsZUFBZTt3QkFDckQsK0JBQStCLEVBQUUsVUFBVTt3QkFDM0MsMkJBQTJCLEVBQUUsYUFBYTt3QkFDMUMsK0JBQStCLEVBQUUsVUFBVTt3QkFDM0MsbUNBQW1DLEVBQUUsYUFBYTtxQkFDbkQ7NEpBUWUsRUFBRTtzQkFBakIsS0FBSztnQkFLc0IsU0FBUztzQkFBcEMsS0FBSzt1QkFBQyxZQUFZO2dCQUtILFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS29CLE1BQU07c0JBQS9CLE1BQU07Z0JBTW1CLG1CQUFtQjtzQkFBNUMsTUFBTTtnQkFPQyxZQUFZO3NCQURuQixTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBc0NqQyxPQUFPO3NCQURWLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixhQUFhO3NCQURoQixLQUFLOztBQW1OUixNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQ04saUZBQWlGO29CQUNuRixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUU7aUJBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBDaGVja2JveCBzdGF0ZSBmb3IgYXJpYS1jaGVja2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIGVDaGVja2JveEFyaWFTdGF0ZSB7XG4gIFRSVUUgPSAndHJ1ZScsXG4gIEZBTFNFID0gJ2ZhbHNlJyxcbiAgTUlYRUQgPSAnbWl4ZWQnXG59XG5cbi8qKlxuICogVW5pcXVlIElEIGZvciBlYWNoIGNoZWNrYm94IGNvdW50ZXJcbiAqL1xubGV0IGNoZWNrYm94TmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFvLWNoZWNrYm94LCBbYmFvLWNoZWNrYm94XScsXG4gIHRlbXBsYXRlVXJsOiAnY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJhb0NoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYmFvLWNoZWNrYm94JyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1pbmxpbmVdJzogJ2lubGluZScsXG4gICAgJ1tjbGFzcy5iYW8tY2hlY2tib3gtY2hlY2tlZF0nOiAnY2hlY2tlZCcsXG4gICAgJ1tjbGFzcy5iYW8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV0nOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgJ1tjbGFzcy5iYW8tY2hlY2tib3gtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1jYXJkXSc6ICdicmFuZEJvcmRlcicsXG4gICAgJ1tjbGFzcy5iYW8tY2hlY2tib3gtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2NsYXNzLmJhby1jaGVja2JveC1oaWRkZW4tbGFiZWxdJzogJ2hpZGRlbkxhYmVsJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEJhb0NoZWNrYm94Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBUaGUgY2hlY2tib3ggSUQuIEl0IGlzIHNldCBkeW5hbWljYWxseSB3aXRoIGFuIHVuaXF1ZSBJRCBieSBkZWZhdWx0XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFyaWEtbGFiZWwgZm9yIHdlYiBhY2Nlc3NpYmlsaXR5XG4gICAqL1xuICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBwdWJsaWMgYXJpYUxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBoYXMgYSBib3JkZXIgYW5kIGlzIGNvbnNpZGVyZWQgYXMgYSBjYXJkLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJyYW5kQm9yZGVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGlubGluZS5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpbmxpbmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgcHJvcGVydHkgb2YgdGhlIGNoZWNrYm94XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZpc2libGUgc3RhdGUgb2YgdGhlIGxhYmVsXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaGlkZGVuTGFiZWwgPSBmYWxzZTtcblxuICAvKipcbiAgICogRW1pdHRlZCBvYmplY3Qgb24gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEluZGVybWluYXRlIHZhbHVlIG9mIHRoZSBjaGVja2JveCB3aGVuZXZlclxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBpbmRldGVybWluYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBpbnB1dCBodG1sIGVsZW1lbnRcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgYXJpYS1kZXNjcmliZWRieSBpZCBmb3Igd2ViIGFjY2Vzc2liaWx0eVxuICAgKi9cbiAgcHVibGljIGFyaWFEZXNjcmliZWRieT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFyaWEtbGFiZWxlZGJ5IGlkIGZvciB3ZWIgYWNjZXNzaWJpbHR5XG4gICAqL1xuICBwdWJsaWMgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgaW5wdXQgaHRtbCBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgaW5wdXRJRDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2NoZWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICBwcml2YXRlIF91bmlxdWVJZCA9IGBiYW8tY2hlY2tib3gtJHsrK2NoZWNrYm94TmV4dFVuaXF1ZUlkfWA7XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy5fdW5pcXVlSWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQuICBEZWZhdWx0IHZhbHVlIDogZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLiBEZWZhdWx0IHZhbHVlIDogZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgcmVxdWlyZWQuICBEZWZhdWx0IHZhbHVlIDogZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW5kZXRlcm1pbmF0ZS4gIERlZmF1bHQgdmFsdWUgOiBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgLy8gSW4gdGhlIGNhc2UgdGhlIHZhbHVlIGlzIHN0cmluZyBvciBib29sZWFuXG4gICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG4gIH1cblxuICBzZXQgaW5kZXRlcm1pbmF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX2luZGV0ZXJtaW5hdGUpIHtcbiAgICAgIHRoaXMuX2luZGV0ZXJtaW5hdGUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuX2luZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgICAvLyBVcGRhdGUgdGhlIGluZGVydGVtaW5hdGUgdmFsdWUgb2YgdGhlIGh0bWwgZWxlbWVudCBvYmplY3RcbiAgICB0aGlzLnN5bmNJbmRldGVybWluYXRlKHRoaXMuX2luZGV0ZXJtaW5hdGUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIC8vIFNldCBhbGwgdW5pcXVlIGlkcyBmb3IgdGhlIGh0bWwgZWxlbWVudHNcbiAgICB0aGlzLmlucHV0SUQgPSBgJHt0aGlzLmlkfS1pbnB1dGA7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRieSA9IGAke3RoaXMuaWR9LWFyaWFsYWJlbGxlZGJ5YDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYsIHRydWUpLnN1YnNjcmliZShmb2N1c09yaWdpbiA9PiB7XG4gICAgICBpZiAoIWZvY3VzT3JpZ2luKSB7XG4gICAgICAgIC8vIFdoZW4gYSBmb2N1c2VkIGVsZW1lbnQgYmVjb21lcyBkaXNhYmxlZCwgdGhlIGJyb3dzZXIgKmltbWVkaWF0ZWx5KiBmaXJlcyBhIGJsdXIgZXZlbnQuXG4gICAgICAgIC8vIEFuZ3VsYXIgZG9lcyBub3QgZXhwZWN0IGV2ZW50cyB0byBiZSByYWlzZWQgZHVyaW5nIGNoYW5nZSBkZXRlY3Rpb24sIHNvIGFueSBzdGF0ZSBjaGFuZ2VcbiAgICAgICAgLy8gKHN1Y2ggYXMgYSBmb3JtIGNvbnRyb2wncyAnbmctdG91Y2hlZCcpIHdpbGwgY2F1c2UgYSBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3IuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNzc5My4gVG8gd29yayBhcm91bmQgdGhpcywgd2UgZGVmZXJcbiAgICAgICAgLy8gdGVsbGluZyB0aGUgZm9ybSBjb250cm9sIGl0IGhhcyBiZWVuIHRvdWNoZWQgdW50aWwgdGhlIG5leHQgdGljay5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldEFyaWFEZXNjcmliZWRCeVRvRGVzY3JpcHRpb24oKTtcbiAgICB0aGlzLnN5bmNJbmRldGVybWluYXRlKHRoaXMuaW5kZXRlcm1pbmF0ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnQgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKG9yaWdpbikge1xuICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5pbnB1dEVsZW1lbnQsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZW5ldmVyIHRoZXJlIGlzIGNoYW5nZSBvbiB0aGUgaW5wdXQgaHRtbCBlbGVtZW50XG4gICAqL1xuICBwdWJsaWMgb25JbnRlcmFjdGlvbkV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cbiAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXG4gICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbmV2ZXIgdGhlcmUgaXMgY2xpY2sgZXZlbnQgdHJpZ2dlcmVkIG9uIHRoZSBjaGVja2JveFxuICAgKi9cbiAgcHVibGljIG9uSW5wdXRDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB2YWx1ZSBmb3IgdGhlIGFyaWEtY2hlY2tlZCBwcm9wZXJ0eSAod2ViIGFjY2Vzc2liaWxpdHkpXG4gICAqL1xuICBwdWJsaWMgZ2V0QXJpYVN0YXRlKCk6IGVDaGVja2JveEFyaWFTdGF0ZSB7XG4gICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgcmV0dXJuIGVDaGVja2JveEFyaWFTdGF0ZS5UUlVFO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGVcbiAgICAgID8gZUNoZWNrYm94QXJpYVN0YXRlLk1JWEVEXG4gICAgICA6IGVDaGVja2JveEFyaWFTdGF0ZS5GQUxTRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IG5ldyB2YWx1ZXMgd2hlbmV2ZXIgdGhlIGNoZWNrYm94IG9iamVjdCBoYXMgY2hhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuc3luY0NoZWNrZWQodGhpcy5jaGVja2VkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNoZWNrZWQgcHJvcGVydHkgb24gdGhlIGlucHV0IGh0bWwgZWxlbWVudFxuICAgKi9cbiAgcHJpdmF0ZSBzeW5jQ2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgaW5kZXRlcm1pbmF0ZSBwcm9wZXJ0eSBvbiB0aGUgaW5wdXQgaHRtbCBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIHN5bmNJbmRldGVybWluYXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhcmlhLWRlc2NyaWJlZGJ5IHByb3BlcnR5IHRvIGJhby1jaGVja2JveC1kZXNjcmlwdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzZXRBcmlhRGVzY3JpYmVkQnlUb0Rlc2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBBcnJheS5mcm9tKHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICBjb25zdCBsYWJlbE5vZGUgPSBjaGlsZE5vZGVzLmZpbmQoeCA9PiB7XG4gICAgICByZXR1cm4geC5ub2RlTmFtZSA9PT0gJ0xBQkVMJztcbiAgICB9KTtcbiAgICBpZiAobGFiZWxOb2RlKSB7XG4gICAgICBjb25zdCBsYWJlbENoaWxkTm9kZXMgPSBBcnJheS5mcm9tKGxhYmVsTm9kZS5jaGlsZE5vZGVzKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uTm9kZSA9IGxhYmVsQ2hpbGROb2Rlcy5maW5kKHggPT4ge1xuICAgICAgICByZXR1cm4geC5ub2RlTmFtZSA9PT0gJ0JBTy1DSEVDS0JPWC1ERVNDUklQVElPTic7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGRlc2NyaXB0aW9uTm9kZSkge1xuICAgICAgICB0aGlzLmFyaWFEZXNjcmliZWRieSA9IGAke3RoaXMuaWR9LWFyaWFkZXNjcmliZWRieWA7XG4gICAgICAgIChkZXNjcmlwdGlvbk5vZGUgYXMgSFRNTEVsZW1lbnQpLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnaWQnLFxuICAgICAgICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFyaWFEZXNjcmliZWRieSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2hlY2tlZCB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGUoKSB7XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RlbENoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOlxuICAgICdiYW8tY2hlY2tib3gtZGVzY3JpcHRpb24sIFtiYW8tY2hlY2tib3gtZGVzY3JpcHRpb25dLCAgW2Jhb0NoZWNrYm94RGVzY3JpcHRpb25dJyxcbiAgaG9zdDogeyBjbGFzczogJ2Jhby1jaGVja2JveC1kZXNjcmlwdGlvbicgfVxufSlcbmV4cG9ydCBjbGFzcyBCYW9DaGVja0JveERlc2NyaXB0aW9uIHt9XG4iLCI8aW5wdXRcbiAgI2lucHV0XG4gIHR5cGU9XCJjaGVja2JveFwiXG4gIFtpZF09XCJpbnB1dElEXCJcbiAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkYnlcIlxuICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiZ2V0QXJpYVN0YXRlKClcIlxuICAoY2hhbmdlKT1cIm9uSW50ZXJhY3Rpb25FdmVudCgkZXZlbnQpXCJcbiAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgcm9sZT1cImNoZWNrYm94XCJcbi8+XG48bGFiZWwgY2xhc3M9XCJiYW8tY2hlY2tib3gtY29udGVudC1jb250YWluZXJcIiBbYXR0ci5mb3JdPVwiaW5wdXRJRFwiPlxuICA8ZGl2IGNsYXNzPVwiYmFvLWNoZWNrYm94LWxhYmVsXCIgW2lkXT1cImFyaWFMYWJlbGxlZGJ5XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnRcbiAgICBzZWxlY3Q9XCJiYW8tY2hlY2tib3gtZGVzY3JpcHRpb24sIFtiYW8tY2hlY2tib3gtZGVzY3JpcHRpb25dLCBbYmFvQ2hlY2tib3hEZXNjcmlwdGlvbl1cIlxuICA+PC9uZy1jb250ZW50PlxuPC9sYWJlbD5cbiJdfQ==
@@ -1,42 +1,25 @@
1
- /*
2
- * Copyright (c) 2022 Ville de Montreal. All rights reserved.
3
- * Licensed under the MIT license.
4
- * See LICENSE file in the project root for full license information.
5
- */
6
- export var BaoColors;
7
- (function (BaoColors) {
8
- BaoColors["ACTION"] = "action";
9
- BaoColors["PRIMARY"] = "primary";
10
- BaoColors["PRIMARY_REVERSED"] = "primary-reversed";
11
- BaoColors["SECONDARY"] = "secondary";
12
- BaoColors["TERTIARY"] = "tertiary";
13
- BaoColors["INFORMATIVE"] = "informative";
14
- BaoColors["NEGATIVE"] = "negative";
15
- BaoColors["POSITIVE"] = "positive";
16
- BaoColors["WARNING"] = "warning";
17
- })(BaoColors || (BaoColors = {}));
18
1
  export function baoColorToHex(baoColor) {
19
2
  switch (baoColor) {
20
- case BaoColors.ACTION:
3
+ case "action" /* ACTION */:
21
4
  return '#097D6C';
22
- case BaoColors.PRIMARY:
5
+ case "primary" /* PRIMARY */:
23
6
  return '#000000';
24
- case BaoColors.PRIMARY_REVERSED:
7
+ case "primary-reversed" /* PRIMARY_REVERSED */:
25
8
  return '#FFFFFF';
26
- case BaoColors.SECONDARY:
9
+ case "secondary" /* SECONDARY */:
27
10
  return '#637381';
28
- case BaoColors.TERTIARY:
11
+ case "tertiary" /* TERTIARY */:
29
12
  return '#ADB5BD';
30
- case BaoColors.INFORMATIVE:
13
+ case "informative" /* INFORMATIVE */:
31
14
  return '#0079C4';
32
- case BaoColors.NEGATIVE:
15
+ case "negative" /* NEGATIVE */:
33
16
  return '#D3310A';
34
- case BaoColors.POSITIVE:
17
+ case "positive" /* POSITIVE */:
35
18
  return '#0DA566';
36
- case BaoColors.WARNING:
19
+ case "warning" /* WARNING */:
37
20
  return '#FFB833';
38
21
  default:
39
22
  return '#097D6C';
40
23
  }
41
24
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NvcmUvY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGtEQUFxQyxDQUFBO0lBQ3JDLG9DQUF1QixDQUFBO0lBQ3ZCLGtDQUFxQixDQUFBO0lBQ3JCLHdDQUEyQixDQUFBO0lBQzNCLGtDQUFxQixDQUFBO0lBQ3JCLGtDQUFxQixDQUFBO0lBQ3JCLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQjtBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBbUI7SUFDL0MsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxTQUFTLENBQUMsTUFBTTtZQUNuQixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLFNBQVMsQ0FBQyxPQUFPO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssU0FBUyxDQUFDLGdCQUFnQjtZQUM3QixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLFNBQVMsQ0FBQyxTQUFTO1lBQ3RCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssU0FBUyxDQUFDLFFBQVE7WUFDckIsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxTQUFTLENBQUMsV0FBVztZQUN4QixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLFNBQVMsQ0FBQyxRQUFRO1lBQ3JCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLEtBQUssU0FBUyxDQUFDLFFBQVE7WUFDckIsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxTQUFTLENBQUMsT0FBTztZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNuQjtZQUNFLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGVudW0gQmFvQ29sb3JzIHtcbiAgQUNUSU9OID0gJ2FjdGlvbicsXG4gIFBSSU1BUlkgPSAncHJpbWFyeScsXG4gIFBSSU1BUllfUkVWRVJTRUQgPSAncHJpbWFyeS1yZXZlcnNlZCcsXG4gIFNFQ09OREFSWSA9ICdzZWNvbmRhcnknLFxuICBURVJUSUFSWSA9ICd0ZXJ0aWFyeScsXG4gIElORk9STUFUSVZFID0gJ2luZm9ybWF0aXZlJyxcbiAgTkVHQVRJVkUgPSAnbmVnYXRpdmUnLFxuICBQT1NJVElWRSA9ICdwb3NpdGl2ZScsXG4gIFdBUk5JTkcgPSAnd2FybmluZydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhb0NvbG9yVG9IZXgoYmFvQ29sb3I6IEJhb0NvbG9ycyk6IHN0cmluZyB7XG4gIHN3aXRjaCAoYmFvQ29sb3IpIHtcbiAgICBjYXNlIEJhb0NvbG9ycy5BQ1RJT046XG4gICAgICByZXR1cm4gJyMwOTdENkMnO1xuICAgIGNhc2UgQmFvQ29sb3JzLlBSSU1BUlk6XG4gICAgICByZXR1cm4gJyMwMDAwMDAnO1xuICAgIGNhc2UgQmFvQ29sb3JzLlBSSU1BUllfUkVWRVJTRUQ6XG4gICAgICByZXR1cm4gJyNGRkZGRkYnO1xuICAgIGNhc2UgQmFvQ29sb3JzLlNFQ09OREFSWTpcbiAgICAgIHJldHVybiAnIzYzNzM4MSc7XG4gICAgY2FzZSBCYW9Db2xvcnMuVEVSVElBUlk6XG4gICAgICByZXR1cm4gJyNBREI1QkQnO1xuICAgIGNhc2UgQmFvQ29sb3JzLklORk9STUFUSVZFOlxuICAgICAgcmV0dXJuICcjMDA3OUM0JztcbiAgICBjYXNlIEJhb0NvbG9ycy5ORUdBVElWRTpcbiAgICAgIHJldHVybiAnI0QzMzEwQSc7XG4gICAgY2FzZSBCYW9Db2xvcnMuUE9TSVRJVkU6XG4gICAgICByZXR1cm4gJyMwREE1NjYnO1xuICAgIGNhc2UgQmFvQ29sb3JzLldBUk5JTkc6XG4gICAgICByZXR1cm4gJyNGRkI4MzMnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJyMwOTdENkMnO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11aS9zcmMvbGliL2NvcmUvY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQW1CO0lBQy9DLFFBQVEsUUFBUSxFQUFFO1FBQ2hCO1lBQ0UsT0FBTyxTQUFTLENBQUM7UUFDbkI7WUFDRSxPQUFPLFNBQVMsQ0FBQztRQUNuQjtZQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ25CO1lBQ0UsT0FBTyxTQUFTLENBQUM7UUFDbkI7WUFDRSxPQUFPLFNBQVMsQ0FBQztRQUNuQjtZQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ25CO1lBQ0UsT0FBTyxTQUFTLENBQUM7UUFDbkI7WUFDRSxPQUFPLFNBQVMsQ0FBQztRQUNuQjtZQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ25CO1lBQ0UsT0FBTyxTQUFTLENBQUM7S0FDcEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBWaWxsZSBkZSBNb250cmVhbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFNlZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBCYW9Db2xvcnMge1xuICBBQ1RJT04gPSAnYWN0aW9uJyxcbiAgUFJJTUFSWSA9ICdwcmltYXJ5JyxcbiAgUFJJTUFSWV9SRVZFUlNFRCA9ICdwcmltYXJ5LXJldmVyc2VkJyxcbiAgU0VDT05EQVJZID0gJ3NlY29uZGFyeScsXG4gIFRFUlRJQVJZID0gJ3RlcnRpYXJ5JyxcbiAgSU5GT1JNQVRJVkUgPSAnaW5mb3JtYXRpdmUnLFxuICBORUdBVElWRSA9ICduZWdhdGl2ZScsXG4gIFBPU0lUSVZFID0gJ3Bvc2l0aXZlJyxcbiAgV0FSTklORyA9ICd3YXJuaW5nJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFvQ29sb3JUb0hleChiYW9Db2xvcjogQmFvQ29sb3JzKTogc3RyaW5nIHtcbiAgc3dpdGNoIChiYW9Db2xvcikge1xuICAgIGNhc2UgQmFvQ29sb3JzLkFDVElPTjpcbiAgICAgIHJldHVybiAnIzA5N0Q2Qyc7XG4gICAgY2FzZSBCYW9Db2xvcnMuUFJJTUFSWTpcbiAgICAgIHJldHVybiAnIzAwMDAwMCc7XG4gICAgY2FzZSBCYW9Db2xvcnMuUFJJTUFSWV9SRVZFUlNFRDpcbiAgICAgIHJldHVybiAnI0ZGRkZGRic7XG4gICAgY2FzZSBCYW9Db2xvcnMuU0VDT05EQVJZOlxuICAgICAgcmV0dXJuICcjNjM3MzgxJztcbiAgICBjYXNlIEJhb0NvbG9ycy5URVJUSUFSWTpcbiAgICAgIHJldHVybiAnI0FEQjVCRCc7XG4gICAgY2FzZSBCYW9Db2xvcnMuSU5GT1JNQVRJVkU6XG4gICAgICByZXR1cm4gJyMwMDc5QzQnO1xuICAgIGNhc2UgQmFvQ29sb3JzLk5FR0FUSVZFOlxuICAgICAgcmV0dXJuICcjRDMzMTBBJztcbiAgICBjYXNlIEJhb0NvbG9ycy5QT1NJVElWRTpcbiAgICAgIHJldHVybiAnIzBEQTU2Nic7XG4gICAgY2FzZSBCYW9Db2xvcnMuV0FSTklORzpcbiAgICAgIHJldHVybiAnI0ZGQjgzMyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnIzA5N0Q2Qyc7XG4gIH1cbn1cbiJdfQ==
@@ -38,6 +38,18 @@ export class BaoIconComponent {
38
38
  get svgIcon() {
39
39
  return this._svgIcon;
40
40
  }
41
+ /** Title that will be used as an aria-label for the icon */
42
+ get title() {
43
+ return this._title;
44
+ }
45
+ get hexColor() {
46
+ if (this.color) {
47
+ return baoColorToHex(this.color);
48
+ }
49
+ }
50
+ get titleId() {
51
+ return this._titleId;
52
+ }
41
53
  set svgIcon(value) {
42
54
  if (value !== this._svgIcon) {
43
55
  if (value) {
@@ -50,15 +62,6 @@ export class BaoIconComponent {
50
62
  this.renderer.addClass(this.elementRef.nativeElement, `bao-${this._svgIcon}`);
51
63
  }
52
64
  }
53
- get hexColor() {
54
- if (this.color) {
55
- return baoColorToHex(this.color);
56
- }
57
- }
58
- /** Title that will be used as an aria-label for the icon */
59
- get title() {
60
- return this._title;
61
- }
62
65
  set title(value) {
63
66
  if (value !== this._title) {
64
67
  this._title = value;
@@ -66,9 +69,6 @@ export class BaoIconComponent {
66
69
  this.updateSvgIcon(this.svgIcon, value);
67
70
  }
68
71
  }
69
- get titleId() {
70
- return this._titleId;
71
- }
72
72
  ngOnDestroy() {
73
73
  if (this._elementsWithExternalReferences) {
74
74
  this._elementsWithExternalReferences.clear();
@@ -128,7 +128,7 @@ export class BaoIconComponent {
128
128
  }
129
129
  }
130
130
  BaoIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.BaoIconDictionary }, { token: i0.Renderer2 }, { token: 'aria-hidden', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
131
- BaoIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoIconComponent, selector: "bao-icon", inputs: { svgIcon: "svgIcon", color: "color", title: "title", size: "size" }, host: { attributes: { "role": "img" }, properties: { "class.bao-icon": "true", "class.notranslate": "true", "class.bao-icon-medium": "size === \"medium\"", "class.bao-icon-small": "size === \"small\"", "class.bao-icon-x-small": "size === \"x-small\"", "class.bao-icon-xx-small": "size === \"xx-small\"", "attr.data-bao-icon-type": "\"svg\"", "attr.aria-labelledby": "titleId", "attr.aria-hidden": "!title", "style.color": "hexColor" } }, exportAs: ["baoIcon"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["bao-icon{background-repeat:no-repeat;display:inline-flex;align-items:center;fill:currentColor;line-height:normal}bao-icon.bao-icon-medium{height:2.5rem;width:2.5rem}bao-icon.bao-icon-small{height:2rem;width:2rem;line-height:1.75rem}bao-icon.bao-icon-x-small{height:1.5rem;width:1.5rem;line-height:1.15rem}bao-icon.bao-icon-xx-small{height:1rem;width:1rem;line-height:.85rem}bao-icon.bao-icon-spinner{animation:spin .75s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
131
+ BaoIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BaoIconComponent, selector: "bao-icon", inputs: { color: "color", size: "size", svgIcon: "svgIcon", title: "title" }, host: { attributes: { "role": "img" }, properties: { "class.bao-icon": "true", "class.notranslate": "true", "class.bao-icon-medium": "size === \"medium\"", "class.bao-icon-small": "size === \"small\"", "class.bao-icon-x-small": "size === \"x-small\"", "class.bao-icon-xx-small": "size === \"xx-small\"", "attr.data-bao-icon-type": "\"svg\"", "attr.aria-labelledby": "titleId", "attr.aria-hidden": "!title", "style.color": "hexColor" } }, exportAs: ["baoIcon"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["bao-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;line-height:normal}bao-icon.bao-icon-medium{height:2.5rem;width:2.5rem}bao-icon.bao-icon-small{height:2rem;width:2rem;line-height:1.75rem}bao-icon.bao-icon-x-small{height:1.5rem;width:1.5rem;line-height:.5rem}bao-icon.bao-icon-xx-small{height:1rem;width:1rem;line-height:.85rem}bao-icon.bao-icon-spinner{animation:spin .75s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
132
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaoIconComponent, decorators: [{
133
133
  type: Component,
134
134
  args: [{ template: '<ng-content></ng-content>', selector: 'bao-icon', exportAs: 'baoIcon', host: {
@@ -144,17 +144,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
144
144
  '[attr.aria-labelledby]': 'titleId',
145
145
  '[attr.aria-hidden]': '!title',
146
146
  '[style.color]': 'hexColor'
147
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["bao-icon{background-repeat:no-repeat;display:inline-flex;align-items:center;fill:currentColor;line-height:normal}bao-icon.bao-icon-medium{height:2.5rem;width:2.5rem}bao-icon.bao-icon-small{height:2rem;width:2rem;line-height:1.75rem}bao-icon.bao-icon-x-small{height:1.5rem;width:1.5rem;line-height:1.15rem}bao-icon.bao-icon-xx-small{height:1rem;width:1rem;line-height:.85rem}bao-icon.bao-icon-spinner{animation:spin .75s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
147
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["bao-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;line-height:normal}bao-icon.bao-icon-medium{height:2.5rem;width:2.5rem}bao-icon.bao-icon-small{height:2rem;width:2rem;line-height:1.75rem}bao-icon.bao-icon-x-small{height:1.5rem;width:1.5rem;line-height:.5rem}bao-icon.bao-icon-xx-small{height:1rem;width:1rem;line-height:.85rem}bao-icon.bao-icon-spinner{animation:spin .75s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
148
148
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.BaoIconDictionary }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
149
149
  type: Attribute,
150
150
  args: ['aria-hidden']
151
- }] }]; }, propDecorators: { svgIcon: [{
151
+ }] }]; }, propDecorators: { color: [{
152
152
  type: Input
153
- }], color: [{
153
+ }], size: [{
154
154
  type: Input
155
- }], title: [{
155
+ }], svgIcon: [{
156
156
  type: Input
157
- }], size: [{
157
+ }], title: [{
158
158
  type: Input
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHMUQsTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBRXRCOzs7Ozs7R0FNRztBQXVCSCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkQzQixZQUNVLFVBQW1DLEVBQ25DLFlBQTZCLEVBQzdCLFFBQW1CLEVBQ0QsVUFBa0I7UUFIcEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFsQjdCOztXQUVHO1FBQ2EsU0FBSSxHQUFnRCxTQUFTLENBQUM7UUFrQjVFLHNGQUFzRjtRQUN0Riw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBMUVELDRDQUE0QztJQUM1QyxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNE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QUFTLFFBRWI7d0JBQ0osSUFBSSxFQUFFLEtBQUs7d0JBQ1gsa0RBQWtEO3dCQUNsRCxrQkFBa0IsRUFBRSxNQUFNO3dCQUMxQixxQkFBcUIsRUFBRSxNQUFNO3dCQUM3Qix5QkFBeUIsRUFBRSxtQkFBbUI7d0JBQzlDLHdCQUF3QixFQUFFLGtCQUFrQjt3QkFDNUMsMEJBQTBCLEVBQUUsb0JBQW9CO3dCQUNoRCwyQkFBMkIsRUFBRSxxQkFBcUI7d0JBQ2xELDJCQUEyQixFQUFFLE9BQU87d0JBQ3BDLHdCQUF3QixFQUFFLFNBQVM7d0JBQ25DLG9CQUFvQixFQUFFLFFBQVE7d0JBQzlCLGVBQWUsRUFBRSxVQUFVO3FCQUM1QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFtRTVDLFNBQVM7MkJBQUMsYUFBYTs0Q0E5RHRCLE9BQU87c0JBRFYsS0FBSztnQkFvQlUsS0FBSztzQkFBcEIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBa0JVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIFZpbGxlIGRlIE1vbnRyZWFsLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU2VlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcHJvamVjdCByb290IGZvciBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24uXG4gKi9cbmltcG9ydCB7XG4gIEF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhb0NvbG9ycywgYmFvQ29sb3JUb0hleCB9IGZyb20gJy4uL2NvcmUvY29sb3JzJztcbmltcG9ydCB7IEJhb0ljb25EaWN0aW9uYXJ5IGFzIEJhb0ljb25SZWdpc3RyeSB9IGZyb20gJy4vYmFvLWljb24tcmVnaXN0cnknO1xuXG5jb25zdCBTVkdfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcbmNvbnN0IFRJVExFID0gJ3RpdGxlJztcblxuLyoqXG4gKiBDb21wb25lbnQgdG8gZGlzcGxheSBhbiBpY29uLiBJdCBjYW4gYmUgdXNlZCBpbiB0aGUgZm9sbG93aW5nIHdheXM6XG4gKlxuICogLSBTcGVjaWZ5IHRoZSBzdmdJY29uIGlucHV0IHRvIGxvYWQgYW4gU1ZHIGljb24gZnJvbSBhIHByZXNldCBsaXN0IG9mIGljb25zLlxuICogICBFeGFtcGxlczpcbiAqICAgICBgPGJhby1pY29uIHN2Z0ljb249XCJoZWFydFwiPjwvYmFvLWljb24+YFxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc2VsZWN0b3I6ICdiYW8taWNvbicsXG4gIGV4cG9ydEFzOiAnYmFvSWNvbicsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgIC8vICdbY2xhc3NdJzogXCInYmFvLWljb24gbm90cmFuc2xhdGUgJyArIHN2Z0ljb25cIixcbiAgICAnW2NsYXNzLmJhby1pY29uXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLm5vdHJhbnNsYXRlXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmJhby1pY29uLW1lZGl1bV0nOiAnc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gICAgJ1tjbGFzcy5iYW8taWNvbi1zbWFsbF0nOiAnc2l6ZSA9PT0gXCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLmJhby1pY29uLXgtc21hbGxdJzogJ3NpemUgPT09IFwieC1zbWFsbFwiJyxcbiAgICAnW2NsYXNzLmJhby1pY29uLXh4LXNtYWxsXSc6ICdzaXplID09PSBcInh4LXNtYWxsXCInLFxuICAgICdbYXR0ci5kYXRhLWJhby1pY29uLXR5cGVdJzogJ1wic3ZnXCInLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ3RpdGxlSWQnLFxuICAgICdbYXR0ci5hcmlhLWhpZGRlbl0nOiAnIXRpdGxlJyxcbiAgICAnW3N0eWxlLmNvbG9yXSc6ICdoZXhDb2xvcidcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFvSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBpY29uIGluIHRoZSBTVkcgaWNvbiBzZXQuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzdmdJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N2Z0ljb247XG4gIH1cbiAgc2V0IHN2Z0ljb24odmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fc3ZnSWNvbikge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3ZnSWNvbih2YWx1ZSwgdGhpcy50aXRsZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3N2Z0ljb24pIHtcbiAgICAgICAgdGhpcy5jbGVhclN2Z0VsZW1lbnQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3N2Z0ljb24gPSB2YWx1ZTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICBgYmFvLSR7dGhpcy5fc3ZnSWNvbn1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY29sb3Igb2YgdGhlIGljb24sIGlmIG5vdCBzcGVjaWZpZWQgdGhlIGljb24ncyBwYXJlbnQgY3VycmVudCB0ZXh0IGNvbG9yIHdpbGwgYmUgdXNlZCAqL1xuICBASW5wdXQoKSBwdWJsaWMgY29sb3I6IEJhb0NvbG9ycztcblxuICBnZXQgaGV4Q29sb3IoKTogc3RyaW5nIHwgdm9pZCB7XG4gICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgIHJldHVybiBiYW9Db2xvclRvSGV4KHRoaXMuY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaXRsZSB0aGF0IHdpbGwgYmUgdXNlZCBhcyBhbiBhcmlhLWxhYmVsIGZvciB0aGUgaWNvbiAqL1xuICBASW5wdXQoKVxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cbiAgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX3RpdGxlKSB7XG4gICAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fdGl0bGVJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVUaXRsZUlkKCk7XG4gICAgICB0aGlzLnVwZGF0ZVN2Z0ljb24odGhpcy5zdmdJY29uLCB2YWx1ZSk7XG4gICAgfVxuICB9XG4gIGdldCB0aXRsZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlSWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGljb25cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnbWVkaXVtJyB8ICdzbWFsbCcgfCAneC1zbWFsbCcgfCAneHgtc21hbGwnID0gJ3gtc21hbGwnO1xuXG4gIHByaXZhdGUgX3N2Z0ljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBfdGl0bGVJZDogc3RyaW5nO1xuXG4gIC8vIEtlZXBzIHRyYWNrIG9mIHRoZSBlbGVtZW50cyBhbmQgYXR0cmlidXRlcyB0aGF0IHdlJ3ZlIHByZWZpeGVkIHdpdGggdGhlIGN1cnJlbnQgcGF0aC5cbiAgcHJpdmF0ZSBfZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzPzogTWFwPFxuICAgIEVsZW1lbnQsXG4gICAgeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdXG4gID47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogQmFvSWNvblJlZ2lzdHJ5LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAQXR0cmlidXRlKCdhcmlhLWhpZGRlbicpIGFyaWFIaWRkZW46IHN0cmluZ1xuICApIHtcbiAgICAvLyBJZiB0aGUgdXNlciBoYXMgbm90IGV4cGxpY2l0bHkgc2V0IGFyaWEtaGlkZGVuLCBtYXJrIHRoZSBpY29uIGFzIGhpZGRlbiwgYXMgdGhpcyBpc1xuICAgIC8vIHRoZSByaWdodCB0aGluZyB0byBkbyBmb3IgdGhlIG1ham9yaXR5IG9mIGljb24gdXNlLWNhc2VzLlxuICAgIGlmICghYXJpYUhpZGRlbikge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgfVxuICAgIHRoaXMuX3RpdGxlSWQgPSAnJztcbiAgICB0aGlzLl90aXRsZSA9ICcnO1xuICAgIHRoaXMuX3N2Z0ljb24gPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKSB7XG4gICAgICB0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFN2Z0VsZW1lbnQoc3ZnOiBTVkdFbGVtZW50KSB7XG4gICAgdGhpcy5jbGVhclN2Z0VsZW1lbnQoKTtcbiAgICAvLyBXb3JrYXJvdW5kIGZvciBJRTExIGFuZCBFZGdlIGlnbm9yaW5nIGBzdHlsZWAgdGFncyBpbnNpZGUgZHluYW1pY2FsbHktY3JlYXRlZCBTVkdzLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTA4OTg0NjkvXG4gICAgLy8gRG8gdGhpcyBiZWZvcmUgaW5zZXJ0aW5nIHRoZSBlbGVtZW50IGludG8gdGhlIERPTSwgaW4gb3JkZXIgdG8gYXZvaWQgYSBzdHlsZSByZWNhbGN1bGF0aW9uLlxuICAgIGNvbnN0IHN0eWxlVGFncyA9IHN2Zy5xdWVyeVNlbGVjdG9yQWxsKCdzdHlsZScpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWZvci1vZlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3R5bGVUYWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHlsZVRhZ3NbaV0udGV4dENvbnRlbnQgKz0gJyAnO1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChzdmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclN2Z0VsZW1lbnQoKSB7XG4gICAgY29uc3QgbGF5b3V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IGxheW91dEVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKSB7XG4gICAgICB0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZXhpc3Rpbmcgbm9uLWVsZW1lbnQgY2hpbGQgbm9kZXMgYW5kIFNWR3MsIGFuZCBhZGQgdGhlIG5ldyBTVkcgZWxlbWVudC4gTm90ZSB0aGF0XG4gICAgLy8gd2UgY2FuJ3QgdXNlIGlubmVySFRNTCwgYmVjYXVzZSBJRSB3aWxsIHRocm93IGlmIHRoZSBlbGVtZW50IGhhcyBhIGRhdGEgYmluZGluZy5cbiAgICB3aGlsZSAoY2hpbGRDb3VudC0tKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGxheW91dEVsZW1lbnQuY2hpbGROb2Rlc1tjaGlsZENvdW50XTtcblxuICAgICAgLy8gMSBjb3JyZXNwb25kcyB0byBOb2RlLkVMRU1FTlRfTk9ERS4gV2UgcmVtb3ZlIGFsbCBub24tZWxlbWVudCBub2RlcyBpbiBvcmRlciB0byBnZXQgcmlkXG4gICAgICAvLyBvZiBhbnkgbG9vc2UgdGV4dCBub2RlcywgYXMgd2VsbCBhcyBhbnkgU1ZHIGVsZW1lbnRzIGluIG9yZGVyIHRvIHJlbW92ZSBhbnkgb2xkIGljb25zLlxuICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlICE9PSAxIHx8IGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgICAgIGxheW91dEVsZW1lbnQucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgYSBuZXcgU1ZHIGljb24gd2l0aCBhIHBhcnRpY3VsYXIgbmFtZS5cbiAgcHJpdmF0ZSB1cGRhdGVTdmdJY29uKFxuICAgIGljb25OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBpZiAoaWNvbk5hbWUpIHtcbiAgICAgIGxldCBzdmcgPSB0aGlzLmljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24oaWNvbk5hbWUpO1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIHN2ZyA9IHRoaXMuYWRkVGl0bGVUb1NWRyhzdmcsIHRpdGxlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3ZnRWxlbWVudChzdmcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVGl0bGVUb1NWRyhzdmc6IFNWR0VsZW1lbnQsIHRpdGxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0aXRsZU5vZGUgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoVElUTEUsIFNWR19OQU1FU1BBQ0UpO1xuICAgIHRpdGxlTm9kZS5pZCA9IHRoaXMuX3RpdGxlSWQ7XG4gICAgY29uc3QgdGl0bGVUZXh0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVUZXh0KHRpdGxlKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRpdGxlTm9kZSwgdGl0bGVUZXh0KTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHN2ZywgdGl0bGVOb2RlKTtcbiAgICByZXR1cm4gc3ZnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVuaXF1ZVRpdGxlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZVxuICAgICAgPyBgJHt0aGlzLnRpdGxlfS0ke01hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwMDAwMDAwMH1gXG4gICAgICA6ICcnO1xuICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXVpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHMUQsTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUM7QUFDbkQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDO0FBRXRCOzs7Ozs7R0FNRztBQXVCSCxNQUFNLE9BQU8sZ0JBQWdCO0lBbUIzQixZQUNVLFVBQW1DLEVBQ25DLFlBQTZCLEVBQzdCLFFBQW1CLEVBQ0QsVUFBa0I7UUFIcEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFsQjdCOztXQUVHO1FBQ2EsU0FBSSxHQUFnRCxTQUFTLENBQUM7UUFrQjVFLHNGQUFzRjtRQUN0Riw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsNENBQTRDO0lBQzVDLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQs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UyxRQUViO3dCQUNKLElBQUksRUFBRSxLQUFLO3dCQUNYLGtEQUFrRDt3QkFDbEQsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIscUJBQXFCLEVBQUUsTUFBTTt3QkFDN0IseUJBQXlCLEVBQUUsbUJBQW1CO3dCQUM5Qyx3QkFBd0IsRUFBRSxrQkFBa0I7d0JBQzVDLDBCQUEwQixFQUFFLG9CQUFvQjt3QkFDaEQsMkJBQTJCLEVBQUUscUJBQXFCO3dCQUNsRCwyQkFBMkIsRUFBRSxPQUFPO3dCQUNwQyx3QkFBd0IsRUFBRSxTQUFTO3dCQUNuQyxvQkFBb0IsRUFBRSxRQUFRO3dCQUM5QixlQUFlLEVBQUUsVUFBVTtxQkFDNUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBeUI1QyxTQUFTOzJCQUFDLGFBQWE7NENBckJWLEtBQUs7c0JBQXBCLEtBQUs7Z0JBS1UsSUFBSTtzQkFBbkIsS0FBSztnQkE4QkYsT0FBTztzQkFEVixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjIgVmlsbGUgZGUgTW9udHJlYWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBTZWUgTElDRU5TRSBmaWxlIGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFvQ29sb3JzLCBiYW9Db2xvclRvSGV4IH0gZnJvbSAnLi4vY29yZS9jb2xvcnMnO1xuaW1wb3J0IHsgQmFvSWNvbkRpY3Rpb25hcnkgYXMgQmFvSWNvblJlZ2lzdHJ5IH0gZnJvbSAnLi9iYW8taWNvbi1yZWdpc3RyeSc7XG5cbmNvbnN0IFNWR19OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuY29uc3QgVElUTEUgPSAndGl0bGUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBkaXNwbGF5IGFuIGljb24uIEl0IGNhbiBiZSB1c2VkIGluIHRoZSBmb2xsb3dpbmcgd2F5czpcbiAqXG4gKiAtIFNwZWNpZnkgdGhlIHN2Z0ljb24gaW5wdXQgdG8gbG9hZCBhbiBTVkcgaWNvbiBmcm9tIGEgcHJlc2V0IGxpc3Qgb2YgaWNvbnMuXG4gKiAgIEV4YW1wbGVzOlxuICogICAgIGA8YmFvLWljb24gc3ZnSWNvbj1cImhlYXJ0XCI+PC9iYW8taWNvbj5gXG4gKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzZWxlY3RvcjogJ2Jhby1pY29uJyxcbiAgZXhwb3J0QXM6ICdiYW9JY29uJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgLy8gJ1tjbGFzc10nOiBcIidiYW8taWNvbiBub3RyYW5zbGF0ZSAnICsgc3ZnSWNvblwiLFxuICAgICdbY2xhc3MuYmFvLWljb25dJzogJ3RydWUnLFxuICAgICdbY2xhc3Mubm90cmFuc2xhdGVdJzogJ3RydWUnLFxuICAgICdbY2xhc3MuYmFvLWljb24tbWVkaXVtXSc6ICdzaXplID09PSBcIm1lZGl1bVwiJyxcbiAgICAnW2NsYXNzLmJhby1pY29uLXNtYWxsXSc6ICdzaXplID09PSBcInNtYWxsXCInLFxuICAgICdbY2xhc3MuYmFvLWljb24teC1zbWFsbF0nOiAnc2l6ZSA9PT0gXCJ4LXNtYWxsXCInLFxuICAgICdbY2xhc3MuYmFvLWljb24teHgtc21hbGxdJzogJ3NpemUgPT09IFwieHgtc21hbGxcIicsXG4gICAgJ1thdHRyLmRhdGEtYmFvLWljb24tdHlwZV0nOiAnXCJzdmdcIicsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAndGl0bGVJZCcsXG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICchdGl0bGUnLFxuICAgICdbc3R5bGUuY29sb3JdJzogJ2hleENvbG9yJ1xuICB9LFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYW9JY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqIFRoZSBjb2xvciBvZiB0aGUgaWNvbiwgaWYgbm90IHNwZWNpZmllZCB0aGUgaWNvbidzIHBhcmVudCBjdXJyZW50IHRleHQgY29sb3Igd2lsbCBiZSB1c2VkICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogQmFvQ29sb3JzO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaWNvblxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdtZWRpdW0nIHwgJ3NtYWxsJyB8ICd4LXNtYWxsJyB8ICd4eC1zbWFsbCcgPSAneC1zbWFsbCc7XG5cbiAgcHJpdmF0ZSBfc3ZnSWNvbjogc3RyaW5nO1xuICBwcml2YXRlIF90aXRsZTogc3RyaW5nO1xuICBwcml2YXRlIF90aXRsZUlkOiBzdHJpbmc7XG5cbiAgLy8gS2VlcHMgdHJhY2sgb2YgdGhlIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIHRoYXQgd2UndmUgcHJlZml4ZWQgd2l0aCB0aGUgY3VycmVudCBwYXRoLlxuICBwcml2YXRlIF9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXM/OiBNYXA8XG4gICAgRWxlbWVudCxcbiAgICB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W11cbiAgPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBCYW9JY29uUmVnaXN0cnksXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykgYXJpYUhpZGRlbjogc3RyaW5nXG4gICkge1xuICAgIC8vIElmIHRoZSB1c2VyIGhhcyBub3QgZXhwbGljaXRseSBzZXQgYXJpYS1oaWRkZW4sIG1hcmsgdGhlIGljb24gYXMgaGlkZGVuLCBhcyB0aGlzIGlzXG4gICAgLy8gdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGZvciB0aGUgbWFqb3JpdHkgb2YgaWNvbiB1c2UtY2FzZXMuXG4gICAgaWYgKCFhcmlhSGlkZGVuKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICB9XG4gICAgdGhpcy5fdGl0bGVJZCA9ICcnO1xuICAgIHRoaXMuX3RpdGxlID0gJyc7XG4gICAgdGhpcy5fc3ZnSWNvbiA9ICcnO1xuICB9XG5cbiAgLyoqIE5hbWUgb2YgdGhlIGljb24gaW4gdGhlIFNWRyBpY29uIHNldC4gKi9cbiAgQElucHV0KClcbiAgZ2V0IHN2Z0ljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3ZnSWNvbjtcbiAgfVxuXG4gIC8qKiBUaXRsZSB0aGF0IHdpbGwgYmUgdXNlZCBhcyBhbiBhcmlhLWxhYmVsIGZvciB0aGUgaWNvbiAqL1xuICBASW5wdXQoKVxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cblxuICBnZXQgaGV4Q29sb3IoKTogc3RyaW5nIHwgdm9pZCB7XG4gICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgIHJldHVybiBiYW9Db2xvclRvSGV4KHRoaXMuY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlSWQ7XG4gIH1cblxuICBzZXQgc3ZnSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9zdmdJY29uKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdmdJY29uKHZhbHVlLCB0aGlzLnRpdGxlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fc3ZnSWNvbikge1xuICAgICAgICB0aGlzLmNsZWFyU3ZnRWxlbWVudCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc3ZnSWNvbiA9IHZhbHVlO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGBiYW8tJHt0aGlzLl9zdmdJY29ufWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX3RpdGxlKSB7XG4gICAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fdGl0bGVJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVUaXRsZUlkKCk7XG4gICAgICB0aGlzLnVwZGF0ZVN2Z0ljb24odGhpcy5zdmdJY29uLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U3ZnRWxlbWVudChzdmc6IFNWR0VsZW1lbnQpIHtcbiAgICB0aGlzLmNsZWFyU3ZnRWxlbWVudCgpO1xuICAgIC8vIFdvcmthcm91bmQgZm9yIElFMTEgYW5kIEVkZ2UgaWdub3JpbmcgYHN0eWxlYCB0YWdzIGluc2lkZSBkeW5hbWljYWxseS1jcmVhdGVkIFNWR3MuXG4gICAgLy8gU2VlOiBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMDg5ODQ2OS9cbiAgICAvLyBEbyB0aGlzIGJlZm9yZSBpbnNlcnRpbmcgdGhlIGVsZW1lbnQgaW50byB0aGUgRE9NLCBpbiBvcmRlciB0byBhdm9pZCBhIHN0eWxlIHJlY2FsY3VsYXRpb24uXG4gICAgY29uc3Qgc3R5bGVUYWdzID0gc3ZnLnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJyk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZm9yLW9mXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHlsZVRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIHN0eWxlVGFnc1tpXS50ZXh0Q29udGVudCArPSAnICc7XG4gICAgfVxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHN2Zyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyU3ZnRWxlbWVudCgpIHtcbiAgICBjb25zdCBsYXlvdXRFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGxldCBjaGlsZENvdW50ID0gbGF5b3V0RWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgIGlmICh0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcy5jbGVhcigpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBleGlzdGluZyBub24tZWxlbWVudCBjaGlsZCBub2RlcyBhbmQgU1ZHcywgYW5kIGFkZCB0aGUgbmV3IFNWRyBlbGVtZW50LiBOb3RlIHRoYXRcbiAgICAvLyB3ZSBjYW4ndCB1c2UgaW5uZXJIVE1MLCBiZWNhdXNlIElFIHdpbGwgdGhyb3cgaWYgdGhlIGVsZW1lbnQgaGFzIGEgZGF0YSBiaW5kaW5nLlxuICAgIHdoaWxlIChjaGlsZENvdW50LS0pIHtcbiAgICAgIGNvbnN0IGNoaWxkID0gbGF5b3V0RWxlbWVudC5jaGlsZE5vZGVzW2NoaWxkQ291bnRdO1xuXG4gICAgICAvLyAxIGNvcnJlc3BvbmRzIHRvIE5vZGUuRUxFTUVOVF9OT0RFLiBXZSByZW1vdmUgYWxsIG5vbi1lbGVtZW50IG5vZGVzIGluIG9yZGVyIHRvIGdldCByaWRcbiAgICAgIC8vIG9mIGFueSBsb29zZSB0ZXh0IG5vZGVzLCBhcyB3ZWxsIGFzIGFueSBTVkcgZWxlbWVudHMgaW4gb3JkZXIgdG8gcmVtb3ZlIGFueSBvbGQgaWNvbnMuXG4gICAgICBpZiAoY2hpbGQubm9kZVR5cGUgIT09IDEgfHwgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3N2ZycpIHtcbiAgICAgICAgbGF5b3V0RWxlbWVudC5yZW1vdmVDaGlsZChjaGlsZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyBhIG5ldyBTVkcgaWNvbiB3aXRoIGEgcGFydGljdWxhciBuYW1lLlxuICBwcml2YXRlIHVwZGF0ZVN2Z0ljb24oXG4gICAgaWNvbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIGlmIChpY29uTmFtZSkge1xuICAgICAgbGV0IHN2ZyA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldE5hbWVkU3ZnSWNvbihpY29uTmFtZSk7XG4gICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgc3ZnID0gdGhpcy5hZGRUaXRsZVRvU1ZHKHN2ZywgdGl0bGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdmdFbGVtZW50KHN2Zyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRUaXRsZVRvU1ZHKHN2ZzogU1ZHRWxlbWVudCwgdGl0bGU6IHN0cmluZykge1xuICAgIGNvbnN0IHRpdGxlTm9kZSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudChUSVRMRSwgU1ZHX05BTUVTUEFDRSk7XG4gICAgdGl0bGVOb2RlLmlkID0gdGhpcy5fdGl0bGVJZDtcbiAgICBjb25zdCB0aXRsZVRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodGl0bGUpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGl0bGVOb2RlLCB0aXRsZVRleHQpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3ZnLCB0aXRsZU5vZGUpO1xuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVW5pcXVlVGl0bGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlXG4gICAgICA/IGAke3RoaXMudGl0bGV9LSR7TWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMDAwMDAwfWBcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==