@coreui/angular 4.2.4 → 4.2.6

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.
@@ -1,5 +1,6 @@
1
1
  export { BreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';
2
2
  export { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';
3
3
  export { BreadcrumbRouterComponent } from './breadcrumb-router/breadcrumb-router.component';
4
+ export { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.service';
4
5
  export { BreadcrumbModule } from './breadcrumb.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtJztcbmV4cG9ydCB7IEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCB7IEJyZWFkY3J1bWJSb3V0ZXJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWItcm91dGVyL2JyZWFkY3J1bWItcm91dGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAnLi9icmVhZGNydW1iLm1vZHVsZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtJztcclxuZXhwb3J0IHsgQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEJyZWFkY3J1bWJSb3V0ZXJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWItcm91dGVyL2JyZWFkY3J1bWItcm91dGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEJyZWFkY3J1bWJSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9icmVhZGNydW1iLXJvdXRlci9icmVhZGNydW1iLXJvdXRlci5zZXJ2aWNlJztcclxuZXhwb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJy4vYnJlYWRjcnVtYi5tb2R1bGUnO1xyXG4iXX0=
@@ -194,6 +194,7 @@ export class DropdownComponent {
194
194
  !this.direction,
195
195
  [`${this.direction}`]: !!this.direction,
196
196
  [`${this.variant}`]: !!this.variant,
197
+ 'dropup': this.direction === 'dropup' || this.direction === 'dropup-center',
197
198
  show: this.visible
198
199
  };
199
200
  }
@@ -347,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
347
348
  type: HostListener,
348
349
  args: ['click', ['$event']]
349
350
  }] } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsWUFBWSxFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRWpGLDhCQUE4QjtBQUM5QixNQUFNLE9BQWdCLGFBQWE7Q0FBRztBQU90QyxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQ1MsVUFBc0IsRUFDckIsZUFBZ0MsRUFDckIsUUFBd0I7UUFGcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFVN0M7Ozs7V0FJRztRQUNNLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFcEM7OztXQUdHO1FBQ00sVUFBSyxHQUFHLElBQUksQ0FBQztRQWFkLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFqQ3BCLENBQUM7SUFzQko7OztPQUdHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYztRQUN0QixJQUFJLENB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QkF1SXpCLE1BQU07MkJBQUMsUUFBUTtnTEE1SFQsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFGLElBQUk7c0JBRFAsS0FBSztnQkFhRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUYsTUFBTTtzQkFEVCxLQUFLO2dCQWNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBMkNHLE9BQU87c0JBQWYsS0FBSztnQkFRRixPQUFPO3NCQURWLEtBQUs7Z0JBYUksYUFBYTtzQkFBdEIsTUFBTTtnQkFHZ0MsUUFBUTtzQkFBOUMsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBQ0EsS0FBSztzQkFBekMsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBa0IvQixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFjaEIsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU87Z0JBUVosV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY3JlYXRlUG9wcGVyLCBJbnN0YW5jZSwgT3B0aW9ucywgUGxhY2VtZW50IH0gZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xuXG5pbXBvcnQgeyBEcm9wZG93blNlcnZpY2UgfSBmcm9tICcuLi9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7IERyb3Bkb3duTWVudURpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5kaXJlY3RpdmUnO1xuXG4vLyBsaWdodHdlaWdodCBpbmplY3Rpb24gdG9rZW5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEcm9wZG93blRva2VuIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjRHJvcGRvd25Ub2dnbGVdJyxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IERyb3Bkb3duVG9rZW4sIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duQ29tcG9uZW50KX1dLFxuICBleHBvcnRBczogJ2NEcm9wZG93blRvZ2dsZSdcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc3BsaXQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BvcHBlcjogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGRyb3Bkb3duPzogRHJvcGRvd25Ub2tlblxuICApIHt9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHRoZSB0b2dnbGVyLlxuICAgKiBAdHlwZSBEcm9wZG93bkNvbXBvbmVudCB8IHVuZGVmaW5lZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGRyb3Bkb3duQ29tcG9uZW50PzogRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSB0b2dnbGVyLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRW5hYmxlcyBwc2V1ZG8gZWxlbWVudCBjYXJldCBvbiB0b2dnbGVyLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKSBjYXJldCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBzcGxpdCBidXR0b24gZHJvcGRvd25zIHdpdGggdmlydHVhbGx5IHRoZSBzYW1lIG1hcmt1cCBhcyBzaW5nbGUgYnV0dG9uIGRyb3Bkb3ducywgYnV0IHdpdGggdGhlIGFkZGl0aW9uIG9mIGAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0YCBjbGFzcyBmb3IgcHJvcGVyIHNwYWNpbmcgYXJvdW5kIHRoZSBkcm9wZG93biBjYXJldC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNwbGl0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc3BsaXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIGdldCBzcGxpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3BsaXQ7XG4gIH1cbiAgcHJpdmF0ZSBfc3BsaXQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdkcm9wZG93bi10b2dnbGUnOiB0aGlzLmNhcmV0LFxuICAgICAgJ2Ryb3Bkb3duLXRvZ2dsZS1zcGxpdCc6IHRoaXMuc3BsaXQsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICF0aGlzLmRpc2FibGVkICYmIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7IHZpc2libGU6ICd0b2dnbGUnLCBkcm9wZG93bjogdGhpcy5kcm9wZG93biB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgdGhpcy5kcm9wZG93biA9IHRoaXMuZHJvcGRvd25Db21wb25lbnQ7XG4gICAgICB0aGlzLmRyb3Bkb3duU2VydmljZSA9IHRoaXMuZHJvcGRvd25Db21wb25lbnQ/LmRyb3Bkb3duU2VydmljZTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1kcm9wZG93bicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnY0Ryb3Bkb3duJyxcbiAgcHJvdmlkZXJzOiBbRHJvcGRvd25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGFyazogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfdmlzaWJsZTogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBTZXQgYWxpZ25tZW50IG9mIGRyb3Bkb3duIG1lbnUuXG4gICAqIEB0eXBlIHsnc3RhcnQnIHwgJ2VuZCcgfCB7IHhzOiAnc3RhcnQnIHwgJ2VuZCcgfSB8IHsgc206ICdzdGFydCcgfCAnZW5kJyB9IHwgeyBtZDogJ3N0YXJ0JyB8ICdlbmQnIH0gfCB7IGxnOiAnc3RhcnQnIHwgJ2VuZCcgfSB8IHsgeGw6ICdzdGFydCcgfCAnZW5kJ30gfCB7IHh4bDogJ3N0YXJ0JyB8ICdlbmQnfX1cbiAgICovXG4gIEBJbnB1dCgpIGFsaWdubWVudD86IHN0cmluZztcblxuICBASW5wdXQoKSBhdXRvQ2xvc2U6IGJvb2xlYW4gfCAnaW5zaWRlJyB8ICdvdXRzaWRlJyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBkYXJrZXIgY29sb3Igc2NoZW1lIHRvIG1hdGNoIGEgZGFyayBuYXZiYXIuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkYXJrKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGFyayA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG4gIGdldCBkYXJrKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXJrO1xuICB9XG4gIHByaXZhdGUgX2RhcmsgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyBhIHNwZWNpZmllZCAgZGlyZWN0aW9uIGFuZCBsb2NhdGlvbiBvZiB0aGUgZHJvcGRvd24gbWVudS5cbiAgICogQHR5cGUgJ2Ryb3B1cCcgfCAnZHJvcGVuZCcgfCAnZHJvcHN0YXJ0J1xuICAgKi9cbiAgQElucHV0KCkgZGlyZWN0aW9uPzogJ2NlbnRlcicgfCAnZHJvcHVwJyB8ICdkcm9wdXAtY2VudGVyJyB8ICdkcm9wZW5kJyB8ICdkcm9wc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIHBsYWNlbWVudCBvZiB5b3VyIGNvbXBvbmVudCBhZnRlciBQb3BwZXIuanMgaGFzIGFwcGxpZWQgYWxsIHRoZSBtb2RpZmllcnMgdGhhdCBtYXkgaGF2ZSBmbGlwcGVkIG9yIGFsdGVyZWQgdGhlIG9yaWdpbmFsbHkgcHJvdmlkZWQgcGxhY2VtZW50IHByb3BlcnR5LlxuICAgKiBAdHlwZSBQbGFjZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1zdGFydCc7XG5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIGRpc2FibGUgZHluYW1pYyBwb3NpdGlvbmluZyBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBwb3BwZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9wb3BwZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIGdldCBwb3BwZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcHBlcjtcbiAgfVxuICBwcml2YXRlIF9wb3BwZXIgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwb3BwZXIgT3B0aW9ucyBvYmplY3QsIHBsYWNlbWVudCBwcm9wIHRha2VzIHByZWNlZGVuY2Ugb3ZlclxuICAgKiBAdHlwZSBQYXJ0aWFsPE9wdGlvbnM+XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcG9wcGVyT3B0aW9ucyh2YWx1ZTogUGFydGlhbDxPcHRpb25zPikge1xuICAgIHRoaXMuX3BvcHBlck9wdGlvbnMgPSB7IC4uLnRoaXMuX3BvcHBlck9wdGlvbnMsIC4uLnZhbHVlIH07XG4gIH07XG4gIGdldCBwb3BwZXJPcHRpb25zKCk6IFBhcnRpYWw8T3B0aW9ucz4ge1xuICAgIGxldCBwbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdkcm9wdXAnOiB7XG4gICAgICAgIHBsYWNlbWVudCA9ICd0b3Atc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2Ryb3BlbmQnOiB7XG4gICAgICAgIHBsYWNlbWVudCA9ICdyaWdodC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHJvcHN0YXJ0Jzoge1xuICAgICAgICBwbGFjZW1lbnQgPSAnbGVmdC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnY2VudGVyJzoge1xuICAgICAgICBwbGFjZW1lbnQgPSAnYm90dG9tJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdkcm9wdXAtY2VudGVyJzoge1xuICAgICAgICBwbGFjZW1lbnQgPSAndG9wJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmFsaWdubWVudCA9PT0gJ2VuZCcpIHtcbiAgICAgIHBsYWNlbWVudCA9ICdib3R0b20tZW5kJztcbiAgICB9XG4gICAgdGhpcy5fcG9wcGVyT3B0aW9ucyA9IHsgLi4udGhpcy5fcG9wcGVyT3B0aW9ucywgcGxhY2VtZW50OiBwbGFjZW1lbnQgfTtcbiAgICByZXR1cm4gdGhpcy5fcG9wcGVyT3B0aW9ucztcbiAgfVxuICBwcml2YXRlIF9wb3BwZXJPcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+ID0ge1xuICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgbW9kaWZpZXJzOiBbXSxcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJ1xuICB9O1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRyb3Bkb3duIHZhcmlhbnQgdG8gYW4gYnRuLWdyb3VwLCBkcm9wZG93biwgaW5wdXQtZ3JvdXAsIGFuZCBuYXYtaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIHZhcmlhbnQ/OiAnYnRuLWdyb3VwJyB8ICdkcm9wZG93bicgfCAnaW5wdXQtZ3JvdXAnIHwgJ25hdi1pdGVtJyA9ICdkcm9wZG93bic7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBkcm9wZG93biBtZW51IGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBfdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuYWN0aXZlVHJhcCA9IF92YWx1ZTtcbiAgICB0aGlzLl92aXNpYmxlID0gX3ZhbHVlO1xuICAgIF92YWx1ZSA/IHRoaXMuY3JlYXRlUG9wcGVySW5zdGFuY2UoKSA6IHRoaXMuZGVzdHJveVBvcHBlckluc3RhbmNlKCk7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoX3ZhbHVlKTtcbiAgfVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBkcm9wZG93bkNvbnRleHQgPSB7ICRpbXBsaWNpdDogdGhpcy52aXNpYmxlIH07XG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUpIF90b2dnbGVyITogRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25NZW51RGlyZWN0aXZlKSBfbWVudSE6IERyb3Bkb3duTWVudURpcmVjdGl2ZTtcblxuICBwdWJsaWMgYWN0aXZlVHJhcCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwb3BwZXJJbnN0YW5jZSE6IEluc3RhbmNlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGxpc3RlbmVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBkcm9wZG93blNlcnZpY2U6IERyb3Bkb3duU2VydmljZVxuICApIHt9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBkcm9wZG93bjpcbiAgICAgICAgKHRoaXMudmFyaWFudCA9PT0gJ2Ryb3Bkb3duJyB8fCB0aGlzLnZhcmlhbnQgPT09ICduYXYtaXRlbScpICYmXG4gICAgICAgICF0aGlzLmRpcmVjdGlvbixcbiAgICAgIFtgJHt0aGlzLmRpcmVjdGlvbn1gXTogISF0aGlzLmRpcmVjdGlvbixcbiAgICAgIFtgJHt0aGlzLnZhcmlhbnR9YF06ICEhdGhpcy52YXJpYW50LFxuICAgICAgc2hvdzogdGhpcy52aXNpYmxlXG4gICAgfTtcbiAgfVxuXG4gIC8vIHRvZG86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKVxuICBnZXQgaG9zdFN0eWxlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PT0gJ2lucHV0LWdyb3VwJyA/IHsgZGlzcGxheTogJ2NvbnRlbnRzJyB9IDoge307XG4gIH1cblxuICBwcml2YXRlIGNsaWNrZWRUYXJnZXQhOiBIVE1MRWxlbWVudDtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25Ib3N0Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja2VkVGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIGRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmRyb3Bkb3duU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gc3RhdGUuZHJvcGRvd24pIHtcbiAgICAgICAgICAgIGlmICgndmlzaWJsZScgaW4gc3RhdGUpIHtcbiAgICAgICAgICAgICAgc3RhdGU/LnZpc2libGUgPT09ICd0b2dnbGUnXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRvZ2dsZURyb3Bkb3duKClcbiAgICAgICAgICAgICAgICA6ICh0aGlzLnZpc2libGUgPSBzdGF0ZS52aXNpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90b2dnbGVyPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0Py5jbG9zZXN0KCdbY0Ryb3Bkb3duVG9nZ2xlXScpKSkge1xuICAgICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnbmF2LWl0ZW0nKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX3RvZ2dsZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbmF2LWxpbmsnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoKTtcbiAgICB0aGlzLnNldFZpc2libGVTdGF0ZSh0aGlzLnZpc2libGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmliZShmYWxzZSk7XG4gICAgdGhpcy5kZXN0cm95UG9wcGVySW5zdGFuY2UoKTtcbiAgfVxuXG4gIHNldFZpc2libGVTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7IHZpc2libGU6IHZhbHVlLCBkcm9wZG93bjogdGhpcyB9KTtcbiAgfVxuXG4gIC8vIHRvZG86IHR1cm4gb2ZmIHBvcHBlciBpbiBuYXZiYXItbmF2XG4gIGNyZWF0ZVBvcHBlckluc3RhbmNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl90b2dnbGVyICYmIHRoaXMuX21lbnUpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gd29ya2Fyb3VuZCBmb3IgcG9wcGVyIHBvc2l0aW9uIGNhbGN1bGF0ZSAoc2VlIGFsc286IGRyb3Bkb3duLW1lbnUuY29tcG9uZW50KVxuICAgICAgICB0aGlzLl9tZW51LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMuX21lbnUuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICBpZiAodGhpcy5wb3BwZXIpIHtcbiAgICAgICAgICB0aGlzLnBvcHBlckluc3RhbmNlID0gY3JlYXRlUG9wcGVyKFxuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLl9tZW51LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHsgLi4udGhpcy5wb3BwZXJPcHRpb25zIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95UG9wcGVySW5zdGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICAgIHRoaXMucG9wcGVySW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnBvcHBlckluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHNldExpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKHRoaXMuX3RvZ2dsZXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmF1dG9DbG9zZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZVN0YXRlKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xpY2tlZFRhcmdldCA9PT0gdGFyZ2V0ICYmIHRoaXMuYXV0b0Nsb3NlID09PSAnaW5zaWRlJykge1xuICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZVN0YXRlKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xpY2tlZFRhcmdldCAhPT0gdGFyZ2V0ICYmIHRoaXMuYXV0b0Nsb3NlID09PSAnb3V0c2lkZScpIHtcbiAgICAgICAgICB0aGlzLnNldFZpc2libGVTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5saXN0ZW5lcnMucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdrZXl1cCcsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLmF1dG9DbG9zZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICB0aGlzLnNldFZpc2libGVTdGF0ZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgodW5MaXN0ZW4pID0+IHtcbiAgICAgIHVuTGlzdGVuKCk7XG4gICAgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMubGlzdGVuZXJzLmZpbGwodW5kZWZpbmVkKTtcbiAgICB0aGlzLmxpc3RlbmVycyA9IFtdO1xuICB9XG59XG4iXX0=
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RSxPQUFPLEVBQUUsWUFBWSxFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRWpGLDhCQUE4QjtBQUM5QixNQUFNLE9BQWdCLGFBQWE7Q0FBRztBQU90QyxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQ1MsVUFBc0IsRUFDckIsZUFBZ0MsRUFDckIsUUFBd0I7UUFGcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFVN0M7Ozs7V0FJRztRQUNNLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFcEM7OztXQUdHO1FBQ00sVUFBSyxHQUFHLElBQUksQ0FBQztRQWFkLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFqQ3BCLENBQUM7SUFzQko7OztPQUdHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYztRQUN0QixJQUFJLENB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aUI7a0JBUDdCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLDJCQUEyQixZQUUzQixXQUFXLGFBQ1YsQ0FBQyxlQUFlLENBQUM7OzBCQXVJekIsTUFBTTsyQkFBQyxRQUFRO2dMQTVIVCxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUYsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFRRixNQUFNO3NCQURULEtBQUs7Z0JBY0YsYUFBYTtzQkFEaEIsS0FBSztnQkEyQ0csT0FBTztzQkFBZixLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFhSSxhQUFhO3NCQUF0QixNQUFNO2dCQUdnQyxRQUFRO3NCQUE5QyxZQUFZO3VCQUFDLHVCQUF1QjtnQkFDQSxLQUFLO3NCQUF6QyxZQUFZO3VCQUFDLHFCQUFxQjtnQkFrQi9CLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQWVoQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTztnQkFRWixXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UsIE9wdGlvbnMsIFBsYWNlbWVudCB9IGZyb20gJ0Bwb3BwZXJqcy9jb3JlJztcclxuXHJcbmltcG9ydCB7IERyb3Bkb3duU2VydmljZSB9IGZyb20gJy4uL2Ryb3Bkb3duLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVEaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlJztcclxuXHJcbi8vIGxpZ2h0d2VpZ2h0IGluamVjdGlvbiB0b2tlblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHJvcGRvd25Ub2tlbiB7fVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY0Ryb3Bkb3duVG9nZ2xlXScsXHJcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IERyb3Bkb3duVG9rZW4sIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duQ29tcG9uZW50KX1dLFxyXG4gIGV4cG9ydEFzOiAnY0Ryb3Bkb3duVG9nZ2xlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NwbGl0OiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BvcHBlcjogQm9vbGVhbklucHV0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBkcm9wZG93blNlcnZpY2U6IERyb3Bkb3duU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkcm9wZG93bj86IERyb3Bkb3duVG9rZW5cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHRoZSB0b2dnbGVyLlxyXG4gICAqIEB0eXBlIERyb3Bkb3duQ29tcG9uZW50IHwgdW5kZWZpbmVkXHJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgZHJvcGRvd25Db21wb25lbnQ/OiBEcm9wZG93bkNvbXBvbmVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogRGlzYWJsZXMgdGhlIHRvZ2dsZXIuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuYWJsZXMgcHNldWRvIGVsZW1lbnQgY2FyZXQgb24gdG9nZ2xlci5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2FyZXQgPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgc3BsaXQgYnV0dG9uIGRyb3Bkb3ducyB3aXRoIHZpcnR1YWxseSB0aGUgc2FtZSBtYXJrdXAgYXMgc2luZ2xlIGJ1dHRvbiBkcm9wZG93bnMsIGJ1dCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdGAgY2xhc3MgZm9yIHByb3BlciBzcGFjaW5nIGFyb3VuZCB0aGUgZHJvcGRvd24gY2FyZXQuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNwbGl0KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zcGxpdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBzcGxpdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zcGxpdDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3BsaXQgPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnZHJvcGRvd24tdG9nZ2xlJzogdGhpcy5jYXJldCxcclxuICAgICAgJ2Ryb3Bkb3duLXRvZ2dsZS1zcGxpdCc6IHRoaXMuc3BsaXQsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmRyb3Bkb3duU2VydmljZS50b2dnbGUoeyB2aXNpYmxlOiAndG9nZ2xlJywgZHJvcGRvd246IHRoaXMuZHJvcGRvd24gfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duID0gdGhpcy5kcm9wZG93bkNvbXBvbmVudDtcclxuICAgICAgdGhpcy5kcm9wZG93blNlcnZpY2UgPSB0aGlzLmRyb3Bkb3duQ29tcG9uZW50Py5kcm9wZG93blNlcnZpY2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcclxuICBleHBvcnRBczogJ2NEcm9wZG93bicsXHJcbiAgcHJvdmlkZXJzOiBbRHJvcGRvd25TZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcblxyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kYXJrOiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGFsaWdubWVudCBvZiBkcm9wZG93biBtZW51LlxyXG4gICAqIEB0eXBlIHsnc3RhcnQnIHwgJ2VuZCcgfCB7IHhzOiAnc3RhcnQnIHwgJ2VuZCcgfSB8IHsgc206ICdzdGFydCcgfCAnZW5kJyB9IHwgeyBtZDogJ3N0YXJ0JyB8ICdlbmQnIH0gfCB7IGxnOiAnc3RhcnQnIHwgJ2VuZCcgfSB8IHsgeGw6ICdzdGFydCcgfCAnZW5kJ30gfCB7IHh4bDogJ3N0YXJ0JyB8ICdlbmQnfX1cclxuICAgKi9cclxuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9DbG9zZTogYm9vbGVhbiB8ICdpbnNpZGUnIHwgJ291dHNpZGUnID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBhIGRhcmtlciBjb2xvciBzY2hlbWUgdG8gbWF0Y2ggYSBkYXJrIG5hdmJhci5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkYXJrKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kYXJrID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9O1xyXG4gIGdldCBkYXJrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rhcms7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RhcmsgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyBhIHNwZWNpZmllZCAgZGlyZWN0aW9uIGFuZCBsb2NhdGlvbiBvZiB0aGUgZHJvcGRvd24gbWVudS5cclxuICAgKiBAdHlwZSAnZHJvcHVwJyB8ICdkcm9wZW5kJyB8ICdkcm9wc3RhcnQnXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlyZWN0aW9uPzogJ2NlbnRlcicgfCAnZHJvcHVwJyB8ICdkcm9wdXAtY2VudGVyJyB8ICdkcm9wZW5kJyB8ICdkcm9wc3RhcnQnO1xyXG5cclxuICAvKipcclxuICAgKiBEZXNjcmliZXMgdGhlIHBsYWNlbWVudCBvZiB5b3VyIGNvbXBvbmVudCBhZnRlciBQb3BwZXIuanMgaGFzIGFwcGxpZWQgYWxsIHRoZSBtb2RpZmllcnMgdGhhdCBtYXkgaGF2ZSBmbGlwcGVkIG9yIGFsdGVyZWQgdGhlIG9yaWdpbmFsbHkgcHJvdmlkZWQgcGxhY2VtZW50IHByb3BlcnR5LlxyXG4gICAqIEB0eXBlIFBsYWNlbWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1zdGFydCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHlvdSB3YW50IHRvIGRpc2FibGUgZHluYW1pYyBwb3NpdGlvbmluZyBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcG9wcGVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9wb3BwZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgcG9wcGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BvcHBlcjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wcGVyID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgcG9wcGVyIE9wdGlvbnMgb2JqZWN0LCBwbGFjZW1lbnQgcHJvcCB0YWtlcyBwcmVjZWRlbmNlIG92ZXJcclxuICAgKiBAdHlwZSBQYXJ0aWFsPE9wdGlvbnM+XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcG9wcGVyT3B0aW9ucyh2YWx1ZTogUGFydGlhbDxPcHRpb25zPikge1xyXG4gICAgdGhpcy5fcG9wcGVyT3B0aW9ucyA9IHsgLi4udGhpcy5fcG9wcGVyT3B0aW9ucywgLi4udmFsdWUgfTtcclxuICB9O1xyXG4gIGdldCBwb3BwZXJPcHRpb25zKCk6IFBhcnRpYWw8T3B0aW9ucz4ge1xyXG4gICAgbGV0IHBsYWNlbWVudCA9IHRoaXMucGxhY2VtZW50O1xyXG4gICAgc3dpdGNoICh0aGlzLmRpcmVjdGlvbikge1xyXG4gICAgICBjYXNlICdkcm9wdXAnOiB7XHJcbiAgICAgICAgcGxhY2VtZW50ID0gJ3RvcC1zdGFydCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAnZHJvcGVuZCc6IHtcclxuICAgICAgICBwbGFjZW1lbnQgPSAncmlnaHQtc3RhcnQnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgJ2Ryb3BzdGFydCc6IHtcclxuICAgICAgICBwbGFjZW1lbnQgPSAnbGVmdC1zdGFydCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAnY2VudGVyJzoge1xyXG4gICAgICAgIHBsYWNlbWVudCA9ICdib3R0b20nO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgJ2Ryb3B1cC1jZW50ZXInOiB7XHJcbiAgICAgICAgcGxhY2VtZW50ID0gJ3RvcCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFsaWdubWVudCA9PT0gJ2VuZCcpIHtcclxuICAgICAgcGxhY2VtZW50ID0gJ2JvdHRvbS1lbmQnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcG9wcGVyT3B0aW9ucyA9IHsgLi4udGhpcy5fcG9wcGVyT3B0aW9ucywgcGxhY2VtZW50OiBwbGFjZW1lbnQgfTtcclxuICAgIHJldHVybiB0aGlzLl9wb3BwZXJPcHRpb25zO1xyXG4gIH1cclxuICBwcml2YXRlIF9wb3BwZXJPcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+ID0ge1xyXG4gICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcclxuICAgIG1vZGlmaWVyczogW10sXHJcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJ1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgZHJvcGRvd24gdmFyaWFudCB0byBhbiBidG4tZ3JvdXAsIGRyb3Bkb3duLCBpbnB1dC1ncm91cCwgYW5kIG5hdi1pdGVtLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ/OiAnYnRuLWdyb3VwJyB8ICdkcm9wZG93bicgfCAnaW5wdXQtZ3JvdXAnIHwgJ25hdi1pdGVtJyA9ICdkcm9wZG93bic7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBkcm9wZG93biBtZW51IGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBfdmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5hY3RpdmVUcmFwID0gX3ZhbHVlO1xyXG4gICAgdGhpcy5fdmlzaWJsZSA9IF92YWx1ZTtcclxuICAgIF92YWx1ZSA/IHRoaXMuY3JlYXRlUG9wcGVySW5zdGFuY2UoKSA6IHRoaXMuZGVzdHJveVBvcHBlckluc3RhbmNlKCk7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChfdmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGRyb3Bkb3duQ29udGV4dCA9IHsgJGltcGxpY2l0OiB0aGlzLnZpc2libGUgfTtcclxuICBAQ29udGVudENoaWxkKERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlKSBfdG9nZ2xlciE6IERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlO1xyXG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25NZW51RGlyZWN0aXZlKSBfbWVudSE6IERyb3Bkb3duTWVudURpcmVjdGl2ZTtcclxuXHJcbiAgcHVibGljIGFjdGl2ZVRyYXAgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBkcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcG9wcGVySW5zdGFuY2UhOiBJbnN0YW5jZSB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIGxpc3RlbmVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZHJvcGRvd246XHJcbiAgICAgICAgKHRoaXMudmFyaWFudCA9PT0gJ2Ryb3Bkb3duJyB8fCB0aGlzLnZhcmlhbnQgPT09ICduYXYtaXRlbScpICYmXHJcbiAgICAgICAgIXRoaXMuZGlyZWN0aW9uLFxyXG4gICAgICBbYCR7dGhpcy5kaXJlY3Rpb259YF06ICEhdGhpcy5kaXJlY3Rpb24sXHJcbiAgICAgIFtgJHt0aGlzLnZhcmlhbnR9YF06ICEhdGhpcy52YXJpYW50LFxyXG4gICAgICAnZHJvcHVwJyA6IHRoaXMuZGlyZWN0aW9uID09PSAnZHJvcHVwJyB8fCB0aGlzLmRpcmVjdGlvbiA9PT0gJ2Ryb3B1cC1jZW50ZXInLFxyXG4gICAgICBzaG93OiB0aGlzLnZpc2libGVcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyB0b2RvOiBmaW5kIGJldHRlciBzb2x1dGlvblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKVxyXG4gIGdldCBob3N0U3R5bGUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnZhcmlhbnQgPT09ICdpbnB1dC1ncm91cCcgPyB7IGRpc3BsYXk6ICdjb250ZW50cycgfSA6IHt9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGlja2VkVGFyZ2V0ITogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBwcml2YXRlIG9uSG9zdENsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGlja2VkVGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIGRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgaWYgKHN1YnNjcmliZSkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24gPVxyXG4gICAgICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmRyb3Bkb3duU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzID09PSBzdGF0ZS5kcm9wZG93bikge1xyXG4gICAgICAgICAgICBpZiAoJ3Zpc2libGUnIGluIHN0YXRlKSB7XHJcbiAgICAgICAgICAgICAgc3RhdGU/LnZpc2libGUgPT09ICd0b2dnbGUnXHJcbiAgICAgICAgICAgICAgICA/IHRoaXMudG9nZ2xlRHJvcGRvd24oKVxyXG4gICAgICAgICAgICAgICAgOiAodGhpcy52aXNpYmxlID0gc3RhdGUudmlzaWJsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3RvZ2dsZXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQ/LmNsb3Nlc3QoJ1tjRHJvcGRvd25Ub2dnbGVdJykpKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICduYXYtaXRlbScpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl90b2dnbGVyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ25hdi1saW5rJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXRWaXNpYmxlU3RhdGUodGhpcy52aXNpYmxlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xyXG4gICAgdGhpcy5kcm9wZG93blN0YXRlU3Vic2NyaWJlKGZhbHNlKTtcclxuICAgIHRoaXMuZGVzdHJveVBvcHBlckluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWaXNpYmxlU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7IHZpc2libGU6IHZhbHVlLCBkcm9wZG93bjogdGhpcyB9KTtcclxuICB9XHJcblxyXG4gIC8vIHRvZG86IHR1cm4gb2ZmIHBvcHBlciBpbiBuYXZiYXItbmF2XHJcbiAgY3JlYXRlUG9wcGVySW5zdGFuY2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdG9nZ2xlciAmJiB0aGlzLl9tZW51KSB7XHJcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAvLyB3b3JrYXJvdW5kIGZvciBwb3BwZXIgcG9zaXRpb24gY2FsY3VsYXRlIChzZWUgYWxzbzogZHJvcGRvd24tbWVudS5jb21wb25lbnQpXHJcbiAgICAgICAgdGhpcy5fbWVudS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIHRoaXMuX21lbnUuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gICAgICAgIGlmICh0aGlzLnBvcHBlcikge1xyXG4gICAgICAgICAgdGhpcy5wb3BwZXJJbnN0YW5jZSA9IGNyZWF0ZVBvcHBlcihcclxuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuX21lbnUuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB7IC4uLnRoaXMucG9wcGVyT3B0aW9ucyB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRMaXN0ZW5lcnMoKTtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3BwZXJJbnN0YW5jZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJMaXN0ZW5lcnMoKTtcclxuICAgIHRoaXMucG9wcGVySW5zdGFuY2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMucG9wcGVySW5zdGFuY2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKFxyXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnY2xpY2snLCAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RvZ2dsZXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmF1dG9DbG9zZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWaXNpYmxlU3RhdGUoZmFsc2UpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jbGlja2VkVGFyZ2V0ID09PSB0YXJnZXQgJiYgdGhpcy5hdXRvQ2xvc2UgPT09ICdpbnNpZGUnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZpc2libGVTdGF0ZShmYWxzZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNsaWNrZWRUYXJnZXQgIT09IHRhcmdldCAmJiB0aGlzLmF1dG9DbG9zZSA9PT0gJ291dHNpZGUnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZpc2libGVTdGF0ZShmYWxzZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMubGlzdGVuZXJzLnB1c2goXHJcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdrZXl1cCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMuYXV0b0Nsb3NlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWaXNpYmxlU3RhdGUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyTGlzdGVuZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgodW5MaXN0ZW4pID0+IHtcclxuICAgICAgdW5MaXN0ZW4oKTtcclxuICAgIH0pO1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgdGhpcy5saXN0ZW5lcnMuZmlsbCh1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5saXN0ZW5lcnMgPSBbXTtcclxuICB9XHJcbn1cclxuIl19
@@ -298,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
298
298
  type: HostListener,
299
299
  args: ['click', ['$event']]
300
300
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBeUJqRixNQUFNLE9BQU8sY0FBYztJQUt6QixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixXQUF1QixFQUN2QixZQUEwQixFQUMxQixlQUFnQztRQUpkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHMUM7Ozs7V0FJRztRQUNNLGNBQVMsR0FBc0IsS0FBSyxDQUFDO1FBQzlDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQXVCLElBQUks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S0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNNkIsSUFBSTtzQkFBdEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxXQUFXO2dCQU1RLFNBQVM7c0JBQWpELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU9uQyxVQUFVO3NCQURiLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFvQkksYUFBYTtzQkFBdEIsTUFBTTtnQkFFaUQsWUFBWTtzQkFBbkUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTWxELFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVVoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQXVCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVUzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWTFDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNyQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU05QixjQUFjO3NCQURwQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhY2tkcm9wU2VydmljZSB9IGZyb20gJy4uLy4uL2JhY2tkcm9wL2JhY2tkcm9wLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbW9kYWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPD0+IConLCBbYW5pbWF0ZSgnMzAwbXMnKV0pXG4gICAgXSlcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjTW9kYWwnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zY3JvbGxhYmxlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV92aXNpYmxlOiBCb29sZWFuSW5wdXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogQmFja2Ryb3BTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIEFsaWduIHRoZSBtb2RhbCBpbiB0aGUgY2VudGVyIG9yIHRvcCBvZiB0aGUgc2NyZWVuLlxuICAgKiBAdHlwZSB7J3RvcCcgfCAnY2VudGVyJ31cbiAgICogQGRlZmF1bHQgJ3RvcCdcbiAgICovXG4gIEBJbnB1dCgpIGFsaWdubWVudD86ICd0b3AnIHwgJ2NlbnRlcicgPSAndG9wJztcbiAgLyoqXG4gICAqIEFwcGx5IGEgYmFja2Ryb3Agb24gYm9keSB3aGlsZSBtb2RhbCBpcyBvcGVuLlxuICAgKiBAdHlwZSBib29sZWFuIHwgJ3N0YXRpYydcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgYmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyA9IHRydWU7XG4gIC8qKlxuICAgKiBTZXQgbW9kYWwgdG8gY292ZXIgdGhlIGVudGlyZSB1c2VyIHZpZXdwb3J0LlxuICAgKiBAdHlwZSB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBmdWxsc2NyZWVuPzogYm9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJztcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xuICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCwgbGFyZ2UsIG9yIGV4dHJhIGxhcmdlLlxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcbiAgLyoqXG4gICAqIFJlbW92ZSBhbmltYXRpb24gdG8gY3JlYXRlIG1vZGFsIHRoYXQgc2ltcGx5IGFwcGVhciByYXRoZXIgdGhhbiBmYWRlIGluIHRvIHZpZXcuXG4gICAqL1xuICBASW5wdXQoKSB0cmFuc2l0aW9uID0gdHJ1ZTtcbiAgLyoqXG4gICAqIERlZmF1bHQgcm9sZSBmb3IgbW9kYWwuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuICAvKipcbiAgICogU2V0IGFyaWEtbW9kYWwgaHRtbCBhdHRyIGZvciBtb2RhbC4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBzY3JvbGxhYmxlIG1vZGFsIHRoYXQgYWxsb3dzIHNjcm9sbGluZyB0aGUgbW9kYWwgYm9keS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNjcm9sbGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zY3JvbGxhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzY3JvbGxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zY3JvbGxhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2Nyb2xsYWJsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgbW9kYWwgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5fdmlzaWJsZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuX3Zpc2libGUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuc2V0QmFja2Ryb3AodGhpcy5iYWNrZHJvcCAhPT0gZmFsc2UgJiYgbmV3VmFsdWUpO1xuICAgICAgdGhpcy5zZXRCb2R5U3R5bGVzKG5ld1ZhbHVlKTtcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgX3Zpc2libGUhOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFdmVudCB0cmlnZ2VyZWQgb24gbW9kYWwgZGlzbWlzcy5cbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoTW9kYWxDb250ZW50Q29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbW9kYWxDb250ZW50ITogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBhY3RpdmVCYWNrZHJvcCE6IGFueTtcbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpbkJvdW5kaW5nQ2xpZW50UmVjdCE6IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgIGZhZGU6IHRoaXMudHJhbnNpdGlvbixcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCB0YWJJbmRleCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gJy0xJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnQHNob3dIaWRlJylcbiAgZ2V0IGFuaW1hdGVUcmlnZ2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nO1xuICB9XG5cbiAgZ2V0IHNob3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSAmJiB0aGlzLl9zaG93O1xuICB9XG5cbiAgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9zaG93ID0gdHJ1ZTtcblxuICBwcml2YXRlIGdldCBzY3JvbGxiYXJXaWR0aCgpIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2luZG93L2lubmVyV2lkdGgjdXNhZ2Vfbm90ZXNcbiAgICBjb25zdCBkb2N1bWVudFdpZHRoID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBNYXRoLmFicygod2luZG93Py5pbm5lcldpZHRoID8/IGRvY3VtZW50V2lkdGgpIC0gZG9jdW1lbnRXaWR0aCk7XG4gICAgcmV0dXJuIGAke3Njcm9sbGJhcldpZHRofXB4YDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaG93SGlkZS5zdGFydCcsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVTdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBjb25zdCBzY3JvbGxiYXJXaWR0aCA9IHRoaXMuc2Nyb2xsYmFyV2lkdGg7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZy1yaWdodCcsIHNjcm9sbGJhcldpZHRoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgICB9XG4gICAgICB0aGlzLnNob3cgPSB0aGlzLnZpc2libGU7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbW91c2VEb3duVGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlRG93bkhhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZURvd25UYXJnZXQgPSAkZXZlbnQudGFyZ2V0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25DbGlja0hhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLm1vdXNlRG93blRhcmdldCAhPT0gJGV2ZW50LnRhcmdldCkge1xuICAgICAgdGhpcy5tb3VzZURvd25UYXJnZXQgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGljQmFja2Ryb3AoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsU3RhdGUkLnN1YnNjcmliZShcbiAgICAgICAgKGFjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0aGlzID09PSBhY3Rpb24ubW9kYWwgfHwgdGhpcy5pZCA9PT0gYWN0aW9uLmlkKSB7XG4gICAgICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBhY3Rpb24/LnNob3cgPT09ICd0b2dnbGUnID8gIXRoaXMudmlzaWJsZSA6IGFjdGlvbi5zaG93O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc2V0QmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuYWN0aXZlQmFja2Ryb3AgPSB0aGlzLmJhY2tkcm9wU2VydmljZS5zZXRCYWNrZHJvcCgnbW9kYWwnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3RpdmVCYWNrZHJvcCA9IHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmNsZWFyQmFja2Ryb3AodGhpcy5hY3RpdmVCYWNrZHJvcCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRCb2R5U3R5bGVzKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAob3Blbikge1xuICAgICAgaWYgKHRoaXMuYmFja2Ryb3AgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdtb2RhbC1vcGVuJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U3RhdGljQmFja2Ryb3AoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJhbnNpdGlvbikge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdtb2RhbC1zdGF0aWMnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cteScsICdoaWRkZW4nKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ21vZGFsLXN0YXRpYycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93LXknKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfVxuICB9XG59XG4iLCI8Yy1tb2RhbC1kaWFsb2dcbiAgW2FsaWdubWVudF09XCJhbGlnbm1lbnRcIlxuICBbZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCJcbiAgW3Njcm9sbGFibGVdPVwic2Nyb2xsYWJsZVwiXG4gIFtzaXplXT1cInNpemVcIj5cbiAgPGMtbW9kYWwtY29udGVudD5cbiAgICA8ZGl2IFtjZGtUcmFwRm9jdXNdPVwidmlzaWJsZVwiIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ2aXNpYmxlXCIgc3R5bGU9XCJkaXNwbGF5OiBjb250ZW50cztcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9jLW1vZGFsLWNvbnRlbnQ+XG48L2MtbW9kYWwtZGlhbG9nPlxuIl19
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakcsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBeUJqRixNQUFNLE9BQU8sY0FBYztJQUt6QixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixXQUF1QixFQUN2QixZQUEwQixFQUMxQixlQUFnQztRQUpkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHMUM7Ozs7V0FJRztRQUNNLGNBQVMsR0FBc0IsS0FBSyxDQUFDO1FBQzlDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQXVCLElBQUksQ0FBQztRQU83Qzs7OztXQUlHO1FBQ00sYUFBUSxHQUFHLElBQUksQ0FBQztRQU16Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0I7Ozs7V0FJRztRQUNnQyxTQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ25EOzs7O1dBSUc7UUFDc0MsY0FBUyxHQUFHLElBQUksQ0FBQztRQWVsRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQXVCNUI7O1dBRUc7UUFDTyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUF1QzlDLFVBQUssR0FBRyxJQUFJLENBQUM7UUF3Q2Isb0JBQWUsR0FBdUIsSUFBSSxDQUFDO0lBdEsvQyxDQUFDO0lBZ0RMOzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxRQUFRLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBY0QsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUFBLENBQUM7SUFFRixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUlELElBQVksY0FBYztRQUN4QixpRkFBaUY7UUFDakYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLGFBQWEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sR0FBRyxjQUFjLElBQUksQ0FBQztJQUMvQixDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQXFCO1FBQ2hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQzdFO0lBQ0gsQ0FBQztJQUdELFdBQVcsQ0FBQyxLQUFxQjtRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELGdCQUFnQixDQUFDLEtBQW9CO1FBQ25DLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN4RDtTQUNGO0lBQ0gsQ0FBQztJQUtNLGtCQUFrQixDQUFDLE1BQWtCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0lBR00sY0FBYyxDQUFDLE1BQWtCO1FBQ3RDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsWUFBcUIsSUFBSTtRQUNwRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ3BFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1QsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUU7b0JBQ2xELElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTt3QkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO3FCQUN4RTtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO3FCQUN0QjtpQkFDRjtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsV0FBb0I7UUFDdEMsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pFO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUNqQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQzFEO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9FLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzs7MkdBOVBVLGNBQWMsa0JBTWYsUUFBUTsrRkFOUCxjQUFjLDh6QkFvR2QscUJBQXFCLDJCQUFVLFVBQVUsbURDbEp0RCxzVkFXQSx3YURjYztRQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDbEIsS0FBSyxDQUNILFNBQVMsRUFDVCxLQUFLLENBQUM7Z0JBQ0osT0FBTyxFQUFFLE9BQU87YUFDakIsQ0FBQyxDQUNIO1lBQ0QsS0FBSyxDQUNILFFBQVEsRUFDUixLQUFLLENBQUM7Z0JBQ0osT0FBTyxFQUFFLE1BQU07YUFDaEIsQ0FBQyxDQUNIO1lBQ0QsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ2hELENBQUM7S0FDSDsyRkFLVSxjQUFjO2tCQXZCMUIsU0FBUzsrQkFDRSxTQUFTLGNBQ1A7d0JBQ1YsT0FBTyxDQUFDLFVBQVUsRUFBRTs0QkFDbEIsS0FBSyxDQUNILFNBQVMsRUFDVCxLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLE9BQU87NkJBQ2pCLENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsTUFBTTs2QkFDaEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzt5QkFDaEQsQ0FBQztxQkFDSCxZQUdTLFFBQVE7OzBCQVFmLE1BQU07MkJBQUMsUUFBUTtzSkFZVCxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNNkIsSUFBSTtzQkFBdEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxXQUFXO2dCQU1RLFNBQVM7c0JBQWpELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU9uQyxVQUFVO3NCQURiLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFvQkksYUFBYTtzQkFBdEIsTUFBTTtnQkFFaUQsWUFBWTtzQkFBbkUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBTWxELFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVVoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQXVCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVUzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWTFDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNyQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU05QixjQUFjO3NCQURwQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYWNrZHJvcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYWNrZHJvcC9iYWNrZHJvcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtbW9kYWwnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dIaWRlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAndmlzaWJsZScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICdoaWRkZW4nLFxyXG4gICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPD0+IConLCBbYW5pbWF0ZSgnMzAwbXMnKV0pXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGV4cG9ydEFzOiAnY01vZGFsJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zY3JvbGxhYmxlOiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Zpc2libGU6IEJvb2xlYW5JbnB1dDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsaWduIHRoZSBtb2RhbCBpbiB0aGUgY2VudGVyIG9yIHRvcCBvZiB0aGUgc2NyZWVuLlxyXG4gICAqIEB0eXBlIHsndG9wJyB8ICdjZW50ZXInfVxyXG4gICAqIEBkZWZhdWx0ICd0b3AnXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWxpZ25tZW50PzogJ3RvcCcgfCAnY2VudGVyJyA9ICd0b3AnO1xyXG4gIC8qKlxyXG4gICAqIEFwcGx5IGEgYmFja2Ryb3Agb24gYm9keSB3aGlsZSBtb2RhbCBpcyBvcGVuLlxyXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBTZXQgbW9kYWwgdG8gY292ZXIgdGhlIGVudGlyZSB1c2VyIHZpZXdwb3J0LlxyXG4gICAqIEB0eXBlIHtib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnfVxyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZ1bGxzY3JlZW4/OiBib29sZWFuIHwgJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyB8ICd4eGwnO1xyXG4gIC8qKlxyXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBrZXlib2FyZCA9IHRydWU7XHJcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcclxuICAvKipcclxuICAgKiBSZW1vdmUgYW5pbWF0aW9uIHRvIGNyZWF0ZSBtb2RhbCB0aGF0IHNpbXBseSBhcHBlYXIgcmF0aGVyIHRoYW4gZmFkZSBpbiB0byB2aWV3LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRyYW5zaXRpb24gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgcm9sZSBmb3IgbW9kYWwuIFtkb2NzXVxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqIEBkZWZhdWx0ICdkaWFsb2cnXHJcbiAgICovXHJcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2RpYWxvZyc7XHJcbiAgLyoqXHJcbiAgICogU2V0IGFyaWEtbW9kYWwgaHRtbCBhdHRyIGZvciBtb2RhbC4gW2RvY3NdXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1tb2RhbCcpIGFyaWFNb2RhbCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHNjcm9sbGFibGUgbW9kYWwgdGhhdCBhbGxvd3Mgc2Nyb2xsaW5nIHRoZSBtb2RhbCBib2R5LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzY3JvbGxhYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zY3JvbGxhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBzY3JvbGxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBtb2RhbCBjb21wb25lbnQuXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIGlmICh0aGlzLl92aXNpYmxlICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICB0aGlzLl92aXNpYmxlID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0QmFja2Ryb3AodGhpcy5iYWNrZHJvcCAhPT0gZmFsc2UgJiYgbmV3VmFsdWUpO1xyXG4gICAgICB0aGlzLnNldEJvZHlTdHlsZXMobmV3VmFsdWUpO1xyXG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdmlzaWJsZSE6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IHRyaWdnZXJlZCBvbiBtb2RhbCBkaXNtaXNzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAVmlld0NoaWxkKE1vZGFsQ29udGVudENvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIG1vZGFsQ29udGVudCE6IEVsZW1lbnRSZWY7XHJcbiAgcHJpdmF0ZSBhY3RpdmVCYWNrZHJvcCE6IGFueTtcclxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgaW5Cb3VuZGluZ0NsaWVudFJlY3QhOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1vZGFsOiB0cnVlLFxyXG4gICAgICBmYWRlOiB0aGlzLnRyYW5zaXRpb24sXHJcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXHJcbiAgZ2V0IGFyaWFIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xyXG4gIH07XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXHJcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuICctMSc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXHJcbiAgZ2V0IGFuaW1hdGVUcmlnZ2VyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnZpc2libGUgJiYgdGhpcy5fc2hvdztcclxuICB9XHJcblxyXG4gIHNldCBzaG93KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93ID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgc2Nyb2xsYmFyV2lkdGgoKSB7XHJcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2luZG93L2lubmVyV2lkdGgjdXNhZ2Vfbm90ZXNcclxuICAgIGNvbnN0IGRvY3VtZW50V2lkdGggPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gTWF0aC5hYnMoKHdpbmRvdz8uaW5uZXJXaWR0aCA/PyBkb2N1bWVudFdpZHRoKSAtIGRvY3VtZW50V2lkdGgpO1xyXG4gICAgcmV0dXJuIGAke3Njcm9sbGJhcldpZHRofXB4YDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaG93SGlkZS5zdGFydCcsIFsnJGV2ZW50J10pXHJcbiAgYW5pbWF0ZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG4gICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLnNjcm9sbGJhcldpZHRoO1xyXG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmctcmlnaHQnLCBzY3JvbGxiYXJXaWR0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXHJcbiAgYW5pbWF0ZURvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZy1yaWdodCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2hvdyA9IHRoaXMudmlzaWJsZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5rZXlib2FyZCAmJiB0aGlzLnZpc2libGUpIHtcclxuICAgICAgaWYgKHRoaXMuYmFja2Ryb3AgPT09ICdzdGF0aWMnKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBtb2RhbDogdGhpcyB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3VzZURvd25UYXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uTW91c2VEb3duSGFuZGxlcigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMubW91c2VEb3duVGFyZ2V0ID0gJGV2ZW50LnRhcmdldDtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25DbGlja0hhbmRsZXIoJGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5tb3VzZURvd25UYXJnZXQgIT09ICRldmVudC50YXJnZXQpIHtcclxuICAgICAgdGhpcy5tb3VzZURvd25UYXJnZXQgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0aWNCYWNrZHJvcCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgbW9kYWw6IHRoaXMgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIG1vZGFsOiB0aGlzIH0pO1xyXG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmIChzdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsU3RhdGUkLnN1YnNjcmliZShcclxuICAgICAgICAoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm1vZGFsIHx8IHRoaXMuaWQgPT09IGFjdGlvbi5pZCkge1xyXG4gICAgICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xyXG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGFjdGlvbj8uc2hvdyA9PT0gJ3RvZ2dsZScgPyAhdGhpcy52aXNpYmxlIDogYWN0aW9uLnNob3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChzZXRCYWNrZHJvcCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ21vZGFsJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLmFjdGl2ZUJhY2tkcm9wKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Qm9keVN0eWxlcyhvcGVuOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAob3Blbikge1xyXG4gICAgICBpZiAodGhpcy5iYWNrZHJvcCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnbW9kYWwtb3BlbicpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ21vZGFsLW9wZW4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U3RhdGljQmFja2Ryb3AoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnbW9kYWwtc3RhdGljJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnb3ZlcmZsb3cteScsICdoaWRkZW4nKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdtb2RhbC1zdGF0aWMnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93LXknKTtcclxuICAgICAgfSwgMzAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGMtbW9kYWwtZGlhbG9nXG4gIFthbGlnbm1lbnRdPVwiYWxpZ25tZW50XCJcbiAgW2Z1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiXG4gIFtzY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxuICBbc2l6ZV09XCJzaXplXCI+XG4gIDxjLW1vZGFsLWNvbnRlbnQ+XG4gICAgPGRpdiBbY2RrVHJhcEZvY3VzXT1cInZpc2libGVcIiBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidmlzaWJsZVwiIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvYy1tb2RhbC1jb250ZW50PlxuPC9jLW1vZGFsLWRpYWxvZz5cbiJdfQ==
@@ -2,6 +2,7 @@ import { Component, HostBinding, Input, Optional } from '@angular/core';
2
2
  import { NavigationEnd } from '@angular/router';
3
3
  import { SidebarNavHelper } from './sidebar-nav.service';
4
4
  import { filter } from 'rxjs/operators';
5
+ import { animate, state, style, transition, trigger } from '@angular/animations';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../sidebar/sidebar.component";
7
8
  import * as i2 from "./sidebar-nav.service";
@@ -81,12 +82,13 @@ export class SidebarNavGroupComponent {
81
82
  this.hostElement = hostElement;
82
83
  this.dropdownMode = 'closeInactive';
83
84
  this.navItems = [];
85
+ this.display = { display: 'block' };
84
86
  this.navigationEndObservable = router.events.pipe(filter((event) => event instanceof NavigationEnd));
85
87
  }
86
88
  get hostClasses() {
87
89
  return {
88
90
  'nav-group': true,
89
- show: this.open,
91
+ show: this.open
90
92
  };
91
93
  }
92
94
  ngOnInit() {
@@ -118,12 +120,48 @@ export class SidebarNavGroupComponent {
118
120
  ngOnDestroy() {
119
121
  this.navSubscription.unsubscribe();
120
122
  }
123
+ onAnimationStart($event) {
124
+ setTimeout(() => {
125
+ this.display = { display: 'block' };
126
+ });
127
+ }
128
+ onAnimationDone($event) {
129
+ if ($event.toState === 'closed') {
130
+ setTimeout(() => {
131
+ this.display = null;
132
+ });
133
+ }
134
+ }
121
135
  }
122
136
  SidebarNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i3.Router }, { token: i2.SidebarNavHelper }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
123
- SidebarNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper], ngImport: i0, template: "<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i12.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavComponent, selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "pipe", type: i13.SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: i14.SidebarNavIconPipe, name: "cSidebarNavIcon" }] });
137
+ SidebarNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper], ngImport: i0, template: "<a class=\"nav-link nav-group-toggle\"\n href\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\">\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n (@openClose.start)=\"onAnimationStart($event)\"\n (@openClose.done)=\"onAnimationDone($event)\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i6.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i12.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavComponent, selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "pipe", type: i13.SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: i14.SidebarNavIconPipe, name: "cSidebarNavIcon" }], animations: [
138
+ trigger('openClose', [
139
+ state('open', style({
140
+ height: '*'
141
+ })),
142
+ state('closed', style({
143
+ height: '0px'
144
+ })),
145
+ transition('open <=> closed', [
146
+ animate('.15s ease')
147
+ ])
148
+ ])
149
+ ] });
124
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SidebarNavGroupComponent, decorators: [{
125
151
  type: Component,
126
- args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper], template: "<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
152
+ args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper], animations: [
153
+ trigger('openClose', [
154
+ state('open', style({
155
+ height: '*'
156
+ })),
157
+ state('closed', style({
158
+ height: '0px'
159
+ })),
160
+ transition('open <=> closed', [
161
+ animate('.15s ease')
162
+ ])
163
+ ])
164
+ ], template: "<a class=\"nav-link nav-group-toggle\"\n href\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\">\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n (@openClose.start)=\"onAnimationStart($event)\"\n (@openClose.done)=\"onAnimationDone($event)\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
127
165
  }], ctorParameters: function () { return [{ type: i3.Router }, { type: i2.SidebarNavHelper }, { type: i0.ElementRef }]; }, propDecorators: { item: [{
128
166
  type: Input
129
167
  }], dropdownMode: [{
@@ -134,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
134
172
  type: HostBinding,
135
173
  args: ['class']
136
174
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPeEMsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsWUFDcUIsT0FBeUIsRUFDckMsTUFBd0IsRUFDeEIsTUFBYyxFQUNiLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGNBQThCO1FBTG5CLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTVCL0IsYUFBUSxHQUFnQixFQUFFLENB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biAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IElOYXZEYXRhIH0gZnJvbSAnLi9zaWRlYmFyLW5hdic7XHJcbmltcG9ydCB7IFNpZGViYXJOYXZIZWxwZXIgfSBmcm9tICcuL3NpZGViYXItbmF2LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyLW5hdicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLW5hdi5jb21wb25lbnQuc2NzcyddXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJOYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIG5hdkl0ZW1zPzogSU5hdkRhdGFbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRyb3Bkb3duTW9kZT86ICdjbG9zZUluYWN0aXZlJyB8ICdub0FjdGlvbicgfCAnb3BlbkFjdGl2ZScgPSAnY2xvc2VJbmFjdGl2ZSc7XHJcbiAgQElucHV0KCkgZ3JvdXBJdGVtcz86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29tcGFjdD86IGJvb2xlYW47XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ3NpZGViYXItbmF2JzogIXRoaXMuZ3JvdXBJdGVtcyxcclxuICAgICAgY29tcGFjdDogIXRoaXMuZ3JvdXBJdGVtcyAmJiAhIXRoaXMuY29tcGFjdFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubmF2LWdyb3VwLWl0ZW1zJylcclxuICBnZXQgc2lkZWJhck5hdkdyb3VwSXRlbXNDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuZ3JvdXBJdGVtcztcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICduYXYnO1xyXG5cclxuICBwdWJsaWMgbmF2SXRlbXNBcnJheTogSU5hdkRhdGFbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBzaWRlYmFyOiBTaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgcHVibGljIGhlbHBlcjogU2lkZWJhck5hdkhlbHBlcixcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLm5hdkl0ZW1zQXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMubmF2SXRlbXMpID8gdGhpcy5uYXZJdGVtcy5zbGljZSgpIDogW107XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZU1vYmlsZSgpOiB2b2lkIHtcclxuICAgIC8vIHRvZG86IHByb3BlciBzY3JvbGxJbnRvVmlldygpIGFmdGVyIE5hdmlnYXRpb25FbmRcclxuICAgIGlmICh0aGlzLnNpZGViYXIgJiYgdGhpcy5zaWRlYmFyLnNpZGViYXJTdGF0ZS5tb2JpbGUpIHtcclxuICAgICAgdGhpcy5zaWRlYmFyU2VydmljZS50b2dnbGUoe3RvZ2dsZTogJ3Zpc2libGUnLCBzaWRlYmFyOiB0aGlzLnNpZGViYXJ9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyLW5hdi1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogWyBTaWRlYmFyTmF2SGVscGVyIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGViYXJOYXZHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpdGVtOiBhbnk7XHJcbiAgQElucHV0KCkgZHJvcGRvd25Nb2RlOiAnY2xvc2VJbmFjdGl2ZScgfCAnbm9BY3Rpb24nIHwgJ29wZW5BY3RpdmUnID0gJ2Nsb3NlSW5hY3RpdmUnO1xyXG4gIC8vIEB0cy1pZ25vcmVcclxuICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxyXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ25hdi1ncm91cCc6IHRydWUsXHJcbiAgICAgIHNob3c6IHRoaXMub3BlbixcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyB0b2RvOiBkcm9wZG93bk1vZGVcclxuXHJcbiAgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XHJcbiAgLy8gQHRzLWlnbm9yZVxyXG4gIG5hdlN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvLyBAdHMtaWdub3JlXHJcbiAgcHJpdmF0ZSBvcGVuOiBib29sZWFuO1xyXG4gIHB1YmxpYyBuYXZJdGVtczogSU5hdkRhdGFbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxyXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uRW5kT2JzZXJ2YWJsZSA9IHJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXHJcbiAgICApIGFzIE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLm5hdkl0ZW1zID0gWy4uLnRoaXMuaXRlbS5jaGlsZHJlbl07XHJcblxyXG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24gPSB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcclxuICAgICAgY29uc3Qgc2FtZVBhdGggPSB0aGlzLnNhbWVQYXRoKGV2ZW50LnVybCk7XHJcbiAgICAgIHRoaXMub3Blbkdyb3VwKHNhbWVQYXRoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNhbWVQYXRoKHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkpIHtcclxuICAgICAgdGhpcy5vcGVuR3JvdXAodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYW1lUGF0aCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ2l0ZW06JywgdGhpcy5pdGVtLm5hbWUsIHRoaXMuaXRlbS51cmwsICd1cmw6JywgdXJsKTtcclxuICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMuaXRlbS51cmw/LnNwbGl0KCcvJyk7XHJcbiAgICBjb25zdCB1cmxBcnJheSA9IHVybC5zcGxpdCgnLycpO1xyXG4gICAgcmV0dXJuIGl0ZW1BcnJheT8uZXZlcnkoKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgLy8gY29uc29sZS5sb2codmFsdWUgPT09IHVybEFycmF5W2luZGV4XSwgJ3ZhbHVlOicsIHZhbHVlLCAnaW5kZXg6JywgaW5kZXgsIHVybEFycmF5W2luZGV4XSwgdXJsKTtcclxuICAgICAgcmV0dXJuIHZhbHVlID09PSB1cmxBcnJheVtpbmRleF07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5Hcm91cChvcGVuOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlR3JvdXAoJGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uYXZTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuYXZJdGVtc0FycmF5XCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaGVscGVyLml0ZW1UeXBlKGl0ZW0pXCI+XHJcbiAgICA8Yy1zaWRlYmFyLW5hdi1ncm91cFxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2dyb3VwJ1wiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxyXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlPVwic2hvd1wiXHJcbiAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcclxuICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxyXG4gICAgPlxyXG4gICAgPC9jLXNpZGViYXItbmF2LWdyb3VwPlxyXG4gICAgPGMtc2lkZWJhci1uYXYtZGl2aWRlclxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RpdmlkZXInXCJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXHJcbiAgICAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzID8/IHt9XCI+XHJcbiAgICA8L2Mtc2lkZWJhci1uYXYtZGl2aWRlcj5cclxuICAgIDxjLXNpZGViYXItbmF2LXRpdGxlXHJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkl0ZW1DbGFzc1wiXHJcbiAgICAgIFtjSHRtbEF0dHJdPVwiaXRlbS5hdHRyaWJ1dGVzID8/IHt9XCI+XHJcbiAgICA8L2Mtc2lkZWJhci1uYXYtdGl0bGU+XHJcbiAgICA8Yy1zaWRlYmFyLW5hdi1sYWJlbFxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsJ1wiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIj5cclxuICAgIDwvYy1zaWRlYmFyLW5hdi1sYWJlbD5cclxuICAgIDxuZy1jb250YWluZXJcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidlbXB0eSdcIj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGMtc2lkZWJhci1uYXYtbGlua1xyXG4gICAgICAqbmdTd2l0Y2hEZWZhdWx0XHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxyXG4gICAgICAobGlua0NsaWNrKT1cImhpZGVNb2JpbGUoKVwiXHJcbiAgICA+XHJcbiAgICA8L2Mtc2lkZWJhci1uYXYtbGluaz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIiwiPGEgY2xhc3M9XCJuYXYtbGluayBuYXYtZ3JvdXAtdG9nZ2xlXCJcclxuICAgKGNsaWNrKT1cInRvZ2dsZUdyb3VwKCRldmVudClcIlxyXG4gICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlc1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGUgOyBjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXI+e3sgaXRlbS5uYW1lIH19PC9uZy1jb250YWluZXI+XHJcbiAgPHNwYW4gKm5nSWY9XCJoZWxwZXIuaGFzQmFkZ2UoaXRlbSlcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2UudGV4dCB9fTwvc3Bhbj5cclxuPC9hPlxyXG48Yy1zaWRlYmFyLW5hdlxyXG4gIFtncm91cEl0ZW1zXT1cInRydWVcIlxyXG4gIFtuYXZJdGVtc109XCJuYXZJdGVtc1wiPlxyXG48L2Mtc2lkZWJhci1uYXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZSBsZXQtaXRlbT5cclxuICA8aSAqbmdJZj1cIml0ZW0/Lmljb25cIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCI+PC9pPlxyXG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtPy5pY29uQ29tcG9uZW50XCI+XHJcbiAgICA8c3ZnXHJcbiAgICAgIFtjSWNvbl09XCJpdGVtLmljb25Db21wb25lbnQ/LmNvbnRlbnRcIlxyXG4gICAgICBbbmFtZV09XCJpdGVtLmljb25Db21wb25lbnQ/Lm5hbWVcIlxyXG4gICAgICBbY3VzdG9tQ2xhc3Nlc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCJcclxuICAgID48L3N2Zz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxzcGFuICpuZ0lmPVwiIWl0ZW0/Lmljb24gJiYgIWl0ZW0/Lmljb25Db21wb25lbnRcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCI+PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItbmF2L3NpZGViYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9zaWRlYmFyLW5hdi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPakcsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsWUFDcUIsT0FBeUIsRUFDckMsTUFBd0IsRUFDeEIsTUFBYyxFQUNiLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGNBQThCO1FBTG5CLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixhQUFRLEdBQVIsUUFBUSxD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QUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IElOYXZEYXRhIH0gZnJvbSAnLi9zaWRlYmFyLW5hdic7XG5pbXBvcnQgeyBTaWRlYmFyTmF2SGVscGVyIH0gZnJvbSAnLi9zaWRlYmFyLW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXItbmF2JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci1uYXYuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbmF2SXRlbXM/OiBJTmF2RGF0YVtdID0gW107XG4gIEBJbnB1dCgpIGRyb3Bkb3duTW9kZT86ICdjbG9zZUluYWN0aXZlJyB8ICdub0FjdGlvbicgfCAnb3BlbkFjdGl2ZScgPSAnY2xvc2VJbmFjdGl2ZSc7XG4gIEBJbnB1dCgpIGdyb3VwSXRlbXM/OiBib29sZWFuO1xuICBASW5wdXQoKSBjb21wYWN0PzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdzaWRlYmFyLW5hdic6ICF0aGlzLmdyb3VwSXRlbXMsXG4gICAgICBjb21wYWN0OiAhdGhpcy5ncm91cEl0ZW1zICYmICEhdGhpcy5jb21wYWN0XG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubmF2LWdyb3VwLWl0ZW1zJylcbiAgZ2V0IHNpZGViYXJOYXZHcm91cEl0ZW1zQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5ncm91cEl0ZW1zO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ25hdic7XG5cbiAgcHVibGljIG5hdkl0ZW1zQXJyYXk6IElOYXZEYXRhW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgc2lkZWJhcjogU2lkZWJhckNvbXBvbmVudCxcbiAgICBwdWJsaWMgaGVscGVyOiBTaWRlYmFyTmF2SGVscGVyLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5uYXZJdGVtc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLm5hdkl0ZW1zKSA/IHRoaXMubmF2SXRlbXMuc2xpY2UoKSA6IFtdO1xuICB9XG5cbiAgcHVibGljIGhpZGVNb2JpbGUoKTogdm9pZCB7XG4gICAgLy8gdG9kbzogcHJvcGVyIHNjcm9sbEludG9WaWV3KCkgYWZ0ZXIgTmF2aWdhdGlvbkVuZFxuICAgIGlmICh0aGlzLnNpZGViYXIgJiYgdGhpcy5zaWRlYmFyLnNpZGViYXJTdGF0ZS5tb2JpbGUpIHtcbiAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHsgdG9nZ2xlOiAndmlzaWJsZScsIHNpZGViYXI6IHRoaXMuc2lkZWJhciB9KTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1zaWRlYmFyLW5hdi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLW5hdi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGViYXItbmF2LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NpZGViYXJOYXZIZWxwZXJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJyonXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwcHgnXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4xNXMgZWFzZScpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhck5hdkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpdGVtOiBhbnk7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTW9kZTogJ2Nsb3NlSW5hY3RpdmUnIHwgJ25vQWN0aW9uJyB8ICdvcGVuQWN0aXZlJyA9ICdjbG9zZUluYWN0aXZlJztcbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBzaG93OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ25hdi1ncm91cCc6IHRydWUsXG4gICAgICBzaG93OiB0aGlzLm9wZW5cbiAgICB9O1xuICB9XG5cbiAgLy8gdG9kbzogZHJvcGRvd25Nb2RlXG5cbiAgbmF2aWdhdGlvbkVuZE9ic2VydmFibGU6IE9ic2VydmFibGU8TmF2aWdhdGlvbkVuZD47XG4gIC8vIEB0cy1pZ25vcmVcbiAgbmF2U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgb3BlbjogYm9vbGVhbjtcbiAgcHVibGljIG5hdkl0ZW1zOiBJTmF2RGF0YVtdID0gW107XG4gIHB1YmxpYyBkaXNwbGF5OiBhbnkgPSB7IGRpc3BsYXk6ICdibG9jaycgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyBoZWxwZXI6IFNpZGViYXJOYXZIZWxwZXIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZlxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb25FbmRPYnNlcnZhYmxlID0gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25FbmQ+O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLm5hdkl0ZW1zID0gWy4uLnRoaXMuaXRlbS5jaGlsZHJlbl07XG5cbiAgICB0aGlzLm5hdlN1YnNjcmlwdGlvbiA9IHRoaXMubmF2aWdhdGlvbkVuZE9ic2VydmFibGUuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgY29uc3Qgc2FtZVBhdGggPSB0aGlzLnNhbWVQYXRoKGV2ZW50LnVybCk7XG4gICAgICB0aGlzLm9wZW5Hcm91cChzYW1lUGF0aCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zYW1lUGF0aCh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwpKSB7XG4gICAgICB0aGlzLm9wZW5Hcm91cCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBzYW1lUGF0aCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdpdGVtOicsIHRoaXMuaXRlbS5uYW1lLCB0aGlzLml0ZW0udXJsLCAndXJsOicsIHVybCk7XG4gICAgY29uc3QgaXRlbUFycmF5ID0gdGhpcy5pdGVtLnVybD8uc3BsaXQoJy8nKTtcbiAgICBjb25zdCB1cmxBcnJheSA9IHVybC5zcGxpdCgnLycpO1xuICAgIHJldHVybiBpdGVtQXJyYXk/LmV2ZXJ5KCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyh2YWx1ZSA9PT0gdXJsQXJyYXlbaW5kZXhdLCAndmFsdWU6JywgdmFsdWUsICdpbmRleDonLCBpbmRleCwgdXJsQXJyYXlbaW5kZXhdLCB1cmwpO1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB1cmxBcnJheVtpbmRleF07XG4gICAgfSk7XG4gIH1cblxuICBvcGVuR3JvdXAob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IG9wZW47XG4gIH1cblxuICB0b2dnbGVHcm91cCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hdlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25BbmltYXRpb25TdGFydCgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSB7IGRpc3BsYXk6ICdibG9jaycgfTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQW5pbWF0aW9uRG9uZSgkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50b1N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IG51bGw7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmF2SXRlbXNBcnJheVwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlbHBlci5pdGVtVHlwZShpdGVtKVwiPlxyXG4gICAgPGMtc2lkZWJhci1uYXYtZ3JvdXBcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidncm91cCdcIlxyXG4gICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcclxuICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInNob3dcIlxyXG4gICAgICAjcmxhPVwicm91dGVyTGlua0FjdGl2ZVwiXHJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IHRydWV9XCJcclxuICAgID5cclxuICAgIDwvYy1zaWRlYmFyLW5hdi1ncm91cD5cclxuICAgIDxjLXNpZGViYXItbmF2LWRpdmlkZXJcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkaXZpZGVyJ1wiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxyXG4gICAgICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlcyA/PyB7fVwiPlxyXG4gICAgPC9jLXNpZGViYXItbmF2LWRpdmlkZXI+XHJcbiAgICA8Yy1zaWRlYmFyLW5hdi10aXRsZVxyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJdGVtQ2xhc3NcIlxyXG4gICAgICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlcyA/PyB7fVwiPlxyXG4gICAgPC9jLXNpZGViYXItbmF2LXRpdGxlPlxyXG4gICAgPGMtc2lkZWJhci1uYXYtbGFiZWxcclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidsYWJlbCdcIlxyXG4gICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCI+XHJcbiAgICA8L2Mtc2lkZWJhci1uYXYtbGFiZWw+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCInZW1wdHknXCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxjLXNpZGViYXItbmF2LWxpbmtcclxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxyXG4gICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXRlbSB8IGNTaWRlYmFyTmF2SXRlbUNsYXNzXCJcclxuICAgICAgKGxpbmtDbGljayk9XCJoaWRlTW9iaWxlKClcIlxyXG4gICAgPlxyXG4gICAgPC9jLXNpZGViYXItbmF2LWxpbms+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiIsIjxhIGNsYXNzPVwibmF2LWxpbmsgbmF2LWdyb3VwLXRvZ2dsZVwiXG4gICBocmVmXG4gICAoY2xpY2spPVwidG9nZ2xlR3JvdXAoJGV2ZW50KVwiXG4gICBbY0h0bWxBdHRyXT1cIml0ZW0uYXR0cmlidXRlc1wiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvblRlbXBsYXRlIDsgY29udGV4dDogeyRpbXBsaWNpdDogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lcj57eyBpdGVtLm5hbWUgfX08L25nLWNvbnRhaW5lcj5cbiAgPHNwYW4gKm5nSWY9XCJoZWxwZXIuaGFzQmFkZ2UoaXRlbSlcIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZCYWRnZVwiPnt7IGl0ZW0uYmFkZ2UudGV4dCB9fTwvc3Bhbj5cbjwvYT5cbjxjLXNpZGViYXItbmF2XG4gIFtncm91cEl0ZW1zXT1cInRydWVcIlxuICBbbmF2SXRlbXNdPVwibmF2SXRlbXNcIlxuICBbQG9wZW5DbG9zZV09XCJvcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxuICAoQG9wZW5DbG9zZS5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAoQG9wZW5DbG9zZS5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgW25nU3R5bGVdPVwiZGlzcGxheVwiXG4+XG48L2Mtc2lkZWJhci1uYXY+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlIGxldC1pdGVtPlxuICA8aSAqbmdJZj1cIml0ZW0/Lmljb25cIiBbbmdDbGFzc109XCJpdGVtIHwgY1NpZGViYXJOYXZJY29uXCI+PC9pPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbT8uaWNvbkNvbXBvbmVudFwiPlxuICAgIDxzdmdcbiAgICAgIFtjSWNvbl09XCJpdGVtLmljb25Db21wb25lbnQ/LmNvbnRlbnRcIlxuICAgICAgW25hbWVdPVwiaXRlbS5pY29uQ29tcG9uZW50Py5uYW1lXCJcbiAgICAgIFtjdXN0b21DbGFzc2VzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIlxuICAgID48L3N2Zz5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPHNwYW4gKm5nSWY9XCIhaXRlbT8uaWNvbiAmJiAhaXRlbT8uaWNvbkNvbXBvbmVudFwiIFtuZ0NsYXNzXT1cIml0ZW0gfCBjU2lkZWJhck5hdkljb25cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
144
144
  type: HostBinding,
145
145
  args: ['class']
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJsZS90YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSzVFLE1BQU0sT0FBTyxjQUFjO0lBa0l6QixZQUNVLFFBQW1CLEVBQ25CLFdBQXVCO1FBRHZCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsR3pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFlbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUEyQnBCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFxQmYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQWVmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFnQmpCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFoSEw7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQWdCRDs7O09BR0c7SUFD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QUFDO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7OzJHQXhLVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtpQkFDckI7eUhBY1UsS0FBSztzQkFBYixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxLQUFLO2dCQWdCRixVQUFVO3NCQURiLEtBQUs7Z0JBZUcsT0FBTztzQkFBZixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBZUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFpQkYsY0FBYztzQkFEakIsS0FBSztnQkFpQkYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzLCBDb2xvcnMgfSBmcm9tICcuLi9jb3JldWkudHlwZXMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYm9yZGVyZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JvcmRlcmxlc3M6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hvdmVyOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zbWFsbDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc3RyaXBlZDogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc3RyaXBlZENvbHVtbnM6IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogU2V0IHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAdmFsdWVzICdib3R0b20nIHwgJ21pZGRsZScgfCAndG9wJ1xuICAgKi9cbiAgQElucHV0KCkgYWxpZ24/OiAnYm90dG9tJyB8ICdtaWRkbGUnIHwgJ3RvcCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGJvcmRlciBjb2xvciBvZiB0aGUgY29tcG9uZW50IHRvIG9uZSBvZiBDb3JlVUnigJlzIHRoZW1lZCBjb2xvcnMuXG4gICAqIEB0eXBlIENvbG9yc1xuICAgKi9cbiAgQElucHV0KCkgYm9yZGVyQ29sb3I/OiBDb2xvcnM7XG5cbiAgLyoqXG4gICAqIEFkZCBib3JkZXJzIG9uIGFsbCBzaWRlcyBvZiB0aGUgdGFibGUgYW5kIGNlbGxzLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgYm9yZGVyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ib3JkZXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG5cbiAgZ2V0IGJvcmRlcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9ib3JkZXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2JvcmRlcmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXJzIG9uIGFsbCBzaWRlcyBvZiB0aGUgdGFibGUgYW5kIGNlbGxzLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgYm9yZGVybGVzcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2JvcmRlcmxlc3MgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9O1xuXG4gIGdldCBib3JkZXJsZXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9ib3JkZXJsZXNzO1xuICB9XG5cbiAgcHJpdmF0ZSBfYm9yZGVybGVzcyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBQdXQgdGhlIGA8Y2FwdGlvbj5gIG9uIHRoZSB0b3Agb2YgdGhlIHRhYmxlLlxuICAgKiBAdmFsdWVzICd0b3AnXG4gICAqL1xuICBASW5wdXQoKSBjYXB0aW9uPzogJ3RvcCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbG9yIGNvbnRleHQgb2YgdGhlIGNvbXBvbmVudCB0byBvbmUgb2YgQ29yZVVJ4oCZcyB0aGVtZWQgY29sb3JzLlxuICAgKiBAdHlwZSBDb2xvcnNcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogQ29sb3JzO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYSBob3ZlciBzdGF0ZSBvbiB0YWJsZSByb3dzIHdpdGhpbiB0YWJsZSBib2R5LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgaG92ZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9ob3ZlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG5cbiAgZ2V0IGhvdmVyKCkge1xuICAgIHJldHVybiB0aGlzLl9ob3ZlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE1ha2UgdGFibGUgcmVzcG9uc2l2ZSBhY3Jvc3MgYWxsIHZpZXdwb3J0cyBvciBwaWNrIGEgbWF4aW11bSBicmVha3BvaW50IHdpdGggd2hpY2ggdG8gaGF2ZSBhIHJlc3BvbnNpdmUgdGFibGUgdXAgdG8uXG4gICAqIEB0eXBlOiB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cbiAgICovXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmU/OiBib29sZWFuIHwgT21pdDxCcmVha3BvaW50cywgJ3hzJz47XG5cbiAgLyoqXG4gICAqIE1ha2UgdGFibGUgbW9yZSBjb21wYWN0IGJ5IGN1dHRpbmcgYWxsIGNlbGwgYHBhZGRpbmdgIGluIGhhbGYuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzbWFsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NtYWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfTtcblxuICBnZXQgc21hbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NtYWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfc21hbGwgPSBmYWxzZTtcblxuICAvKipcbiAgICogQWRkIHplYnJhLXN0cmlwaW5nIHRvIGFueSB0YWJsZSByb3cgd2l0aGluIHRoZSB0YWJsZSBib2R5LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc3RyaXBlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3N0cmlwZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9O1xuXG4gIGdldCBzdHJpcGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdHJpcGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RyaXBlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBZGQgemVicmEtc3RyaXBpbmcgdG8gYW55IHRhYmxlIGNvbHVtbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAc2luY2UgNC4yLjRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdHJpcGVkQ29sdW1ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3N0cmlwZWRDb2x1bW5zID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfTtcblxuICBnZXQgc3RyaXBlZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwZWRDb2x1bW5zO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RyaXBlZENvbHVtbnMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFibGU6IHRydWUsXG4gICAgICBbYGFsaWduLSR7dGhpcy5hbGlnbn1gXTogISF0aGlzLmFsaWduLFxuICAgICAgW2BjYXB0aW9uLSR7dGhpcy5jYXB0aW9ufWBdOiAhIXRoaXMuY2FwdGlvbixcbiAgICAgIFtgYm9yZGVyLSR7dGhpcy5ib3JkZXJDb2xvcn1gXTogISF0aGlzLmJvcmRlckNvbG9yLFxuICAgICAgJ3RhYmxlLWJvcmRlcmVkJzogdGhpcy5ib3JkZXJlZCxcbiAgICAgICd0YWJsZS1ib3JkZXJsZXNzJzogdGhpcy5ib3JkZXJsZXNzLFxuICAgICAgW2B0YWJsZS0ke3RoaXMuY29sb3J9YF06ICEhdGhpcy5jb2xvcixcbiAgICAgICd0YWJsZS1ob3Zlcic6IHRoaXMuaG92ZXIsXG4gICAgICAndGFibGUtc20nOiB0aGlzLnNtYWxsLFxuICAgICAgJ3RhYmxlLXN0cmlwZWQnOiB0aGlzLnN0cmlwZWQsXG4gICAgICAndGFibGUtc3RyaXBlZC1jb2x1bW5zJzogdGhpcy5zdHJpcGVkQ29sdW1uc1xuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFJlc3BvbnNpdmVXcmFwcGVyKCk7XG4gIH1cblxuICAvLyB0b2RvXG4gIHNldFJlc3BvbnNpdmVXcmFwcGVyKCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMucmVzcG9uc2l2ZSkge1xuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMucmVzcG9uc2l2ZSA9PT0gdHJ1ZSA/ICd0YWJsZS1yZXNwb25zaXZlJyA6IGB0YWJsZS1yZXNwb25zaXZlLSR7dGhpcy5yZXNwb25zaXZlfWA7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHdyYXBwZXIsIGNsYXNzTmFtZSk7XG4gICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnROb2RlLCB3cmFwcGVyKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudE5vZGUsIHdyYXBwZXIsIG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh3cmFwcGVyLCBuYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJsZS90YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSzVFLE1BQU0sT0FBTyxjQUFjO0lBa0l6QixZQUNVLFFBQW1CLEVBQ25CLFdBQXVCO1FBRHZCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsR3pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFlbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUEyQnBCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFxQmYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQWVmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFnQmpCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBSzVCLENBQUM7SUFoSEw7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQWdCRDs7O09BR0c7SUFD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QUFDO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7OzJHQXhLVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtpQkFDckI7eUhBY1UsS0FBSztzQkFBYixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxLQUFLO2dCQWdCRixVQUFVO3NCQURiLEtBQUs7Z0JBZUcsT0FBTztzQkFBZixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBZUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFpQkYsY0FBYztzQkFEakIsS0FBSztnQkFpQkYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludHMsIENvbG9ycyB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NUYWJsZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JvcmRlcmVkOiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JvcmRlcmxlc3M6IEJvb2xlYW5JbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaG92ZXI6IEJvb2xlYW5JbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc21hbGw6IEJvb2xlYW5JbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc3RyaXBlZDogQm9vbGVhbklucHV0O1xyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zdHJpcGVkQ29sdW1uczogQm9vbGVhbklucHV0O1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIHZlcnRpY2FsIGFsaWdubWVudC5cclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKiBAdmFsdWVzICdib3R0b20nIHwgJ21pZGRsZScgfCAndG9wJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFsaWduPzogJ2JvdHRvbScgfCAnbWlkZGxlJyB8ICd0b3AnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBib3JkZXIgY29sb3Igb2YgdGhlIGNvbXBvbmVudCB0byBvbmUgb2YgQ29yZVVJ4oCZcyB0aGVtZWQgY29sb3JzLlxyXG4gICAqIEB0eXBlIENvbG9yc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yPzogQ29sb3JzO1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgYm9yZGVycyBvbiBhbGwgc2lkZXMgb2YgdGhlIHRhYmxlIGFuZCBjZWxscy5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgYm9yZGVyZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2JvcmRlcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9O1xyXG5cclxuICBnZXQgYm9yZGVyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm9yZGVyZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9ib3JkZXJlZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYm9yZGVycyBvbiBhbGwgc2lkZXMgb2YgdGhlIHRhYmxlIGFuZCBjZWxscy5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgYm9yZGVybGVzcyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYm9yZGVybGVzcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IGJvcmRlcmxlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm9yZGVybGVzcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2JvcmRlcmxlc3MgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUHV0IHRoZSBgPGNhcHRpb24+YCBvbiB0aGUgdG9wIG9mIHRoZSB0YWJsZS5cclxuICAgKiBAdmFsdWVzICd0b3AnXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2FwdGlvbj86ICd0b3AnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cclxuICAgKiBAdHlwZSBDb2xvcnNcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvcj86IENvbG9ycztcclxuXHJcbiAgLyoqXHJcbiAgICogRW5hYmxlIGEgaG92ZXIgc3RhdGUgb24gdGFibGUgcm93cyB3aXRoaW4gdGFibGUgYm9keS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaG92ZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2hvdmVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9O1xyXG5cclxuICBnZXQgaG92ZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faG92ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9ob3ZlciA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBNYWtlIHRhYmxlIHJlc3BvbnNpdmUgYWNyb3NzIGFsbCB2aWV3cG9ydHMgb3IgcGljayBhIG1heGltdW0gYnJlYWtwb2ludCB3aXRoIHdoaWNoIHRvIGhhdmUgYSByZXNwb25zaXZlIHRhYmxlIHVwIHRvLlxyXG4gICAqIEB0eXBlOiB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cclxuICAgKi9cclxuICBASW5wdXQoKSByZXNwb25zaXZlPzogYm9vbGVhbiB8IE9taXQ8QnJlYWtwb2ludHMsICd4cyc+O1xyXG5cclxuICAvKipcclxuICAgKiBNYWtlIHRhYmxlIG1vcmUgY29tcGFjdCBieSBjdXR0aW5nIGFsbCBjZWxsIGBwYWRkaW5nYCBpbiBoYWxmLlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzbWFsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc21hbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIGdldCBzbWFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zbWFsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NtYWxsID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB6ZWJyYS1zdHJpcGluZyB0byBhbnkgdGFibGUgcm93IHdpdGhpbiB0aGUgdGFibGUgYm9keS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc3RyaXBlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc3RyaXBlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHN0cmlwZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3RyaXBlZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N0cmlwZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHplYnJhLXN0cmlwaW5nIHRvIGFueSB0YWJsZSBjb2x1bW4uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBzaW5jZSA0LjIuNFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHN0cmlwZWRDb2x1bW5zKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zdHJpcGVkQ29sdW1ucyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHN0cmlwZWRDb2x1bW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwZWRDb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3RyaXBlZENvbHVtbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0YWJsZTogdHJ1ZSxcclxuICAgICAgW2BhbGlnbi0ke3RoaXMuYWxpZ259YF06ICEhdGhpcy5hbGlnbixcclxuICAgICAgW2BjYXB0aW9uLSR7dGhpcy5jYXB0aW9ufWBdOiAhIXRoaXMuY2FwdGlvbixcclxuICAgICAgW2Bib3JkZXItJHt0aGlzLmJvcmRlckNvbG9yfWBdOiAhIXRoaXMuYm9yZGVyQ29sb3IsXHJcbiAgICAgICd0YWJsZS1ib3JkZXJlZCc6IHRoaXMuYm9yZGVyZWQsXHJcbiAgICAgICd0YWJsZS1ib3JkZXJsZXNzJzogdGhpcy5ib3JkZXJsZXNzLFxyXG4gICAgICBbYHRhYmxlLSR7dGhpcy5jb2xvcn1gXTogISF0aGlzLmNvbG9yLFxyXG4gICAgICAndGFibGUtaG92ZXInOiB0aGlzLmhvdmVyLFxyXG4gICAgICAndGFibGUtc20nOiB0aGlzLnNtYWxsLFxyXG4gICAgICAndGFibGUtc3RyaXBlZCc6IHRoaXMuc3RyaXBlZCxcclxuICAgICAgJ3RhYmxlLXN0cmlwZWQtY29sdW1ucyc6IHRoaXMuc3RyaXBlZENvbHVtbnNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UmVzcG9uc2l2ZVdyYXBwZXIoKTtcclxuICB9XHJcblxyXG4gIC8vIHRvZG9cclxuICBzZXRSZXNwb25zaXZlV3JhcHBlcigpOiB2b2lkIHtcclxuICAgIGlmICghIXRoaXMucmVzcG9uc2l2ZSkge1xyXG4gICAgICBjb25zdCBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3Qgd3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMucmVzcG9uc2l2ZSA9PT0gdHJ1ZSA/ICd0YWJsZS1yZXNwb25zaXZlJyA6IGB0YWJsZS1yZXNwb25zaXZlLSR7dGhpcy5yZXNwb25zaXZlfWA7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mod3JhcHBlciwgY2xhc3NOYW1lKTtcclxuICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZShuYXRpdmVFbGVtZW50KTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChwYXJlbnROb2RlLCB3cmFwcGVyKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgd3JhcHBlciwgbmF0aXZlRWxlbWVudCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQod3JhcHBlciwgbmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2754,6 +2754,7 @@ class DropdownComponent {
2754
2754
  !this.direction,
2755
2755
  [`${this.direction}`]: !!this.direction,
2756
2756
  [`${this.variant}`]: !!this.variant,
2757
+ 'dropup': this.direction === 'dropup' || this.direction === 'dropup-center',
2757
2758
  show: this.visible
2758
2759
  };
2759
2760
  }
@@ -7577,12 +7578,13 @@ class SidebarNavGroupComponent {
7577
7578
  this.hostElement = hostElement;
7578
7579
  this.dropdownMode = 'closeInactive';
7579
7580
  this.navItems = [];
7581
+ this.display = { display: 'block' };
7580
7582
  this.navigationEndObservable = router.events.pipe(filter((event) => event instanceof NavigationEnd));
7581
7583
  }
7582
7584
  get hostClasses() {
7583
7585
  return {
7584
7586
  'nav-group': true,
7585
- show: this.open,
7587
+ show: this.open
7586
7588
  };
7587
7589
  }
7588
7590
  ngOnInit() {
@@ -7615,12 +7617,48 @@ class SidebarNavGroupComponent {
7615
7617
  ngOnDestroy() {
7616
7618
  this.navSubscription.unsubscribe();
7617
7619
  }
7620
+ onAnimationStart($event) {
7621
+ setTimeout(() => {
7622
+ this.display = { display: 'block' };
7623
+ });
7624
+ }
7625
+ onAnimationDone($event) {
7626
+ if ($event.toState === 'closed') {
7627
+ setTimeout(() => {
7628
+ this.display = null;
7629
+ });
7630
+ }
7631
+ }
7618
7632
  }
7619
7633
  SidebarNavGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SidebarNavGroupComponent, deps: [{ token: i3.Router }, { token: SidebarNavHelper }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
7620
- SidebarNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper], ngImport: i0, template: "<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i5.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavComponent, selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }] });
7634
+ SidebarNavGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: SidebarNavGroupComponent, selector: "c-sidebar-nav-group", inputs: { item: "item", dropdownMode: "dropdownMode", show: "show" }, host: { properties: { "class": "this.hostClasses" } }, providers: [SidebarNavHelper], ngImport: i0, template: "<a class=\"nav-link nav-group-toggle\"\n href\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\">\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n (@openClose.start)=\"onAnimationStart($event)\"\n (@openClose.done)=\"onAnimationDone($event)\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i5.IconDirective, selector: "svg[cIcon]", inputs: ["cIcon", "size", "title", "customClasses", "width", "height", "name", "viewBox", "xmlns", "pointer-events", "role"], exportAs: ["cIcon"] }, { kind: "component", type: SidebarNavComponent, selector: "c-sidebar-nav", inputs: ["navItems", "dropdownMode", "groupItems", "compact"] }, { kind: "pipe", type: SidebarNavBadgePipe, name: "cSidebarNavBadge" }, { kind: "pipe", type: SidebarNavIconPipe, name: "cSidebarNavIcon" }], animations: [
7635
+ trigger('openClose', [
7636
+ state('open', style({
7637
+ height: '*'
7638
+ })),
7639
+ state('closed', style({
7640
+ height: '0px'
7641
+ })),
7642
+ transition('open <=> closed', [
7643
+ animate('.15s ease')
7644
+ ])
7645
+ ])
7646
+ ] });
7621
7647
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SidebarNavGroupComponent, decorators: [{
7622
7648
  type: Component,
7623
- args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper], template: "<a class=\"nav-link nav-group-toggle\"\r\n (click)=\"toggleGroup($event)\"\r\n [cHtmlAttr]=\"item.attributes\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\r\n <ng-container>{{ item.name }}</ng-container>\r\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\r\n</a>\r\n<c-sidebar-nav\r\n [groupItems]=\"true\"\r\n [navItems]=\"navItems\">\r\n</c-sidebar-nav>\r\n\r\n<ng-template #iconTemplate let-item>\r\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\r\n <ng-template [ngIf]=\"item?.iconComponent\">\r\n <svg\r\n [cIcon]=\"item.iconComponent?.content\"\r\n [name]=\"item.iconComponent?.name\"\r\n [customClasses]=\"item | cSidebarNavIcon\"\r\n ></svg>\r\n </ng-template>\r\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\r\n</ng-template>\r\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
7649
+ args: [{ selector: 'c-sidebar-nav-group', providers: [SidebarNavHelper], animations: [
7650
+ trigger('openClose', [
7651
+ state('open', style({
7652
+ height: '*'
7653
+ })),
7654
+ state('closed', style({
7655
+ height: '0px'
7656
+ })),
7657
+ transition('open <=> closed', [
7658
+ animate('.15s ease')
7659
+ ])
7660
+ ])
7661
+ ], template: "<a class=\"nav-link nav-group-toggle\"\n href\n (click)=\"toggleGroup($event)\"\n [cHtmlAttr]=\"item.attributes\">\n <ng-container *ngTemplateOutlet=\"iconTemplate ; context: {$implicit: item}\"></ng-container>\n <ng-container>{{ item.name }}</ng-container>\n <span *ngIf=\"helper.hasBadge(item)\" [ngClass]=\"item | cSidebarNavBadge\">{{ item.badge.text }}</span>\n</a>\n<c-sidebar-nav\n [groupItems]=\"true\"\n [navItems]=\"navItems\"\n [@openClose]=\"open ? 'open' : 'closed'\"\n (@openClose.start)=\"onAnimationStart($event)\"\n (@openClose.done)=\"onAnimationDone($event)\"\n [ngStyle]=\"display\"\n>\n</c-sidebar-nav>\n\n<ng-template #iconTemplate let-item>\n <i *ngIf=\"item?.icon\" [ngClass]=\"item | cSidebarNavIcon\"></i>\n <ng-template [ngIf]=\"item?.iconComponent\">\n <svg\n [cIcon]=\"item.iconComponent?.content\"\n [name]=\"item.iconComponent?.name\"\n [customClasses]=\"item | cSidebarNavIcon\"\n ></svg>\n </ng-template>\n <span *ngIf=\"!item?.icon && !item?.iconComponent\" [ngClass]=\"item | cSidebarNavIcon\"></span>\n</ng-template>\n", styles: [".nav-group-toggle{cursor:pointer}.nav-group-items{display:block}\n"] }]
7624
7662
  }], ctorParameters: function () { return [{ type: i3.Router }, { type: SidebarNavHelper }, { type: i0.ElementRef }]; }, propDecorators: { item: [{
7625
7663
  type: Input
7626
7664
  }], dropdownMode: [{
@@ -9683,5 +9721,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImpor
9683
9721
  * Generated bundle index. Do not edit.
9684
9722
  */
9685
9723
 
9686
- export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
9724
+ export { AccordionButtonDirective, AccordionComponent, AccordionItemComponent, AccordionModule, AlertComponent, AlertHeadingDirective, AlertLinkDirective, AlertModule, AlignDirective, AvatarComponent, AvatarModule, BadgeComponent, BadgeModule, BgColorDirective, BorderDirective, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbModule, BreadcrumbRouterComponent, BreadcrumbRouterService, BreakpointInfix, ButtonCloseDirective, ButtonDirective, ButtonGroupComponent, ButtonGroupModule, ButtonModule, ButtonToolbarComponent, CalloutComponent, CalloutModule, CardBodyComponent, CardComponent, CardFooterComponent, CardGroupComponent, CardHeaderActionsComponent, CardHeaderComponent, CardImgDirective, CardImgOverlayComponent, CardLinkDirective, CardModule, CardSubtitleDirective, CardTextDirective, CardTitleDirective, CarouselCaptionComponent, CarouselComponent, CarouselConfig, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, CarouselItemComponent, CarouselModule, ClassToggleService, ColComponent, ColDirective, CollapseDirective, CollapseModule, ContainerComponent, DropdownCloseDirective, DropdownComponent, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, DropdownMenuDirective, DropdownModule, DropdownService, DropdownToggleDirective, FooterComponent, FooterModule, FormCheckComponent, FormCheckInputDirective, FormCheckLabelDirective, FormControlDirective, FormDirective, FormFeedbackComponent, FormFloatingDirective, FormLabelDirective, FormModule, FormSelectDirective, FormTextDirective, GridModule, GutterDirective, HeaderBrandComponent, HeaderComponent, HeaderDividerComponent, HeaderModule, HeaderNavComponent, HeaderTextComponent, HeaderTogglerDirective, HtmlAttributesDirective, ImgDirective, ImgModule, InputGroupComponent, InputGroupTextDirective, IntersectionService, ListGroupDirective, ListGroupItemDirective, ListGroupModule, ModalBodyComponent, ModalComponent, ModalContentComponent, ModalDialogComponent, ModalFooterComponent, ModalHeaderComponent, ModalModule, ModalService, ModalTitleDirective, ModalToggleDirective, NavComponent, NavItemComponent, NavLinkDirective, NavModule, NavbarBrandDirective, NavbarComponent, NavbarModule, NavbarNavComponent, NavbarTextComponent, NavbarTogglerDirective, OffcanvasBodyComponent, OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasModule, OffcanvasService, OffcanvasTitleDirective, OffcanvasToggleDirective, PageItemComponent, PageItemDirective, PageLinkDirective, PaginationComponent, PaginationModule, PlaceholderAnimationDirective, PlaceholderDirective, PlaceholderModule, PopoverComponent, PopoverDirective, PopoverModule, ProgressBarComponent, ProgressComponent, ProgressModule, RoundedDirective, RowComponent, RowDirective, SharedModule, SidebarBrandComponent, SidebarComponent, SidebarFooterComponent, SidebarHeaderComponent, SidebarModule, SidebarNavComponent, SidebarService, SidebarToggleDirective, SidebarTogglerComponent, SpinnerComponent, SpinnerModule, TabContentComponent, TabContentRefDirective, TabPaneComponent, TabService, TableActiveDirective, TableColorDirective, TableDirective, TableModule, TabsModule, TemplateIdDirective, TextColorDirective, ToastBodyComponent, ToastCloseDirective, ToastComponent, ToastHeaderComponent, ToastModule, ToasterComponent, ToasterHostDirective, ToasterPlacement, ToasterService, TooltipComponent, TooltipDirective, TooltipModule, UtilitiesModule, WidgetModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, WidgetStatDComponent, WidgetStatEComponent, WidgetStatFComponent };
9687
9725
  //# sourceMappingURL=coreui-angular.mjs.map