valtech-components 4.0.6 → 4.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/fab/fab.component.mjs +5 -1
  3. package/esm2022/lib/components/atoms/fab/types.mjs +1 -1
  4. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +5 -5
  5. package/esm2022/lib/components/molecules/article-card/article-card.component.mjs +5 -5
  6. package/esm2022/lib/components/molecules/comment/comment.component.mjs +3 -3
  7. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +16 -4
  8. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +25 -5
  9. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +13 -3
  10. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +9 -13
  11. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +17 -5
  12. package/esm2022/lib/components/organisms/auth-cta/auth-cta.component.mjs +3 -3
  13. package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +3 -3
  14. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +5 -5
  15. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +12 -8
  16. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +31 -13
  17. package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
  18. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +73 -17
  19. package/esm2022/lib/version.mjs +2 -2
  20. package/fesm2022/valtech-components.mjs +215 -83
  21. package/fesm2022/valtech-components.mjs.map +1 -1
  22. package/lib/components/atoms/fab/types.d.ts +4 -0
  23. package/lib/version.d.ts +1 -1
  24. package/package.json +1 -1
@@ -40,7 +40,7 @@ export class BoxComponent {
40
40
  }"
41
41
  >
42
42
  @if (props.icon) {
43
- <ion-icon class="icon" [name]="props.icon" (click)="clickHandler()"></ion-icon>
43
+ <ion-icon class="icon" [name]="props.icon" (click)="clickHandler()" aria-hidden="true"></ion-icon>
44
44
  }
45
45
  <div
46
46
  [ngStyle]="{
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
67
67
  }"
68
68
  >
69
69
  @if (props.icon) {
70
- <ion-icon class="icon" [name]="props.icon" (click)="clickHandler()"></ion-icon>
70
+ <ion-icon class="icon" [name]="props.icon" (click)="clickHandler()" aria-hidden="true"></ion-icon>
71
71
  }
72
72
  <div
73
73
  [ngStyle]="{
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
83
83
  }], onClick: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBaUM3RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQTNDekI7UUF5REU7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUs5QjtJQUhDLFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBdEJVLFlBQVk7bUdBQVosWUFBWSxnSUF2Q2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJULG8wR0F4QlMsWUFBWSxvSEFBRSxPQUFPLHlMQUFFLE9BQU87OzRGQXdDN0IsWUFBWTtrQkEzQ3hCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7OEJBNEJELEtBQUs7c0JBREosS0FBSztnQkFPTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkNhcmQsIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEJveE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1ib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25DYXJkLCBJb25JY29uLCBOZ1N0eWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmRcbiAgICAgIGNsYXNzPVwiYm94XCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbY2xhc3Mucm91bmRlZF09XCJwcm9wcy5yb3VuZGVkXCJcbiAgICAgIFtjbGFzcy5ib3JkZXJlZF09XCJwcm9wcy5ib3JkZXJlZFwiXG4gICAgICBbY2xhc3MudHJhbnNwYXJlbnRdPVwiIXByb3BzLmNvbG9yXCJcbiAgICAgIFtjbGFzcy5sZWZ0LWJvcmRlcl09XCJwcm9wcy5sZWZ0Qm9yZGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgcGFkZGluZzogcHJvcHMucGFkZGluZyA/IHByb3BzLnBhZGRpbmcgOiAnMHB4JyxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMuaWNvbikge1xuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJpY29uXCIgW25hbWVdPVwicHJvcHMuaWNvblwiIChjbGljayk9XCJjbGlja0hhbmRsZXIoKVwiPjwvaW9uLWljb24+XG4gICAgICB9XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogcHJvcHMuaWNvbiA/ICcyNHB4JyA6ICcwcHgnLFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYm94XG4gKlxuICogQSBzdHlsaXplZCBjYXJkIGNvbnRhaW5lciBmb3IgZ3JvdXBpbmcgY29udGVudCwgd2l0aCBvcHRpb25hbCBpY29uLCBjb2xvciwgYm9yZGVyLCBhbmQgY2xpY2sgZXZlbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtYm94IFtwcm9wc109XCJ7IGNvbG9yOiAncHJpbWFyeScsIHJvdW5kZWQ6IHRydWUsIGljb246ICdzdGFyJyB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+XG4gKiAgIDxkaXYgYm9keT5Db250ZW50IGhlcmU8L2Rpdj5cbiAqIDwvdmFsLWJveD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEJveE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGJveCAoY29sb3IsIGljb24sIGJvcmRlciwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGJveCBvciBpdHMgaWNvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBCb3hDb21wb25lbnQge1xuICAvKipcbiAgICogQm94IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7Qm94TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgYm94IChJb25pYyBjb2xvciBzdHJpbmcpLlxuICAgKiBAcHJvcGVydHkgaWNvbiAtIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGJvcmRlcmVkIC0gV2hldGhlciB0aGUgYm94IGhhcyBhIGJvcmRlciAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgbGVmdEJvcmRlciAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBsZWZ0IGJvcmRlciAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgcm91bmRlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgcm91bmRlZCBjb3JuZXJzIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBwYWRkaW5nIC0gQ3VzdG9tIHBhZGRpbmcgZm9yIHRoZSBib3ggKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBCb3hNZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBib3ggb3IgaXRzIGljb24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBaUM3RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQTNDekI7UUF5REU7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUs5QjtJQUhDLFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBdEJVLFlBQVk7bUdBQVosWUFBWSxnSUF2Q2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJULG8wR0F4QlMsWUFBWSxvSEFBRSxPQUFPLHlMQUFFLE9BQU87OzRGQXdDN0IsWUFBWTtrQkEzQ3hCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7OEJBNEJELEtBQUs7c0JBREosS0FBSztnQkFPTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkNhcmQsIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEJveE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1ib3gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25DYXJkLCBJb25JY29uLCBOZ1N0eWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWNhcmRcbiAgICAgIGNsYXNzPVwiYm94XCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbY2xhc3Mucm91bmRlZF09XCJwcm9wcy5yb3VuZGVkXCJcbiAgICAgIFtjbGFzcy5ib3JkZXJlZF09XCJwcm9wcy5ib3JkZXJlZFwiXG4gICAgICBbY2xhc3MudHJhbnNwYXJlbnRdPVwiIXByb3BzLmNvbG9yXCJcbiAgICAgIFtjbGFzcy5sZWZ0LWJvcmRlcl09XCJwcm9wcy5sZWZ0Qm9yZGVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgcGFkZGluZzogcHJvcHMucGFkZGluZyA/IHByb3BzLnBhZGRpbmcgOiAnMHB4JyxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMuaWNvbikge1xuICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJpY29uXCIgW25hbWVdPVwicHJvcHMuaWNvblwiIChjbGljayk9XCJjbGlja0hhbmRsZXIoKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICB9XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogcHJvcHMuaWNvbiA/ICcyNHB4JyA6ICcwcHgnLFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYm94LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYm94XG4gKlxuICogQSBzdHlsaXplZCBjYXJkIGNvbnRhaW5lciBmb3IgZ3JvdXBpbmcgY29udGVudCwgd2l0aCBvcHRpb25hbCBpY29uLCBjb2xvciwgYm9yZGVyLCBhbmQgY2xpY2sgZXZlbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtYm94IFtwcm9wc109XCJ7IGNvbG9yOiAncHJpbWFyeScsIHJvdW5kZWQ6IHRydWUsIGljb246ICdzdGFyJyB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+XG4gKiAgIDxkaXYgYm9keT5Db250ZW50IGhlcmU8L2Rpdj5cbiAqIDwvdmFsLWJveD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEJveE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGJveCAoY29sb3IsIGljb24sIGJvcmRlciwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGJveCBvciBpdHMgaWNvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBCb3hDb21wb25lbnQge1xuICAvKipcbiAgICogQm94IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7Qm94TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgYm94IChJb25pYyBjb2xvciBzdHJpbmcpLlxuICAgKiBAcHJvcGVydHkgaWNvbiAtIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGJvcmRlcmVkIC0gV2hldGhlciB0aGUgYm94IGhhcyBhIGJvcmRlciAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgbGVmdEJvcmRlciAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBsZWZ0IGJvcmRlciAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgcm91bmRlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgcm91bmRlZCBjb3JuZXJzIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBwYWRkaW5nIC0gQ3VzdG9tIHBhZGRpbmcgZm9yIHRoZSBib3ggKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBCb3hNZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBib3ggb3IgaXRzIGljb24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
@@ -119,6 +119,7 @@ export class FabComponent {
119
119
  [disabled]="resolvedProps.disabled"
120
120
  [translucent]="resolvedProps.translucent"
121
121
  (click)="onMainClick()"
122
+ [attr.aria-label]="resolvedProps.ariaLabel || resolvedProps.label || 'Acción'"
122
123
  >
123
124
  <ion-icon [name]="getMainIcon()" aria-hidden="true"></ion-icon>
124
125
  </ion-fab-button>
@@ -130,6 +131,7 @@ export class FabComponent {
130
131
  [color]="action.color || 'light'"
131
132
  [disabled]="action.disabled"
132
133
  (click)="onActionClick(action)"
134
+ [attr.aria-label]="action.label || action.token || action.icon"
133
135
  >
134
136
  <ion-icon [name]="action.icon" aria-hidden="true"></ion-icon>
135
137
  </ion-fab-button>
@@ -149,6 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
149
151
  [disabled]="resolvedProps.disabled"
150
152
  [translucent]="resolvedProps.translucent"
151
153
  (click)="onMainClick()"
154
+ [attr.aria-label]="resolvedProps.ariaLabel || resolvedProps.label || 'Acción'"
152
155
  >
153
156
  <ion-icon [name]="getMainIcon()" aria-hidden="true"></ion-icon>
154
157
  </ion-fab-button>
@@ -160,6 +163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
160
163
  [color]="action.color || 'light'"
161
164
  [disabled]="action.disabled"
162
165
  (click)="onActionClick(action)"
166
+ [attr.aria-label]="action.label || action.token || action.icon"
163
167
  >
164
168
  <ion-icon [name]="action.icon" aria-hidden="true"></ion-icon>
165
169
  </ion-fab-button>
@@ -177,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
177
181
  }], actionClick: [{
178
182
  type: Output
179
183
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9mYWIvZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbEcsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQW1DL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBbkV6QjtRQW9FVSxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXhDOztXQUVHO1FBQ00sVUFBSyxHQUF5QixFQUFFLENBQUM7UUFFMUM7O1dBRUc7UUFDSCxrQkFBYSxHQUFnQixFQUFp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LEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsWUFDbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUOzhCQTRDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU9JLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25GYWIsIElvbkZhYkJ1dHRvbiwgSW9uRmFiTGlzdCwgSW9uSWNvbiwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBGYWJNZXRhZGF0YSwgRmFiQWN0aW9uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYWRkLCBjbG9zZSwgc2hhcmUsIGNyZWF0ZSwgdHJhc2gsIGhlYXJ0LCBzdGFyLCBjYW1lcmEsIG1pYywgc2VuZCB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuYWRkSWNvbnMoeyBhZGQsIGNsb3NlLCBzaGFyZSwgY3JlYXRlLCB0cmFzaCwgaGVhcnQsIHN0YXIsIGNhbWVyYSwgbWljLCBzZW5kIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFiJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uRmFiLCBJb25GYWJCdXR0b24sIElvbkZhYkxpc3QsIElvbkljb24sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWZhYiBbdmVydGljYWxdPVwiZ2V0VmVydGljYWwoKVwiIFtob3Jpem9udGFsXT1cImdldEhvcml6b250YWwoKVwiIFthY3RpdmF0ZWRdPVwiaXNBY3RpdmF0ZWRcIj5cbiAgICAgIDxpb24tZmFiLWJ1dHRvblxuICAgICAgICBbY29sb3JdPVwicmVzb2x2ZWRQcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICBbc2l6ZV09XCJyZXNvbHZlZFByb3BzLnNpemVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgIFt0cmFuc2x1Y2VudF09XCJyZXNvbHZlZFByb3BzLnRyYW5zbHVjZW50XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTWFpbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiZ2V0TWFpbkljb24oKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1mYWItYnV0dG9uPlxuXG4gICAgICBAaWYgKHJlc29sdmVkUHJvcHMuYWN0aW9ucyAmJiByZXNvbHZlZFByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICA8aW9uLWZhYi1saXN0IFtzaWRlXT1cInJlc29sdmVkUHJvcHMuc2lkZSB8fCAndG9wJ1wiPlxuICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiByZXNvbHZlZFByb3BzLmFjdGlvbnM7IHRyYWNrIGFjdGlvbi50b2tlbiB8fCAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxpb24tZmFiLWJ1dHRvblxuICAgICAgICAgICAgICBbY29sb3JdPVwiYWN0aW9uLmNvbG9yIHx8ICdsaWdodCdcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJhY3Rpb24uaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1mYWItYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tZmFiLWxpc3Q+XG4gICAgICB9XG4gICAgPC9pb24tZmFiPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9mYWIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1mYWJcbiAqXG4gKiBBIEZsb2F0aW5nIEFjdGlvbiBCdXR0b24gY29tcG9uZW50IHdpdGggb3B0aW9uYWwgc3BlZWQgZGlhbCBhY3Rpb25zLlxuICogU3VwcG9ydHMgcHJlc2V0cyBmb3IgcmV1c2FibGUgY29uZmlndXJhdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwcmVzZXQ6XG4gKiA8dmFsLWZhYiBwcmVzZXQ9XCJkZWZhdWx0XCIgW3Byb3BzXT1cInsgaWNvbjogJ2FkZCcgfVwiIChmYWJDbGljayk9XCJvbkNyZWF0ZSgpXCI+PC92YWwtZmFiPlxuICpcbiAqIEBleGFtcGxlIFNpbXBsZSBGQUJcbiAqIDx2YWwtZmFiIFtwcm9wc109XCJ7XG4gKiAgIGljb246ICdhZGQnLFxuICogICBjb2xvcjogJ3ByaW1hcnknLFxuICogICBwb3NpdGlvbjogJ2JvdHRvbS1lbmQnXG4gKiB9XCIgKGZhYkNsaWNrKT1cIm9uQ3JlYXRlKClcIj48L3ZhbC1mYWI+XG4gKlxuICogQGV4YW1wbGUgU3BlZWQgZGlhbCBGQUJcbiAqIDx2YWwtZmFiIFtwcm9wc109XCJ7XG4gKiAgIGljb246ICdhZGQnLFxuICogICBpY29uQWN0aXZhdGVkOiAnY2xvc2UnLFxuICogICBwb3NpdGlvbjogJ2JvdHRvbS1lbmQnLFxuICogICBhY3Rpb25zOiBbXG4gKiAgICAgeyBpY29uOiAnY2FtZXJhJywgbGFiZWw6ICdQaG90bycsIHRva2VuOiAncGhvdG8nIH0sXG4gKiAgICAgeyBpY29uOiAnbWljJywgbGFiZWw6ICdBdWRpbycsIHRva2VuOiAnYXVkaW8nIH0sXG4gKiAgICAgeyBpY29uOiAnY3JlYXRlJywgbGFiZWw6ICdOb3RlJywgdG9rZW46ICdub3RlJyB9XG4gKiAgIF0sXG4gKiAgIHNpZGU6ICd0b3AnXG4gKiB9XCIgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uKCRldmVudClcIj48L3ZhbC1mYWI+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHlcbiAqIEBpbnB1dCBwcm9wczogRmFiTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgRkFCXG4gKiBAb3V0cHV0IGZhYkNsaWNrOiB2b2lkIC0gRW1pdHMgd2hlbiBtYWluIEZBQiBpcyBjbGlja2VkICh3aXRob3V0IGFjdGlvbnMpXG4gKiBAb3V0cHV0IGFjdGlvbkNsaWNrOiBGYWJBY3Rpb25NZXRhZGF0YSAtIEVtaXRzIHdoZW4gYW4gYWN0aW9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEZhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgRkFCIGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogRkFCIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8RmFiTWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBGYWJNZXRhZGF0YSA9IHt9IGFzIEZhYk1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBmYWJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxGYWJBY3Rpb25NZXRhZGF0YT4oKTtcblxuICBpc0FjdGl2YXRlZCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ2ZhYicsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPEZhYk1ldGFkYXRhPikgOiB7fTtcblxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHtcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIEZhYk1ldGFkYXRhO1xuICB9XG5cbiAgZ2V0VmVydGljYWwoKTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInIHtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnJlc29sdmVkUHJvcHMucG9zaXRpb24gfHwgJ2JvdHRvbS1lbmQnO1xuICAgIGlmIChwb3Muc3RhcnRzV2l0aCgndG9wJykpIHJldHVybiAndG9wJztcbiAgICBpZiAocG9zLnN0YXJ0c1dpdGgoJ2NlbnRlcicpKSByZXR1cm4gJ2NlbnRlcic7XG4gICAgcmV0dXJuICdib3R0b20nO1xuICB9XG5cbiAgZ2V0SG9yaXpvbnRhbCgpOiAnc3RhcnQnIHwgJ2VuZCcgfCAnY2VudGVyJyB7XG4gICAgY29uc3QgcG9zID0gdGhpcy5yZXNvbHZlZFByb3BzLnBvc2l0aW9uIHx8ICdib3R0b20tZW5kJztcbiAgICBpZiAocG9zLmVuZHNXaXRoKCdzdGFydCcpKSByZXR1cm4gJ3N0YXJ0JztcbiAgICBpZiAocG9zLmVuZHNXaXRoKCdjZW50ZXInKSkgcmV0dXJuICdjZW50ZXInO1xuICAgIHJldHVybiAnZW5kJztcbiAgfVxuXG4gIGdldE1haW5JY29uKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmF0ZWQgJiYgdGhpcy5yZXNvbHZlZFByb3BzLmljb25BY3RpdmF0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMuaWNvbkFjdGl2YXRlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5pY29uO1xuICB9XG5cbiAgb25NYWluQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5hY3Rpb25zICYmIHRoaXMucmVzb2x2ZWRQcm9wcy5hY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaXNBY3RpdmF0ZWQgPSAhdGhpcy5pc0FjdGl2YXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mYWJDbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IEZhYkFjdGlvbk1ldGFkYXRhKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGFjdGlvbik7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jbG9zZU9uQWN0aW9uICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5pc0FjdGl2YXRlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9mYWIvZmFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbEcsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQXFDL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBckV6QjtRQXNFVSxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXhDOztXQUVHO1FBQ00sVUFBSyxHQUF5QixFQUFFLENBQUM7UUFFMUM7O1dBRUc7UUFDSCxrQkFBYSxHQUFnQixFQUFp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QVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUNsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVDs4QkE0Q1EsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFPSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uRmFiLCBJb25GYWJCdXR0b24sIElvbkZhYkxpc3QsIElvbkljb24sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgRmFiTWV0YWRhdGEsIEZhYkFjdGlvbk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFkZCwgY2xvc2UsIHNoYXJlLCBjcmVhdGUsIHRyYXNoLCBoZWFydCwgc3RhciwgY2FtZXJhLCBtaWMsIHNlbmQgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmFkZEljb25zKHsgYWRkLCBjbG9zZSwgc2hhcmUsIGNyZWF0ZSwgdHJhc2gsIGhlYXJ0LCBzdGFyLCBjYW1lcmEsIG1pYywgc2VuZCB9KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZhYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkZhYiwgSW9uRmFiQnV0dG9uLCBJb25GYWJMaXN0LCBJb25JY29uLCBJb25MYWJlbF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1mYWIgW3ZlcnRpY2FsXT1cImdldFZlcnRpY2FsKClcIiBbaG9yaXpvbnRhbF09XCJnZXRIb3Jpem9udGFsKClcIiBbYWN0aXZhdGVkXT1cImlzQWN0aXZhdGVkXCI+XG4gICAgICA8aW9uLWZhYi1idXR0b25cbiAgICAgICAgW2NvbG9yXT1cInJlc29sdmVkUHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgW3NpemVdPVwicmVzb2x2ZWRQcm9wcy5zaXplXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuZGlzYWJsZWRcIlxuICAgICAgICBbdHJhbnNsdWNlbnRdPVwicmVzb2x2ZWRQcm9wcy50cmFuc2x1Y2VudFwiXG4gICAgICAgIChjbGljayk9XCJvbk1haW5DbGljaygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZFByb3BzLmFyaWFMYWJlbCB8fCByZXNvbHZlZFByb3BzLmxhYmVsIHx8ICdBY2Npw7NuJ1wiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJnZXRNYWluSWNvbigpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWZhYi1idXR0b24+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5hY3Rpb25zICYmIHJlc29sdmVkUHJvcHMuYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxpb24tZmFiLWxpc3QgW3NpZGVdPVwicmVzb2x2ZWRQcm9wcy5zaWRlIHx8ICd0b3AnXCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIHJlc29sdmVkUHJvcHMuYWN0aW9uczsgdHJhY2sgYWN0aW9uLnRva2VuIHx8ICRpbmRleCkge1xuICAgICAgICAgICAgPGlvbi1mYWItYnV0dG9uXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3IgfHwgJ2xpZ2h0J1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24ubGFiZWwgfHwgYWN0aW9uLnRva2VuIHx8IGFjdGlvbi5pY29uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImFjdGlvbi5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWZhYi1idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1mYWItbGlzdD5cbiAgICAgIH1cbiAgICA8L2lvbi1mYWI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2ZhYi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWZhYlxuICpcbiAqIEEgRmxvYXRpbmcgQWN0aW9uIEJ1dHRvbiBjb21wb25lbnQgd2l0aCBvcHRpb25hbCBzcGVlZCBkaWFsIGFjdGlvbnMuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldDpcbiAqIDx2YWwtZmFiIHByZXNldD1cImRlZmF1bHRcIiBbcHJvcHNdPVwieyBpY29uOiAnYWRkJyB9XCIgKGZhYkNsaWNrKT1cIm9uQ3JlYXRlKClcIj48L3ZhbC1mYWI+XG4gKlxuICogQGV4YW1wbGUgU2ltcGxlIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCdcbiAqIH1cIiAoZmFiQ2xpY2spPVwib25DcmVhdGUoKVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAZXhhbXBsZSBTcGVlZCBkaWFsIEZBQlxuICogPHZhbC1mYWIgW3Byb3BzXT1cIntcbiAqICAgaWNvbjogJ2FkZCcsXG4gKiAgIGljb25BY3RpdmF0ZWQ6ICdjbG9zZScsXG4gKiAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCcsXG4gKiAgIGFjdGlvbnM6IFtcbiAqICAgICB7IGljb246ICdjYW1lcmEnLCBsYWJlbDogJ1Bob3RvJywgdG9rZW46ICdwaG90bycgfSxcbiAqICAgICB7IGljb246ICdtaWMnLCBsYWJlbDogJ0F1ZGlvJywgdG9rZW46ICdhdWRpbycgfSxcbiAqICAgICB7IGljb246ICdjcmVhdGUnLCBsYWJlbDogJ05vdGUnLCB0b2tlbjogJ25vdGUnIH1cbiAqICAgXSxcbiAqICAgc2lkZTogJ3RvcCdcbiAqIH1cIiAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb24oJGV2ZW50KVwiPjwvdmFsLWZhYj5cbiAqXG4gKiBAaW5wdXQgcHJlc2V0OiBzdHJpbmcgLSBOYW1lIG9mIHByZXNldCB0byBhcHBseVxuICogQGlucHV0IHByb3BzOiBGYWJNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBGQUJcbiAqIEBvdXRwdXQgZmFiQ2xpY2s6IHZvaWQgLSBFbWl0cyB3aGVuIG1haW4gRkFCIGlzIGNsaWNrZWQgKHdpdGhvdXQgYWN0aW9ucylcbiAqIEBvdXRwdXQgYWN0aW9uQ2xpY2s6IEZhYkFjdGlvbk1ldGFkYXRhIC0gRW1pdHMgd2hlbiBhbiBhY3Rpb24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgY2xhc3MgRmFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBGQUIgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKi9cbiAgQElucHV0KCkgcHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGQUIgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxGYWJNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IEZhYk1ldGFkYXRhID0ge30gYXMgRmFiTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIGZhYkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZhYkFjdGlvbk1ldGFkYXRhPigpO1xuXG4gIGlzQWN0aXZhdGVkID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgnZmFiJywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8RmFiTWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgRmFiTWV0YWRhdGE7XG4gIH1cblxuICBnZXRWZXJ0aWNhbCgpOiAndG9wJyB8ICdib3R0b20nIHwgJ2NlbnRlcicge1xuICAgIGNvbnN0IHBvcyA9IHRoaXMucmVzb2x2ZWRQcm9wcy5wb3NpdGlvbiB8fCAnYm90dG9tLWVuZCc7XG4gICAgaWYgKHBvcy5zdGFydHNXaXRoKCd0b3AnKSkgcmV0dXJuICd0b3AnO1xuICAgIGlmIChwb3Muc3RhcnRzV2l0aCgnY2VudGVyJykpIHJldHVybiAnY2VudGVyJztcbiAgICByZXR1cm4gJ2JvdHRvbSc7XG4gIH1cblxuICBnZXRIb3Jpem9udGFsKCk6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInIHtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnJlc29sdmVkUHJvcHMucG9zaXRpb24gfHwgJ2JvdHRvbS1lbmQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ3N0YXJ0JykpIHJldHVybiAnc3RhcnQnO1xuICAgIGlmIChwb3MuZW5kc1dpdGgoJ2NlbnRlcicpKSByZXR1cm4gJ2NlbnRlcic7XG4gICAgcmV0dXJuICdlbmQnO1xuICB9XG5cbiAgZ2V0TWFpbkljb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2YXRlZCAmJiB0aGlzLnJlc29sdmVkUHJvcHMuaWNvbkFjdGl2YXRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5pY29uQWN0aXZhdGVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmljb247XG4gIH1cblxuICBvbk1haW5DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmFjdGlvbnMgJiYgdGhpcy5yZXNvbHZlZFByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pc0FjdGl2YXRlZCA9ICF0aGlzLmlzQWN0aXZhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZhYkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbkFjdGlvbkNsaWNrKGFjdGlvbjogRmFiQWN0aW9uTWV0YWRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uKTtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmNsb3NlT25BY3Rpb24gIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmlzQWN0aXZhdGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvZmFiL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuLyoqXG4gKiBGQUIgYWN0aW9uIGl0ZW0gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWJBY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBBY3Rpb24gaWNvbiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIC8qKiBBY3Rpb24gbGFiZWwgKHRvb2x0aXApICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogQWN0aW9uIGNvbG9yICovXG4gIGNvbG9yPzogQ29sb3I7XG4gIC8qKiBBY3Rpb24gaWRlbnRpZmllciAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgYWN0aW9uIGlzIGRpc2FibGVkICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIEZBQiBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFiTWV0YWRhdGEge1xuICAvKiogTWFpbiBGQUIgaWNvbiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIC8qKiBJY29uIHdoZW4gRkFCIGlzIGFjdGl2YXRlZCAob3B0aW9uYWwpICovXG4gIGljb25BY3RpdmF0ZWQ/OiBzdHJpbmc7XG4gIC8qKiBGQUIgY29sb3IgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIEZBQiBwb3NpdGlvbiAqL1xuICBwb3NpdGlvbj86ICd0b3Atc3RhcnQnIHwgJ3RvcC1lbmQnIHwgJ2JvdHRvbS1zdGFydCcgfCAnYm90dG9tLWVuZCcgfCAnY2VudGVyLXN0YXJ0JyB8ICdjZW50ZXItZW5kJztcbiAgLyoqIEZBQiBzaXplICovXG4gIHNpemU/OiAnc21hbGwnIHwgJ2RlZmF1bHQnO1xuICAvKiogRkFCIGFjdGlvbnMgKG1pbmkgYnV0dG9ucykgKi9cbiAgYWN0aW9ucz86IEZhYkFjdGlvbk1ldGFkYXRhW107XG4gIC8qKiBBY3Rpb25zIGxpc3Qgc2lkZSAqL1xuICBzaWRlPzogJ3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJztcbiAgLyoqIFdoZXRoZXIgRkFCIGlzIGRpc2FibGVkICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIFRyYW5zbHVjZW50IGJhY2tncm91bmQgKi9cbiAgdHJhbnNsdWNlbnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBsYWJlbHMgb24gYWN0aW9ucyAqL1xuICBzaG93TGFiZWxzPzogYm9vbGVhbjtcbiAgLyoqIENsb3NlIG9uIGFjdGlvbiBjbGljayAqL1xuICBjbG9zZU9uQWN0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVuaXF1ZSB0b2tlbiBpZGVudGlmaWVyICovXG4gIHRva2VuPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvZmFiL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuLyoqXG4gKiBGQUIgYWN0aW9uIGl0ZW0gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGYWJBY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBBY3Rpb24gaWNvbiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIC8qKiBBY3Rpb24gbGFiZWwgKHRvb2x0aXApICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogQWN0aW9uIGNvbG9yICovXG4gIGNvbG9yPzogQ29sb3I7XG4gIC8qKiBBY3Rpb24gaWRlbnRpZmllciAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgYWN0aW9uIGlzIGRpc2FibGVkICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdGhlIEZBQiBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFiTWV0YWRhdGEge1xuICAvKiogTWFpbiBGQUIgaWNvbiAqL1xuICBpY29uOiBzdHJpbmc7XG4gIC8qKiBJY29uIHdoZW4gRkFCIGlzIGFjdGl2YXRlZCAob3B0aW9uYWwpICovXG4gIGljb25BY3RpdmF0ZWQ/OiBzdHJpbmc7XG4gIC8qKiBGQUIgY29sb3IgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIEZBQiBwb3NpdGlvbiAqL1xuICBwb3NpdGlvbj86XG4gICAgfCAndG9wLXN0YXJ0J1xuICAgIHwgJ3RvcC1lbmQnXG4gICAgfCAnYm90dG9tLXN0YXJ0J1xuICAgIHwgJ2JvdHRvbS1lbmQnXG4gICAgfCAnY2VudGVyLXN0YXJ0J1xuICAgIHwgJ2NlbnRlci1lbmQnO1xuICAvKiogRkFCIHNpemUgKi9cbiAgc2l6ZT86ICdzbWFsbCcgfCAnZGVmYXVsdCc7XG4gIC8qKiBGQUIgYWN0aW9ucyAobWluaSBidXR0b25zKSAqL1xuICBhY3Rpb25zPzogRmFiQWN0aW9uTWV0YWRhdGFbXTtcbiAgLyoqIEFjdGlvbnMgbGlzdCBzaWRlICovXG4gIHNpZGU/OiAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nO1xuICAvKiogV2hldGhlciBGQUIgaXMgZGlzYWJsZWQgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogVHJhbnNsdWNlbnQgYmFja2dyb3VuZCAqL1xuICB0cmFuc2x1Y2VudD86IGJvb2xlYW47XG4gIC8qKiBTaG93IGxhYmVscyBvbiBhY3Rpb25zICovXG4gIHNob3dMYWJlbHM/OiBib29sZWFuO1xuICAvKiogQ2xvc2Ugb24gYWN0aW9uIGNsaWNrICovXG4gIGNsb3NlT25BY3Rpb24/OiBib29sZWFuO1xuICAvKiogVW5pcXVlIHRva2VuIGlkZW50aWZpZXIgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBBY2Nlc3NpYmxlIGxhYmVsIGZvciBzY3JlZW4gcmVhZGVycyAoYXJpYS1sYWJlbCBvbiB0aGUgbWFpbiBidXR0b24pICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcbiAgLyoqIExhYmVsIC8gdG9vbHRpcCBmb3IgdGhlIG1haW4gYnV0dG9uICovXG4gIGxhYmVsPzogc3RyaW5nO1xufVxuIl19
@@ -130,7 +130,7 @@ export class ActionCardComponent {
130
130
  }
131
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
132
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionCardComponent, isStandalone: true, selector: "val-action-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
133
- <article
133
+ <div
134
134
  class="action-card"
135
135
  [class.action-card--small]="config().size === 'small'"
136
136
  [class.action-card--medium]="config().size === 'medium'"
@@ -192,13 +192,13 @@ export class ActionCardComponent {
192
192
  @if (config().showChevron && !config().disabled) {
193
193
  <ion-icon name="chevron-forward-outline" class="action-card__chevron" aria-hidden="true"></ion-icon>
194
194
  }
195
- </article>
195
+ </div>
196
196
  `, isInline: true, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--ion-card-background, var(--ion-background-color)));border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--ion-color-primary)}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--bordered{border:1px solid var(--card-border-color, var(--ion-color-light-shade))}.action-card--shadowed{box-shadow:0 2px 8px #00000014}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.action-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--ion-text-color);line-height:1.3}.action-card__description{margin:0;color:var(--ion-color-medium);line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--ion-color-medium);transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:0 4px 16px #0006}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
197
197
  }
198
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionCardComponent, decorators: [{
199
199
  type: Component,
200
200
  args: [{ selector: 'val-action-card', standalone: true, imports: [CommonModule, RouterLink, IonIcon, IonRippleEffect], template: `
201
- <article
201
+ <div
202
202
  class="action-card"
203
203
  [class.action-card--small]="config().size === 'small'"
204
204
  [class.action-card--medium]="config().size === 'medium'"
@@ -260,9 +260,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
260
260
  @if (config().showChevron && !config().disabled) {
261
261
  <ion-icon name="chevron-forward-outline" class="action-card__chevron" aria-hidden="true"></ion-icon>
262
262
  }
263
- </article>
263
+ </div>
264
264
  `, styles: [":host{display:flex;flex-direction:column}.action-card{position:relative;display:flex;align-items:center;flex:1;gap:1rem;padding:1rem;background:var(--card-bg, var(--ion-card-background, var(--ion-background-color)));border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;text-decoration:none;overflow:hidden;--ripple-color: var(--ion-color-primary)}.action-card--small{padding:.75rem;gap:.75rem}.action-card--small .action-card__icon{width:36px;height:36px;font-size:1.125rem;border-radius:8px}.action-card--small .action-card__icon svg{width:18px;height:18px}.action-card--small .action-card__title{font-size:.9rem}.action-card--small .action-card__description{font-size:.8rem}.action-card--medium{padding:1rem;gap:1rem}.action-card--medium .action-card__icon{width:48px;height:48px;font-size:1.5rem;border-radius:10px}.action-card--medium .action-card__icon svg{width:24px;height:24px}.action-card--medium .action-card__title{font-size:1rem}.action-card--medium .action-card__description{font-size:.875rem}.action-card--large{padding:1.25rem;gap:1.25rem}.action-card--large .action-card__icon{width:56px;height:56px;font-size:1.75rem;border-radius:12px}.action-card--large .action-card__icon svg{width:28px;height:28px}.action-card--large .action-card__title{font-size:1.1rem}.action-card--large .action-card__description{font-size:.9rem}.action-card--bordered{border:1px solid var(--card-border-color, var(--ion-color-light-shade))}.action-card--shadowed{box-shadow:0 2px 8px #00000014}.action-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.action-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.action-card--clickable:active{transform:translateY(0)}.action-card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-card__badge{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;z-index:1}.action-card__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-card__icon ion-icon{font-size:inherit}.action-card__icon svg{display:block}.action-card__icon-image{width:100%;height:100%;object-fit:cover;border-radius:8px}.action-card__content{flex:1;min-width:0}.action-card__title{margin:0 0 .25rem;font-weight:600;color:var(--ion-text-color);line-height:1.3}.action-card__description{margin:0;color:var(--ion-color-medium);line-height:1.4}.action-card__chevron{flex-shrink:0;font-size:1.25rem;color:var(--ion-color-medium);transition:transform .2s ease}.action-card--clickable:hover .action-card__chevron{transform:translate(4px)}:host-context(.dark) .action-card--shadowed,:host-context(.ion-palette-dark) .action-card--shadowed,:host-context(html.ion-palette-dark) .action-card--shadowed,:host-context(body.dark) .action-card--shadowed,:host-context([data-theme=dark]) .action-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .action-card--clickable:hover,:host-context(.ion-palette-dark) .action-card--clickable:hover,:host-context(html.ion-palette-dark) .action-card--clickable:hover,:host-context(body.dark) .action-card--clickable:hover,:host-context([data-theme=dark]) .action-card--clickable:hover{box-shadow:0 4px 16px #0006}\n"] }]
265
265
  }], propDecorators: { onClick: [{
266
266
  type: Output
267
267
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQTRDLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV6RixRQUFRLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFcEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQXdFSCxNQUFNLE9BQU8sbUJBQW1CO0lBdkVoQztRQXdFVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyw4QkFB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RSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsc0JBQXNCO1FBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQXZGVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixnUEFuRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0VULHkwR0FqRVMsWUFBWSwrQkFBRSxVQUFVLG9PQUFFLE9BQU8sMkpBQUUsZUFBZTs7NEZBb0VqRCxtQkFBbUI7a0JBdkUvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxZQUNuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdFVDs4QkFXUyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24sIElvblJpcHBsZUVmZmVjdCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uRm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHJlc29sdmVJb25pY0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2lvbmljLWNvbG9yJztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSwgQWN0aW9uQ2FyZENsaWNrRXZlbnQsIEFDVElPTl9DQVJEX0RFRkFVTFRTIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1hY3Rpb24tY2FyZFxuICpcbiAqIEEgY2xpY2thYmxlIGNhcmQgY29tcG9uZW50IHdpdGggaWNvbiwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhbmQgb3B0aW9uYWwgYmFkZ2UuXG4gKiBTdXBwb3J0cyBtdWx0aXBsZSBpY29uIGZvcm1hdHM6IElvbmljb25zLCBTVkcgcGF0aHMsIGFuZCBpbWFnZSBVUkxzLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlIHdpdGggSW9uaWNvblxuICogYGBgaHRtbFxuICogPHZhbC1hY3Rpb24tY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGljb246IHsgaW9uaWNvbjogJ3NldHRpbmdzLW91dGxpbmUnIH0sXG4gKiAgICAgdGl0bGU6ICdTZXR0aW5ncycsXG4gKiAgICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgeW91ciBwcmVmZXJlbmNlcydcbiAqICAgfVwiXG4gKiAgIChvbkNsaWNrKT1cIm9uQ2FyZENsaWNrKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcm91dGVyTGluayBuYXZpZ2F0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBpb25pY29uOiAncGVyc29uLW91dGxpbmUnLCBjb2xvcjogJ3ByaW1hcnknIH0sXG4gKiAgICAgdGl0bGU6ICdQcm9maWxlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ1ZpZXcgYW5kIGVkaXQgeW91ciBwcm9maWxlJyxcbiAqICAgICByb3V0ZXJMaW5rOiAnL3NldHRpbmdzL3Byb2ZpbGUnLFxuICogICAgIHNob3dDaGV2cm9uOiB0cnVlXG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIFNWRyBpY29uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBzdmdQYXRoOiAnTTEyIDJMMiA3bDEwIDUgMTAtNS0xMC01ek0yIDE3bDEwIDUgMTAtNU0yIDEybDEwIDUgMTAtNScgfSxcbiAqICAgICB0aXRsZTogJ0N1c3RvbSBGZWF0dXJlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ0EgZmVhdHVyZSB3aXRoIGN1c3RvbSBTVkcgaWNvbicsXG4gKiAgICAgYmFkZ2U6IHsgdGV4dDogJ05FVycsIGNvbG9yOiAnbGlnaHQnLCBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB9XG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYWN0aW9uLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25JY29uLCBJb25SaXBwbGVFZmZlY3RdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcnRpY2xlXG4gICAgICBjbGFzcz1cImFjdGlvbi1jYXJkXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tc21hbGxdPVwiY29uZmlnKCkuc2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLW1lZGl1bV09XCJjb25maWcoKS5zaXplID09PSAnbWVkaXVtJ1wiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLWxhcmdlXT1cImNvbmZpZygpLnNpemUgPT09ICdsYXJnZSdcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1ib3JkZXJlZF09XCJjb25maWcoKS5ib3JkZXJlZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLXNoYWRvd2VkXT1cImNvbmZpZygpLnNoYWRvd2VkXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tZGlzYWJsZWRdPVwiY29uZmlnKCkuZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1jbGlja2FibGVdPVwiIWNvbmZpZygpLmRpc2FibGVkXCJcbiAgICAgIFtzdHlsZS4tLWNhcmQtYmddPVwiZ2V0QmFja2dyb3VuZENvbG9yKClcIlxuICAgICAgW3N0eWxlLi0tY2FyZC1ib3JkZXItY29sb3JdPVwiZ2V0Qm9yZGVyQ29sb3IoKVwiXG4gICAgICBbcm91dGVyTGlua109XCJjb25maWcoKS5kaXNhYmxlZCA/IG51bGwgOiBjb25maWcoKS5yb3V0ZXJMaW5rXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cImNvbmZpZygpLmRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiJ2J1dHRvbidcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJjb25maWcoKS5kaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XG5cbiAgICAgIDwhLS0gQmFkZ2UgKHRvcC1yaWdodCBjb3JuZXIpIC0tPlxuICAgICAgQGlmIChjb25maWcoKS5iYWRnZSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWNhcmRfX2JhZGdlXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZ2V0QmFkZ2VDb2xvcigpXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRCYWRnZUJhY2tncm91bmRDb2xvcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbmZpZygpLmJhZGdlIS50ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBJY29uIENvbnRhaW5lciAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tY2FyZF9faWNvblwiIFtzdHlsZS5jb2xvcl09XCJnZXRJY29uQ29sb3IoKVwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEljb25CYWNrZ3JvdW5kQ29sb3IoKVwiPlxuICAgICAgICBAaWYgKGNvbmZpZygpLmljb24/Lmlvbmljb24pIHtcbiAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiY29uZmlnKCkuaWNvbiEuaW9uaWNvbiFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICB9IEBlbHNlIGlmIChjb25maWcoKS5pY29uPy5zdmdQYXRoKSB7XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwiY29uZmlnKCkuaWNvbiEuc3ZnUGF0aFwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIH0gQGVsc2UgaWYgKGNvbmZpZygpLmljb24/LmltYWdlVXJsKSB7XG4gICAgICAgICAgPGltZyBbc3JjXT1cImNvbmZpZygpLmljb24hLmltYWdlVXJsXCIgW2FsdF09XCJnZXRUaXRsZSgpXCIgY2xhc3M9XCJhY3Rpb24tY2FyZF9faWNvbi1pbWFnZVwiIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWNhcmRfX2NvbnRlbnRcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYWN0aW9uLWNhcmRfX3RpdGxlXCI+e3sgZ2V0VGl0bGUoKSB9fTwvaDM+XG4gICAgICAgIEBpZiAoZ2V0RGVzY3JpcHRpb24oKSkge1xuICAgICAgICAgIDxwIGNsYXNzPVwiYWN0aW9uLWNhcmRfX2Rlc2NyaXB0aW9uXCI+e3sgZ2V0RGVzY3JpcHRpb24oKSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ2hldnJvbiAob3B0aW9uYWwpIC0tPlxuICAgICAgQGlmIChjb25maWcoKS5zaG93Q2hldnJvbiAmJiAhY29uZmlnKCkuZGlzYWJsZWQpIHtcbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWZvcndhcmQtb3V0bGluZVwiIGNsYXNzPVwiYWN0aW9uLWNhcmRfX2NoZXZyb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgfVxuICAgIDwvYXJ0aWNsZT5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQ2FyZENvbXBvbmVudCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgbmF2aWdhdGlvbiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG5cbiAgLyoqIENvbXBvbmVudCBjb25maWd1cmF0aW9uICovXG4gIHJlYWRvbmx5IHByb3BzID0gaW5wdXQ8UGFydGlhbDxBY3Rpb25DYXJkTWV0YWRhdGE+Pih7fSk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBjYXJkIGlzIGNsaWNrZWQgKi9cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbkNhcmRDbGlja0V2ZW50PigpO1xuXG4gIC8qKiBNZXJnZWQgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHRzICovXG4gIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgLi4uQUNUSU9OX0NBUkRfREVGQVVMVFMsXG4gICAgLi4udGhpcy5wcm9wcygpLFxuICB9KSk7XG5cbiAgLyoqIEdldCB0aXRsZSB3aXRoIGkxOG4gc3VwcG9ydCAqL1xuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgaWYgKGNmZy5pMThuTmFtZXNwYWNlICYmIGNmZy50aXRsZUtleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGNmZy50aXRsZUtleSwgY2ZnLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gY2ZnLnRpdGxlIHx8ICcnO1xuICB9XG5cbiAgLyoqIEdldCBkZXNjcmlwdGlvbiB3aXRoIGkxOG4gc3VwcG9ydCAqL1xuICBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgaWYgKGNmZy5pMThuTmFtZXNwYWNlICYmIGNmZy5kZXNjcmlwdGlvbktleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGNmZy5kZXNjcmlwdGlvbktleSwgY2ZnLmkxOG5OYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gY2ZnLmRlc2NyaXB0aW9uIHx8ICcnO1xuICB9XG5cbiAgLyoqIFJlc29sdmUgY29sb3IgdG8gQ1NTIHZhbHVlIChuYW1lZCBJb25pYyB0b2tlbiDihpIgQ1NTIHZhciwgZWxzZSBwYXNzdGhyb3VnaCkgKi9cbiAgcHJpdmF0ZSByZXNvbHZlQ29sb3IoY29sb3I/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gcmVzb2x2ZUlvbmljQ29sb3IoY29sb3IpID8/IG51bGw7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFja2dyb3VuZENvbG9yIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRCb3JkZXJDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IodGhpcy5jb25maWcoKS5ib3JkZXJDb2xvciBhcyBzdHJpbmcpIHx8ICd2YXIoLS1pb24tY29sb3ItbGlnaHQtc2hhZGUpJztcbiAgfVxuXG4gIGdldEljb25Db2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IodGhpcy5jb25maWcoKS5pY29uPy5jb2xvciBhcyBzdHJpbmcpIHx8ICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICB9XG5cbiAgZ2V0SWNvbkJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBiZyA9IHRoaXMuY29uZmlnKCkuaWNvbj8uYmFja2dyb3VuZENvbG9yO1xuICAgIGlmICghYmcpIHJldHVybiAncmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjEpJztcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IoYmcgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIGdldEJhZGdlQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuYmFkZ2U/LmNvbG9yIGFzIHN0cmluZykgfHwgJ3doaXRlJztcbiAgfVxuXG4gIGdldEJhZGdlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVDb2xvcih0aGlzLmNvbmZpZygpLmJhZGdlPy5iYWNrZ3JvdW5kQ29sb3IgYXMgc3RyaW5nKSB8fCAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxuXG4gIC8qKiBIYW5kbGUgY2FyZCBjbGljayAqL1xuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICBpZiAoY2ZnLmRpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRW1pdCBjbGljayBldmVudFxuICAgIHRoaXMub25DbGljay5lbWl0KHtcbiAgICAgIHRva2VuOiBjZmcudG9rZW4sXG4gICAgICBuYXZpZ2F0ZWQ6ICEhY2ZnLnJvdXRlckxpbmsgfHwgISFjZmcuaHJlZixcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBleHRlcm5hbCBVUkxcbiAgICBpZiAoY2ZnLmhyZWYpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5vcGVuSW5OZXdUYWIoY2ZnLmhyZWYpO1xuICAgIH1cbiAgfVxufVxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hY3Rpb24tY2FyZC9hY3Rpb24tY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQTRDLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV6RixRQUFRLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFcEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDRztBQXdFSCxNQUFNLE9BQU8sbUJBQW1CO0lBdkVoQztRQXdFVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvQyw4QkFBOEI7UUFDckIsVUFBSyxHQUFHLEtBQUssQ0FBOEIsRUFBRSxDQUFDLENBQUM7UUFFeEQseUNBQXlDO1FBQy9CLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUU3RCx5Q0FBeUM7UUFDekMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEdBQUcsb0JBQW9CO1lBQ3ZCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtTQUNoQixDQUFDLENBQUMsQ0FBQztLQTBFTDtJQXhFQyxrQ0FBa0M7SUFDbEMsUUFBUTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7WUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0NBQXdDO1lBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGlGQUFpRjtJQUN6RSxZQUFZLENBQUMsS0FBYztRQUNqQyxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsZUFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFxQixDQUFDLElBQUksOEJBQThCLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFlLENBQUMsSUFBSSwwQkFBMEIsQ0FBQztJQUM5RixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO1FBQy9DLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyx5Q0FBeUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFlLENBQUMsSUFBSSxPQUFPLENBQUM7SUFDNUUsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxlQUF5QixDQUFDLElBQUksMEJBQTBCLENBQUM7SUFDekcsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixXQUFXLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTFCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFFRCxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsc0JBQXNCO1FBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQXZGVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixnUEFuRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0VULHkwR0FqRVMsWUFBWSwrQkFBRSxVQUFVLG9PQUFFLE9BQU8sMkpBQUUsZUFBZTs7NEZBb0VqRCxtQkFBbUI7a0JBdkUvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxZQUNuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdFVDs4QkFXUyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24sIElvblJpcHBsZUVmZmVjdCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uRm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHJlc29sdmVJb25pY0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2lvbmljLWNvbG9yJztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSwgQWN0aW9uQ2FyZENsaWNrRXZlbnQsIEFDVElPTl9DQVJEX0RFRkFVTFRTIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1hY3Rpb24tY2FyZFxuICpcbiAqIEEgY2xpY2thYmxlIGNhcmQgY29tcG9uZW50IHdpdGggaWNvbiwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhbmQgb3B0aW9uYWwgYmFkZ2UuXG4gKiBTdXBwb3J0cyBtdWx0aXBsZSBpY29uIGZvcm1hdHM6IElvbmljb25zLCBTVkcgcGF0aHMsIGFuZCBpbWFnZSBVUkxzLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlIHdpdGggSW9uaWNvblxuICogYGBgaHRtbFxuICogPHZhbC1hY3Rpb24tY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGljb246IHsgaW9uaWNvbjogJ3NldHRpbmdzLW91dGxpbmUnIH0sXG4gKiAgICAgdGl0bGU6ICdTZXR0aW5ncycsXG4gKiAgICAgZGVzY3JpcHRpb246ICdNYW5hZ2UgeW91ciBwcmVmZXJlbmNlcydcbiAqICAgfVwiXG4gKiAgIChvbkNsaWNrKT1cIm9uQ2FyZENsaWNrKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcm91dGVyTGluayBuYXZpZ2F0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBpb25pY29uOiAncGVyc29uLW91dGxpbmUnLCBjb2xvcjogJ3ByaW1hcnknIH0sXG4gKiAgICAgdGl0bGU6ICdQcm9maWxlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ1ZpZXcgYW5kIGVkaXQgeW91ciBwcm9maWxlJyxcbiAqICAgICByb3V0ZXJMaW5rOiAnL3NldHRpbmdzL3Byb2ZpbGUnLFxuICogICAgIHNob3dDaGV2cm9uOiB0cnVlXG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIFNWRyBpY29uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWFjdGlvbi1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWNvbjogeyBzdmdQYXRoOiAnTTEyIDJMMiA3bDEwIDUgMTAtNS0xMC01ek0yIDE3bDEwIDUgMTAtNU0yIDEybDEwIDUgMTAtNScgfSxcbiAqICAgICB0aXRsZTogJ0N1c3RvbSBGZWF0dXJlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ0EgZmVhdHVyZSB3aXRoIGN1c3RvbSBTVkcgaWNvbicsXG4gKiAgICAgYmFkZ2U6IHsgdGV4dDogJ05FVycsIGNvbG9yOiAnbGlnaHQnLCBiYWNrZ3JvdW5kQ29sb3I6ICdwcmltYXJ5JyB9XG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYWN0aW9uLWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25JY29uLCBJb25SaXBwbGVFZmZlY3RdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYWN0aW9uLWNhcmRcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1zbWFsbF09XCJjb25maWcoKS5zaXplID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tbWVkaXVtXT1cImNvbmZpZygpLnNpemUgPT09ICdtZWRpdW0nXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tbGFyZ2VdPVwiY29uZmlnKCkuc2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLWJvcmRlcmVkXT1cImNvbmZpZygpLmJvcmRlcmVkXCJcbiAgICAgIFtjbGFzcy5hY3Rpb24tY2FyZC0tc2hhZG93ZWRdPVwiY29uZmlnKCkuc2hhZG93ZWRcIlxuICAgICAgW2NsYXNzLmFjdGlvbi1jYXJkLS1kaXNhYmxlZF09XCJjb25maWcoKS5kaXNhYmxlZFwiXG4gICAgICBbY2xhc3MuYWN0aW9uLWNhcmQtLWNsaWNrYWJsZV09XCIhY29uZmlnKCkuZGlzYWJsZWRcIlxuICAgICAgW3N0eWxlLi0tY2FyZC1iZ109XCJnZXRCYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgICBbc3R5bGUuLS1jYXJkLWJvcmRlci1jb2xvcl09XCJnZXRCb3JkZXJDb2xvcigpXCJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cImNvbmZpZygpLmRpc2FibGVkID8gbnVsbCA6IGNvbmZpZygpLnJvdXRlckxpbmtcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiY29uZmlnKCkuZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgW2F0dHIucm9sZV09XCInYnV0dG9uJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImNvbmZpZygpLmRpc2FibGVkXCJcbiAgICA+XG4gICAgICA8aW9uLXJpcHBsZS1lZmZlY3Q+PC9pb24tcmlwcGxlLWVmZmVjdD5cblxuICAgICAgPCEtLSBCYWRnZSAodG9wLXJpZ2h0IGNvcm5lcikgLS0+XG4gICAgICBAaWYgKGNvbmZpZygpLmJhZGdlKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJhY3Rpb24tY2FyZF9fYmFkZ2VcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJnZXRCYWRnZUNvbG9yKClcIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldEJhZGdlQmFja2dyb3VuZENvbG9yKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgY29uZmlnKCkuYmFkZ2UhLnRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuXG4gICAgICA8IS0tIEljb24gQ29udGFpbmVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1jYXJkX19pY29uXCIgW3N0eWxlLmNvbG9yXT1cImdldEljb25Db2xvcigpXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0SWNvbkJhY2tncm91bmRDb2xvcigpXCI+XG4gICAgICAgIEBpZiAoY29uZmlnKCkuaWNvbj8uaW9uaWNvbikge1xuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJjb25maWcoKS5pY29uIS5pb25pY29uIVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgIH0gQGVsc2UgaWYgKGNvbmZpZygpLmljb24/LnN2Z1BhdGgpIHtcbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJjb25maWcoKS5pY29uIS5zdmdQYXRoXCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfSBAZWxzZSBpZiAoY29uZmlnKCkuaWNvbj8uaW1hZ2VVcmwpIHtcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiY29uZmlnKCkuaWNvbiEuaW1hZ2VVcmxcIiBbYWx0XT1cImdldFRpdGxlKClcIiBjbGFzcz1cImFjdGlvbi1jYXJkX19pY29uLWltYWdlXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQ29udGVudCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tY2FyZF9fY29udGVudFwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJhY3Rpb24tY2FyZF9fdGl0bGVcIj57eyBnZXRUaXRsZSgpIH19PC9oMz5cbiAgICAgICAgQGlmIChnZXREZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJhY3Rpb24tY2FyZF9fZGVzY3JpcHRpb25cIj57eyBnZXREZXNjcmlwdGlvbigpIH19PC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDaGV2cm9uIChvcHRpb25hbCkgLS0+XG4gICAgICBAaWYgKGNvbmZpZygpLnNob3dDaGV2cm9uICYmICFjb25maWcoKS5kaXNhYmxlZCkge1xuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tZm9yd2FyZC1vdXRsaW5lXCIgY2xhc3M9XCJhY3Rpb24tY2FyZF9fY2hldnJvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNhcmRDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb24gPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PFBhcnRpYWw8QWN0aW9uQ2FyZE1ldGFkYXRhPj4oe30pO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gY2FyZCBpcyBjbGlja2VkICovXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25DYXJkQ2xpY2tFdmVudD4oKTtcblxuICAvKiogTWVyZ2VkIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0cyAqL1xuICBjb25maWcgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIC4uLkFDVElPTl9DQVJEX0RFRkFVTFRTLFxuICAgIC4uLnRoaXMucHJvcHMoKSxcbiAgfSkpO1xuXG4gIC8qKiBHZXQgdGl0bGUgd2l0aCBpMThuIHN1cHBvcnQgKi9cbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIGlmIChjZmcuaTE4bk5hbWVzcGFjZSAmJiBjZmcudGl0bGVLZXkpIHtcbiAgICAgIHRoaXMuaTE4bi5sYW5nKCk7IC8vIFRyYWNrIGxhbmd1YWdlIGNoYW5nZXMgZm9yIHJlYWN0aXZpdHlcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udChjZmcudGl0bGVLZXksIGNmZy5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNmZy50aXRsZSB8fCAnJztcbiAgfVxuXG4gIC8qKiBHZXQgZGVzY3JpcHRpb24gd2l0aCBpMThuIHN1cHBvcnQgKi9cbiAgZ2V0RGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIGlmIChjZmcuaTE4bk5hbWVzcGFjZSAmJiBjZmcuZGVzY3JpcHRpb25LZXkpIHtcbiAgICAgIHRoaXMuaTE4bi5sYW5nKCk7IC8vIFRyYWNrIGxhbmd1YWdlIGNoYW5nZXMgZm9yIHJlYWN0aXZpdHlcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udChjZmcuZGVzY3JpcHRpb25LZXksIGNmZy5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNmZy5kZXNjcmlwdGlvbiB8fCAnJztcbiAgfVxuXG4gIC8qKiBSZXNvbHZlIGNvbG9yIHRvIENTUyB2YWx1ZSAobmFtZWQgSW9uaWMgdG9rZW4g4oaSIENTUyB2YXIsIGVsc2UgcGFzc3Rocm91Z2gpICovXG4gIHByaXZhdGUgcmVzb2x2ZUNvbG9yKGNvbG9yPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHJlc29sdmVJb25pY0NvbG9yKGNvbG9yKSA/PyBudWxsO1xuICB9XG5cbiAgZ2V0QmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVDb2xvcih0aGlzLmNvbmZpZygpLmJhY2tncm91bmRDb2xvciBhcyBzdHJpbmcpO1xuICB9XG5cbiAgZ2V0Qm9yZGVyQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuYm9yZGVyQ29sb3IgYXMgc3RyaW5nKSB8fCAndmFyKC0taW9uLWNvbG9yLWxpZ2h0LXNoYWRlKSc7XG4gIH1cblxuICBnZXRJY29uQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKHRoaXMuY29uZmlnKCkuaWNvbj8uY29sb3IgYXMgc3RyaW5nKSB8fCAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxuXG4gIGdldEljb25CYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYmcgPSB0aGlzLmNvbmZpZygpLmljb24/LmJhY2tncm91bmRDb2xvcjtcbiAgICBpZiAoIWJnKSByZXR1cm4gJ3JnYmEodmFyKC0taW9uLWNvbG9yLXByaW1hcnktcmdiKSwgMC4xKSc7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUNvbG9yKGJnIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRCYWRnZUNvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVDb2xvcih0aGlzLmNvbmZpZygpLmJhZGdlPy5jb2xvciBhcyBzdHJpbmcpIHx8ICd3aGl0ZSc7XG4gIH1cblxuICBnZXRCYWRnZUJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29sb3IodGhpcy5jb25maWcoKS5iYWRnZT8uYmFja2dyb3VuZENvbG9yIGFzIHN0cmluZykgfHwgJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gIH1cblxuICAvKiogSGFuZGxlIGNhcmQgY2xpY2sgKi9cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuXG4gICAgaWYgKGNmZy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEVtaXQgY2xpY2sgZXZlbnRcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XG4gICAgICB0b2tlbjogY2ZnLnRva2VuLFxuICAgICAgbmF2aWdhdGVkOiAhIWNmZy5yb3V0ZXJMaW5rIHx8ICEhY2ZnLmhyZWYsXG4gICAgfSk7XG5cbiAgICAvLyBIYW5kbGUgZXh0ZXJuYWwgVVJMXG4gICAgaWYgKGNmZy5ocmVmKSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb24ub3BlbkluTmV3VGFiKGNmZy5ocmVmKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -60,7 +60,7 @@ export class ArticleCardComponent {
60
60
  }
61
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
62
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ArticleCardComponent, isStandalone: true, selector: "val-article-card", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
63
- <article
63
+ <div
64
64
  class="article-card"
65
65
  [class.article-card--bordered]="config().bordered"
66
66
  [class.article-card--shadowed]="config().shadowed"
@@ -100,13 +100,13 @@ export class ArticleCardComponent {
100
100
  </p>
101
101
  }
102
102
  </div>
103
- </article>
103
+ </div>
104
104
  `, isInline: true, styles: [":host{display:flex;flex-direction:column}.article-card{position:relative;display:flex;flex:1;flex-direction:column;background:var(--ion-card-background, var(--ion-background-color));border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;--ripple-color: var(--ion-color-primary)}.article-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.article-card--shadowed{box-shadow:0 2px 8px #00000014}.article-card--clickable{cursor:pointer}.article-card--clickable:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.article-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.article-card__media{width:100%;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.article-card__media img{width:100%;height:100%;object-fit:cover;display:block}.article-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.25rem}.article-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.article-card__date{color:var(--ion-color-medium)}.article-card__topic{font-weight:600;color:var(--ion-color-primary)}.article-card__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--ion-text-color)}.article-card__excerpt{margin:0;font-size:.9rem;line-height:1.5;color:var(--ion-color-medium-shade);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}:host-context(.dark) .article-card--bordered,:host-context(.ion-palette-dark) .article-card--bordered,:host-context(html.ion-palette-dark) .article-card--bordered,:host-context(body.dark) .article-card--bordered,:host-context([data-theme=dark]) .article-card--bordered{border-color:#ffffff1f}:host-context(.dark) .article-card--shadowed,:host-context(.ion-palette-dark) .article-card--shadowed,:host-context(html.ion-palette-dark) .article-card--shadowed,:host-context(body.dark) .article-card--shadowed,:host-context([data-theme=dark]) .article-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .article-card--clickable:hover,:host-context(.ion-palette-dark) .article-card--clickable:hover,:host-context(html.ion-palette-dark) .article-card--clickable:hover,:host-context(body.dark) .article-card--clickable:hover,:host-context([data-theme=dark]) .article-card--clickable:hover{box-shadow:0 6px 20px #0006}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
105
105
  }
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleCardComponent, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'val-article-card', standalone: true, imports: [CommonModule, RouterLink, IonRippleEffect], template: `
109
- <article
109
+ <div
110
110
  class="article-card"
111
111
  [class.article-card--bordered]="config().bordered"
112
112
  [class.article-card--shadowed]="config().shadowed"
@@ -146,9 +146,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
146
146
  </p>
147
147
  }
148
148
  </div>
149
- </article>
149
+ </div>
150
150
  `, styles: [":host{display:flex;flex-direction:column}.article-card{position:relative;display:flex;flex:1;flex-direction:column;background:var(--ion-card-background, var(--ion-background-color));border-radius:14px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;--ripple-color: var(--ion-color-primary)}.article-card--bordered{border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .1))}.article-card--shadowed{box-shadow:0 2px 8px #00000014}.article-card--clickable{cursor:pointer}.article-card--clickable:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.article-card--clickable:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.article-card__media{width:100%;overflow:hidden;background:var(--ion-color-light, #f4f5f8)}.article-card__media img{width:100%;height:100%;object-fit:cover;display:block}.article-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.25rem}.article-card__meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.article-card__date{color:var(--ion-color-medium)}.article-card__topic{font-weight:600;color:var(--ion-color-primary)}.article-card__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:var(--ion-text-color)}.article-card__excerpt{margin:0;font-size:.9rem;line-height:1.5;color:var(--ion-color-medium-shade);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}:host-context(.dark) .article-card--bordered,:host-context(.ion-palette-dark) .article-card--bordered,:host-context(html.ion-palette-dark) .article-card--bordered,:host-context(body.dark) .article-card--bordered,:host-context([data-theme=dark]) .article-card--bordered{border-color:#ffffff1f}:host-context(.dark) .article-card--shadowed,:host-context(.ion-palette-dark) .article-card--shadowed,:host-context(html.ion-palette-dark) .article-card--shadowed,:host-context(body.dark) .article-card--shadowed,:host-context([data-theme=dark]) .article-card--shadowed{box-shadow:0 2px 8px #0000004d}:host-context(.dark) .article-card--clickable:hover,:host-context(.ion-palette-dark) .article-card--clickable:hover,:host-context(html.ion-palette-dark) .article-card--clickable:hover,:host-context(body.dark) .article-card--clickable:hover,:host-context([data-theme=dark]) .article-card--clickable:hover{box-shadow:0 6px 20px #0006}\n"] }]
151
151
  }], propDecorators: { onClick: [{
152
152
  type: Output
153
153
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYXJ0aWNsZS1jYXJkL2FydGljbGUtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBOEMscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUVySDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFrREgsTUFBTSxPQUFPLG9CQUFvQjtJQWpEakM7UUFrRFUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLDhCQUE4QjtRQUNyQixVQUFLLEdBQUcsS0FBSyxDQUErQixFQUFFLENBQUMsQ0FBQztRQUV6RCx1Q0FBdUM7UUFDN0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTlELHlDQUF5QztRQUN6QyxXQUFNLEdBQUcsUUFBUSxDQUNmLEdBQUcsRUFBRSxDQUNILENBQUM7WUFDQyxHQUFHLHFCQUFxQjtZQUN4QixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7U0FDaEIsQ0FBdUQsQ0FDM0QsQ0FBQztRQUVGLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FnQmxGO0lBZEMsYUFBYTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFnQyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTywwQkFBMEIsQ0FBQztRQUM5QyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQWpDVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixpUEE3Q3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsbzRFQTNDUyxZQUFZLCtCQUFFLFVBQVUsb09BQUUsZUFBZTs7NEZBOEN4QyxvQkFBb0I7a0JBakRoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxZQUMxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzhCQVVTLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgQXJ0aWNsZUNhcmRNZXRhZGF0YSwgQXJ0aWNsZUNhcmRDbGlja0V2ZW50LCBBUlRJQ0xFX0NBUkRfREVGQVVMVFMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgSU9OSUNfQ09MT1JTID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbi8qKlxuICogdmFsLWFydGljbGUtY2FyZFxuICpcbiAqIEFydGljbGUgLyBibG9nIHRlYXNlciBjYXJkOiBjb3ZlciBpbWFnZSwgdG9waWMgY2hpcCwgdGl0bGUsIGV4Y2VycHQgYW5kIGRhdGUuXG4gKiBDbGlja2FibGUgKHJvdXRlckxpbmsgb3IgZXh0ZXJuYWwgaHJlZikuXG4gKlxuICogUHJlc2VudGF0aW9uYWwg4oCUIHBhc3MgYWxyZWFkeS1yZXNvbHZlZC9mb3JtYXR0ZWQgc3RyaW5ncyAocHJlLWZvcm1hdCB0aGUgZGF0ZVxuICogaW4gdGhlIGNvbnN1bWVyIHdpdGggYSBsb2NhbGUtYXdhcmUgcGlwZSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYXJ0aWNsZS1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaW1hZ2U6ICcvYXNzZXRzL3Bvc3QuanBnJyxcbiAqICAgICB0b3BpYzogJ0hvbGlkYXlzJyxcbiAqICAgICB0aXRsZTogJ05ldyBIb2xpZGF5IFNob3BwaW5nIEZlYXR1cmVzJyxcbiAqICAgICBleGNlcnB0OiAnQSBzaG9ydCBzdW1tYXJ5IG9mIHRoZSBhcnRpY2xlIHRoYXQgZ2V0cyBjbGFtcGVkIGFmdGVyIGEgZmV3IGxpbmVzLicsXG4gKiAgICAgZGF0ZTogJ09jdCAzMSwgMjAyNScsXG4gKiAgICAgcm91dGVyTGluazogJy9ibG9nL2hvbGlkYXktc2hvcHBpbmcnXG4gKiAgIH1cIlxuICogICAob25DbGljayk9XCJvcGVuKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXJ0aWNsZS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTGluaywgSW9uUmlwcGxlRWZmZWN0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXJ0aWNsZVxuICAgICAgY2xhc3M9XCJhcnRpY2xlLWNhcmRcIlxuICAgICAgW2NsYXNzLmFydGljbGUtY2FyZC0tYm9yZGVyZWRdPVwiY29uZmlnKCkuYm9yZGVyZWRcIlxuICAgICAgW2NsYXNzLmFydGljbGUtY2FyZC0tc2hhZG93ZWRdPVwiY29uZmlnKCkuc2hhZG93ZWRcIlxuICAgICAgW2NsYXNzLmFydGljbGUtY2FyZC0tY2xpY2thYmxlXT1cImlzQ2xpY2thYmxlKClcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiY29uZmlnKCkucm91dGVyTGluayA/PyBudWxsXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cImlzQ2xpY2thYmxlKCkgPyAwIDogbnVsbFwiXG4gICAgICBbYXR0ci5yb2xlXT1cImlzQ2xpY2thYmxlKCkgPyAnbGluaycgOiBudWxsXCJcbiAgICA+XG4gICAgICBAaWYgKGlzQ2xpY2thYmxlKCkpIHtcbiAgICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoY29uZmlnKCkuaW1hZ2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImFydGljbGUtY2FyZF9fbWVkaWFcIiBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cImNvbmZpZygpLmFzcGVjdFJhdGlvXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImNvbmZpZygpLmltYWdlXCIgW2FsdF09XCJjb25maWcoKS5pbWFnZUFsdCB8fCBjb25maWcoKS50aXRsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZS1jYXJkX19ib2R5XCI+XG4gICAgICAgIEBpZiAoY29uZmlnKCkuZGF0ZSB8fCBjb25maWcoKS50b3BpYykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlLWNhcmRfX21ldGFcIj5cbiAgICAgICAgICAgIEBpZiAoY29uZmlnKCkuZGF0ZSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFydGljbGUtY2FyZF9fZGF0ZVwiPnt7IGNvbmZpZygpLmRhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGNvbmZpZygpLnRvcGljKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJ0aWNsZS1jYXJkX190b3BpY1wiIFtzdHlsZS5jb2xvcl09XCJnZXRUb3BpY0NvbG9yKClcIj57eyBjb25maWcoKS50b3BpYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxoMyBjbGFzcz1cImFydGljbGUtY2FyZF9fdGl0bGVcIj57eyBjb25maWcoKS50aXRsZSB9fTwvaDM+XG5cbiAgICAgICAgQGlmIChjb25maWcoKS5leGNlcnB0KSB7XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcnRpY2xlLWNhcmRfX2V4Y2VycHRcIiBbc3R5bGUuLXdlYmtpdC1saW5lLWNsYW1wXT1cImNvbmZpZygpLmV4Y2VycHRMaW5lc1wiPlxuICAgICAgICAgICAge3sgY29uZmlnKCkuZXhjZXJwdCB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hcnRpY2xlLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJ0aWNsZUNhcmRDb21wb25lbnQge1xuICBwcml2YXRlIG5hdmlnYXRpb24gPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PFBhcnRpYWw8QXJ0aWNsZUNhcmRNZXRhZGF0YT4+KHt9KTtcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjYXJkIGlzIGNsaWNrZWQgKi9cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVDYXJkQ2xpY2tFdmVudD4oKTtcblxuICAvKiogTWVyZ2VkIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0cyAqL1xuICBjb25maWcgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgKHtcbiAgICAgICAgLi4uQVJUSUNMRV9DQVJEX0RFRkFVTFRTLFxuICAgICAgICAuLi50aGlzLnByb3BzKCksXG4gICAgICB9KSBhcyBBcnRpY2xlQ2FyZE1ldGFkYXRhICYgdHlwZW9mIEFSVElDTEVfQ0FSRF9ERUZBVUxUU1xuICApO1xuXG4gIGlzQ2xpY2thYmxlID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLmNvbmZpZygpLnJvdXRlckxpbmsgfHwgISF0aGlzLmNvbmZpZygpLmhyZWYpO1xuXG4gIGdldFRvcGljQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmNvbmZpZygpLnRvcGljQ29sb3IgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghY29sb3IpIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgICByZXR1cm4gSU9OSUNfQ09MT1JTLmluY2x1ZGVzKGNvbG9yKSA/IGB2YXIoLS1pb24tY29sb3ItJHtjb2xvcn0pYCA6IGNvbG9yO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgdG9rZW46IGNmZy50b2tlbiwgbmF2aWdhdGVkOiB0aGlzLmlzQ2xpY2thYmxlKCkgfSk7XG4gICAgaWYgKGNmZy5ocmVmKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uLm9wZW5Jbk5ld1RhYihjZmcuaHJlZik7XG4gICAgfVxuICB9XG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYXJ0aWNsZS1jYXJkL2FydGljbGUtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBOEMscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUVySDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFrREgsTUFBTSxPQUFPLG9CQUFvQjtJQWpEakM7UUFrRFUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLDhCQUE4QjtRQUNyQixVQUFLLEdBQUcsS0FBSyxDQUErQixFQUFFLENBQUMsQ0FBQztRQUV6RCx1Q0FBdUM7UUFDN0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTlELHlDQUF5QztRQUN6QyxXQUFNLEdBQUcsUUFBUSxDQUNmLEdBQUcsRUFBRSxDQUNILENBQUM7WUFDQyxHQUFHLHFCQUFxQjtZQUN4QixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7U0FDaEIsQ0FBdUQsQ0FDM0QsQ0FBQztRQUVGLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FnQmxGO0lBZEMsYUFBYTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFnQyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTywwQkFBMEIsQ0FBQztRQUM5QyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQWpDVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixpUEE3Q3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsbzRFQTNDUyxZQUFZLCtCQUFFLFVBQVUsb09BQUUsZUFBZTs7NEZBOEN4QyxvQkFBb0I7a0JBakRoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxZQUMxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzhCQVVTLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIGlucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uUmlwcGxlRWZmZWN0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgQXJ0aWNsZUNhcmRNZXRhZGF0YSwgQXJ0aWNsZUNhcmRDbGlja0V2ZW50LCBBUlRJQ0xFX0NBUkRfREVGQVVMVFMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgSU9OSUNfQ09MT1JTID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbi8qKlxuICogdmFsLWFydGljbGUtY2FyZFxuICpcbiAqIEFydGljbGUgLyBibG9nIHRlYXNlciBjYXJkOiBjb3ZlciBpbWFnZSwgdG9waWMgY2hpcCwgdGl0bGUsIGV4Y2VycHQgYW5kIGRhdGUuXG4gKiBDbGlja2FibGUgKHJvdXRlckxpbmsgb3IgZXh0ZXJuYWwgaHJlZikuXG4gKlxuICogUHJlc2VudGF0aW9uYWwg4oCUIHBhc3MgYWxyZWFkeS1yZXNvbHZlZC9mb3JtYXR0ZWQgc3RyaW5ncyAocHJlLWZvcm1hdCB0aGUgZGF0ZVxuICogaW4gdGhlIGNvbnN1bWVyIHdpdGggYSBsb2NhbGUtYXdhcmUgcGlwZSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYXJ0aWNsZS1jYXJkXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaW1hZ2U6ICcvYXNzZXRzL3Bvc3QuanBnJyxcbiAqICAgICB0b3BpYzogJ0hvbGlkYXlzJyxcbiAqICAgICB0aXRsZTogJ05ldyBIb2xpZGF5IFNob3BwaW5nIEZlYXR1cmVzJyxcbiAqICAgICBleGNlcnB0OiAnQSBzaG9ydCBzdW1tYXJ5IG9mIHRoZSBhcnRpY2xlIHRoYXQgZ2V0cyBjbGFtcGVkIGFmdGVyIGEgZmV3IGxpbmVzLicsXG4gKiAgICAgZGF0ZTogJ09jdCAzMSwgMjAyNScsXG4gKiAgICAgcm91dGVyTGluazogJy9ibG9nL2hvbGlkYXktc2hvcHBpbmcnXG4gKiAgIH1cIlxuICogICAob25DbGljayk9XCJvcGVuKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXJ0aWNsZS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTGluaywgSW9uUmlwcGxlRWZmZWN0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImFydGljbGUtY2FyZFwiXG4gICAgICBbY2xhc3MuYXJ0aWNsZS1jYXJkLS1ib3JkZXJlZF09XCJjb25maWcoKS5ib3JkZXJlZFwiXG4gICAgICBbY2xhc3MuYXJ0aWNsZS1jYXJkLS1zaGFkb3dlZF09XCJjb25maWcoKS5zaGFkb3dlZFwiXG4gICAgICBbY2xhc3MuYXJ0aWNsZS1jYXJkLS1jbGlja2FibGVdPVwiaXNDbGlja2FibGUoKVwiXG4gICAgICBbcm91dGVyTGlua109XCJjb25maWcoKS5yb3V0ZXJMaW5rID8/IG51bGxcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXNDbGlja2FibGUoKSA/IDAgOiBudWxsXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiaXNDbGlja2FibGUoKSA/ICdsaW5rJyA6IG51bGxcIlxuICAgID5cbiAgICAgIEBpZiAoaXNDbGlja2FibGUoKSkge1xuICAgICAgICA8aW9uLXJpcHBsZS1lZmZlY3Q+PC9pb24tcmlwcGxlLWVmZmVjdD5cbiAgICAgIH1cblxuICAgICAgQGlmIChjb25maWcoKS5pbWFnZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZS1jYXJkX19tZWRpYVwiIFtzdHlsZS5hc3BlY3QtcmF0aW9dPVwiY29uZmlnKCkuYXNwZWN0UmF0aW9cIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiY29uZmlnKCkuaW1hZ2VcIiBbYWx0XT1cImNvbmZpZygpLmltYWdlQWx0IHx8IGNvbmZpZygpLnRpdGxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlLWNhcmRfX2JvZHlcIj5cbiAgICAgICAgQGlmIChjb25maWcoKS5kYXRlIHx8IGNvbmZpZygpLnRvcGljKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFydGljbGUtY2FyZF9fbWV0YVwiPlxuICAgICAgICAgICAgQGlmIChjb25maWcoKS5kYXRlKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJ0aWNsZS1jYXJkX19kYXRlXCI+e3sgY29uZmlnKCkuZGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoY29uZmlnKCkudG9waWMpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnRpY2xlLWNhcmRfX3RvcGljXCIgW3N0eWxlLmNvbG9yXT1cImdldFRvcGljQ29sb3IoKVwiPnt7IGNvbmZpZygpLnRvcGljIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGgzIGNsYXNzPVwiYXJ0aWNsZS1jYXJkX190aXRsZVwiPnt7IGNvbmZpZygpLnRpdGxlIH19PC9oMz5cblxuICAgICAgICBAaWYgKGNvbmZpZygpLmV4Y2VycHQpIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImFydGljbGUtY2FyZF9fZXhjZXJwdFwiIFtzdHlsZS4td2Via2l0LWxpbmUtY2xhbXBdPVwiY29uZmlnKCkuZXhjZXJwdExpbmVzXCI+XG4gICAgICAgICAgICB7eyBjb25maWcoKS5leGNlcnB0IH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXJ0aWNsZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFydGljbGVDYXJkQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcblxuICAvKiogQ29tcG9uZW50IGNvbmZpZ3VyYXRpb24gKi9cbiAgcmVhZG9ubHkgcHJvcHMgPSBpbnB1dDxQYXJ0aWFsPEFydGljbGVDYXJkTWV0YWRhdGE+Pih7fSk7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2FyZCBpcyBjbGlja2VkICovXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlQ2FyZENsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqIE1lcmdlZCBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdHMgKi9cbiAgY29uZmlnID0gY29tcHV0ZWQoXG4gICAgKCkgPT5cbiAgICAgICh7XG4gICAgICAgIC4uLkFSVElDTEVfQ0FSRF9ERUZBVUxUUyxcbiAgICAgICAgLi4udGhpcy5wcm9wcygpLFxuICAgICAgfSkgYXMgQXJ0aWNsZUNhcmRNZXRhZGF0YSAmIHR5cGVvZiBBUlRJQ0xFX0NBUkRfREVGQVVMVFNcbiAgKTtcblxuICBpc0NsaWNrYWJsZSA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5jb25maWcoKS5yb3V0ZXJMaW5rIHx8ICEhdGhpcy5jb25maWcoKS5ocmVmKTtcblxuICBnZXRUb3BpY0NvbG9yKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5jb25maWcoKS50b3BpY0NvbG9yIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIWNvbG9yKSByZXR1cm4gJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gICAgcmV0dXJuIElPTklDX0NPTE9SUy5pbmNsdWRlcyhjb2xvcikgPyBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWAgOiBjb2xvcjtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IHRva2VuOiBjZmcudG9rZW4sIG5hdmlnYXRlZDogdGhpcy5pc0NsaWNrYWJsZSgpIH0pO1xuICAgIGlmIChjZmcuaHJlZikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5vcGVuSW5OZXdUYWIoY2ZnLmhyZWYpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -409,7 +409,7 @@ export class CommentComponent {
409
409
  }
410
410
  } @else {
411
411
  <button class="view-replies-button" (click)="onLoadMoreClick()">
412
- <ion-icon name="chatbubble-outline"></ion-icon>
412
+ <ion-icon name="chatbubble-outline" aria-hidden="true"></ion-icon>
413
413
  <span>{{ getViewRepliesText() }}</span>
414
414
  </button>
415
415
  }
@@ -581,7 +581,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
581
581
  }
582
582
  } @else {
583
583
  <button class="view-replies-button" (click)="onLoadMoreClick()">
584
- <ion-icon name="chatbubble-outline"></ion-icon>
584
+ <ion-icon name="chatbubble-outline" aria-hidden="true"></ion-icon>
585
585
  <span>{{ getViewRepliesText() }}</span>
586
586
  </button>
587
587
  }
@@ -604,4 +604,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
604
604
  }], collapseToggle: [{
605
605
  type: Output
606
606
  }] } });
607
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULEdBQUcsRUFDSCxNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjeEIsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLEtBQUs7SUFDTCxlQUFlO0lBQ2YsUUFBUTtJQUNSLFlBQVk7SUFDWixLQUFLO0lBQ0wsVUFBVTtJQUNWLEdBQUc7SUFDSCxXQUFXO0lBQ1gsU0FBUztJQUNULEdBQUc7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QiwwU0FuTmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3S1Qsd3pTQTJDVSxnQkFBZ0Isd0xBcE5qQixZQUFZLCtCQUFFLE9BQU8sMkpBQUUsU0FBUyxvUEFBRSxVQUFVLHdEQUFFLE9BQU8seUZBQUUsT0FBTywwTkFBRSxRQUFRLDZGQUFFLGVBQWU7OzRGQW9OeEYsZ0JBQWdCO2tCQXZONUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxZQUMxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0tUO3dEQThDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBlbGxpcHNpc0hvcml6b250YWwsXG4gIGNoZWNrbWFya0NpcmNsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaGVhcnQsXG4gIHRodW1ic1VwT3V0bGluZSxcbiAgdGh1bWJzVXAsXG4gIGhhcHB5T3V0bGluZSxcbiAgaGFwcHksXG4gIHNhZE91dGxpbmUsXG4gIHNhZCxcbiAgY2hldnJvbkRvd24sXG4gIGNoZXZyb25VcCxcbiAgcGluLFxuICBwZW5jaWwsXG4gIHRyYXNoLFxuICBmbGFnLFxuICBzaGFyZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHtcbiAgQ29tbWVudE1ldGFkYXRhLFxuICBDb21tZW50QXV0aG9yLFxuICBDb21tZW50UmVhY3Rpb24sXG4gIENvbW1lbnRBY3Rpb24sXG4gIENvbW1lbnRNZW51SXRlbSxcbiAgQ29tbWVudEF1dGhvckNsaWNrRXZlbnQsXG4gIENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRBY3Rpb25DbGlja0V2ZW50LFxuICBDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50LFxuICBDb21tZW50TG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgZWxsaXBzaXNIb3Jpem9udGFsLFxuICBjaGVja21hcmtDaXJjbGUsXG4gIGNoYXRidWJibGVPdXRsaW5lLFxuICBoZWFydE91dGxpbmUsXG4gIGhlYXJ0LFxuICB0aHVtYnNVcE91dGxpbmUsXG4gIHRodW1ic1VwLFxuICBoYXBweU91dGxpbmUsXG4gIGhhcHB5LFxuICBzYWRPdXRsaW5lLFxuICBzYWQsXG4gIGNoZXZyb25Eb3duLFxuICBjaGV2cm9uVXAsXG4gIHBpbixcbiAgcGVuY2lsLFxuICB0cmFzaCxcbiAgZmxhZyxcbiAgc2hhcmUsXG59KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgQ29tbWVudGAuIEN1YnJlIGVsIGFyaWEtbGFiZWwgZGVsIGF1dG9yIChhdmF0YXIgKyBub21icmUpLlxuICovXG5jb25zdCBDT01NRU5UX0kxOE4gPSB7XG4gIGVzOiB7IHZpZXdQcm9maWxlT2Y6ICdWZXIgcGVyZmlsIGRlIHtuYW1lfScgfSxcbiAgZW46IHsgdmlld1Byb2ZpbGVPZjogJ1ZpZXcgcHJvZmlsZSBvZiB7bmFtZX0nIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWwsIEF2YXRhckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjb21tZW50XCJcbiAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJwcm9wcy5oaWdobGlnaHRlZFwiXG4gICAgICBbY2xhc3MucGlubmVkXT1cInByb3BzLnBpbm5lZFwiXG4gICAgICBbY2xhc3MuY29sbGFwc2VkXT1cInByb3BzLmNvbGxhcHNlZFwiXG4gICAgICBbc3R5bGUuLS1kZXB0aF09XCJwcm9wcy5kZXB0aCB8fCAwXCJcbiAgICA+XG4gICAgICBAaWYgKHByb3BzLnBpbm5lZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGlubmVkLWluZGljYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGluXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ3Bpbm5lZCcpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWFpblwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNvbW1lbnQtYXZhdGFyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLmF2YXRhcikge1xuICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmF1dGhvci5hdmF0YXJcIj48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzKHByb3BzLmF1dGhvci5uYW1lKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib2R5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImF1dGhvci1pbmZvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci1uYW1lXCI+e3sgcHJvcHMuYXV0aG9yLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLnZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgY2xhc3M9XCJ2ZXJpZmllZC1iYWRnZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5hdXRob3IudXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci11c2VybmFtZVwiPiYjNjQ7e3sgcHJvcHMuYXV0aG9yLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWV0YVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVzdGFtcFwiPnt7IGZvcm1hdFRpbWVzdGFtcChwcm9wcy50aW1lc3RhbXApIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLmVkaXRlZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWRpdGVkLWxhYmVsXCI+e3sgaTE4bi50KCdlZGl0ZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMubWVudUl0ZW1zICYmIHByb3BzLm1lbnVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpZF09XCInbWVudS10cmlnZ2VyLScgKyBwcm9wcy50b2tlblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTcOhcyBvcGNpb25lcydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy1ob3Jpem9udGFsXCIgc2xvdD1cImljb24tb25seVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwiJ21lbnUtdHJpZ2dlci0nICsgcHJvcHMudG9rZW5cIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcHJvcHMubWVudUl0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXJCZWZvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldGFpbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiaXRlbS5pY29uXCIgc2xvdD1cInN0YXJ0XCIgW2NvbG9yXT1cIml0ZW0uY29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbY29sb3JdPVwiaXRlbS5jb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRNZW51SXRlbUxhYmVsKGl0ZW0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NDb250ZW50KGRpc3BsYXlDb250ZW50KVwiPjwvZGl2PlxuXG4gICAgICAgICAgICBAaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwcm9wcy5yZWFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1yZWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChyZWFjdGlvbiBvZiBwcm9wcy5yZWFjdGlvbnM7IHRyYWNrIHJlYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmVhY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyZWFjdGlvbi5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuLS1yZWFjdGlvbi1jb2xvcl09XCJnZXRSZWFjdGlvbkNvbG9yKHJlYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlYWN0aW9uQ2xpY2socmVhY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInJlYWN0aW9uLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJlYWN0aW9uLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVhY3Rpb24tY291bnRcIj57eyBmb3JtYXRDb3VudChyZWFjdGlvbi5jb3VudCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuYWN0aW9ucyAmJiBwcm9wcy5hY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBwcm9wcy5hY3Rpb25zOyB0cmFjayBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3IgfHwgJ21lZGl1bSdcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYWN0aW9uLmljb25cIiBzbG90PVwic3RhcnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEFjdGlvbkxhYmVsKGFjdGlvbikgfX1cbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImV4cGFuZC1idXR0b25cIiAoY2xpY2spPVwib25Ub2dnbGVDb2xsYXBzZSgpXCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaTE4bi50KCdzaG93Q29tbWVudCcpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQgJiYgaGFzQ2hpbGRyZW4oKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1jaGlsZHJlblwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29sbGFwc2UtYnV0dG9uXCIgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sbGFwc2UoKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tdXBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ2hpZGVSZXBsaWVzJykgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGNhblNob3dDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICBAZm9yIChjaGlsZCBvZiBwcm9wcy5jaGlsZHJlbjsgdHJhY2sgY2hpbGQudG9rZW4pIHtcbiAgICAgICAgICAgICAgPHZhbC1jb21tZW50XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cImdldENoaWxkUHJvcHMoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAoYXV0aG9yQ2xpY2spPVwiYXV0aG9yQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAocmVhY3Rpb25DbGljayk9XCJyZWFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwibWVudUl0ZW1DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChsb2FkTW9yZUNsaWNrKT1cImxvYWRNb3JlQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY29sbGFwc2VUb2dnbGUpPVwiY29sbGFwc2VUb2dnbGUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvdmFsLWNvbW1lbnQ+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoaGFzTW9yZVJlcGxpZXMoKSkge1xuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibG9hZC1tb3JlLWJ1dHRvblwiIChjbGljayk9XCJvbkxvYWRNb3JlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hhdGJ1YmJsZS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRMb2FkTW9yZVJlcGxpZXNUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInZpZXctcmVwbGllcy1idXR0b25cIiAoY2xpY2spPVwib25Mb2FkTW9yZUNsaWNrKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGF0YnViYmxlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRWaWV3UmVwbGllc1RleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1jb21tZW50XG4gKlxuICogQSB2ZXJzYXRpbGUgY29tbWVudCBjb21wb25lbnQgZm9yIGZvcnVtcywgcmV2aWV3cywgYW5kIHNvY2lhbCBtZWRpYS5cbiAqIFN1cHBvcnRzIGF1dGhvciBpbmZvLCByZWFjdGlvbnMsIGFjdGlvbnMsIG5lc3RlZCByZXBsaWVzLCBhbmQgbW9yZS5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBjb21tZW50XG4gKiA8dmFsLWNvbW1lbnQgW3Byb3BzXT1cIntcbiAqICAgdG9rZW46ICcxJyxcbiAqICAgYXV0aG9yOiB7IG5hbWU6ICdKb2huIERvZScsIHVzZXJuYW1lOiAnam9obmQnIH0sXG4gKiAgIGNvbnRlbnQ6ICdUaGlzIGlzIGEgZ3JlYXQgcG9zdCEnLFxuICogICB0aW1lc3RhbXA6ICcyIGhvdXJzIGFnbydcbiAqIH1cIj48L3ZhbC1jb21tZW50PlxuICpcbiAqIEBleGFtcGxlIFdpdGggcmVhY3Rpb25zIGFuZCBhY3Rpb25zXG4gKiA8dmFsLWNvbW1lbnQgW3Byb3BzXT1cIntcbiAqICAgdG9rZW46ICcxJyxcbiAqICAgYXV0aG9yOiB7IG5hbWU6ICdKYW5lJywgYXZhdGFyOiBhdmF0YXJQcm9wcywgdmVyaWZpZWQ6IHRydWUgfSxcbiAqICAgY29udGVudDogJ0FtYXppbmcgY29udGVudCEgQ2hlY2sgb3V0IGh0dHBzOi8vZXhhbXBsZS5jb20nLFxuICogICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gKiAgIHJlYWN0aW9uczogW1xuICogICAgIHsgdG9rZW46ICdsaWtlJywgaWNvbjogJ2hlYXJ0LW91dGxpbmUnLCBjb3VudDogNDIsIGFjdGl2ZTogZmFsc2UgfVxuICogICBdLFxuICogICBhY3Rpb25zOiBbXG4gKiAgICAgeyB0b2tlbjogJ3JlcGx5JywgbGFiZWw6ICdSZXBseScsIGljb246ICdjaGF0YnViYmxlLW91dGxpbmUnIH1cbiAqICAgXSxcbiAqICAgbWVudUl0ZW1zOiBbXG4gKiAgICAgeyB0b2tlbjogJ2VkaXQnLCBsYWJlbDogJ0VkaXQnLCBpY29uOiAncGVuY2lsJyB9LFxuICogICAgIHsgdG9rZW46ICdkZWxldGUnLCBsYWJlbDogJ0RlbGV0ZScsIGljb246ICd0cmFzaCcsIGNvbG9yOiAnZGFuZ2VyJyB9XG4gKiAgIF1cbiAqIH1cIj48L3ZhbC1jb21tZW50PlxuICpcbiAqIEBpbnB1dCBwcm9wczogQ29tbWVudE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbW1lbnRcbiAqIEBvdXRwdXQgYXV0aG9yQ2xpY2sgLSBFbWl0cyB3aGVuIGF1dGhvciBuYW1lL2F2YXRhciBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IHJlYWN0aW9uQ2xpY2sgLSBFbWl0cyB3aGVuIGEgcmVhY3Rpb24gaXMgY2xpY2tlZFxuICogQG91dHB1dCBhY3Rpb25DbGljayAtIEVtaXRzIHdoZW4gYW4gYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IG1lbnVJdGVtQ2xpY2sgLSBFbWl0cyB3aGVuIGEgbWVudSBpdGVtIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgbG9hZE1vcmVDbGljayAtIEVtaXRzIHdoZW4gbG9hZCBtb3JlIHJlcGxpZXMgaXMgY2xpY2tlZFxuICogQG91dHB1dCBjb2xsYXBzZVRvZ2dsZSAtIEVtaXRzIHdoZW4gY29tbWVudCBpcyBjb2xsYXBzZWQvZXhwYW5kZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgQElucHV0KCkgcHJvcHM6IENvbW1lbnRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgYXV0aG9yQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBdXRob3JDbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBsb2FkTW9yZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50TG9hZE1vcmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbGxhcHNlVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHRva2VuOiBzdHJpbmc7IGNvbGxhcHNlZDogYm9vbGVhbiB9PigpO1xuXG4gIGRpc3BsYXlDb250ZW50OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ0NvbW1lbnQnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnQ29tbWVudCcsIENPTU1FTlRfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IHRoaXMucHJvcHMuY29udGVudCB8fCB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayB8fCAnJztcbiAgfVxuXG4gIC8qKiBBcmlhLWxhYmVsIGFjY2VzaWJsZSBkZWwgYXV0b3IgKGF2YXRhciArIG5vbWJyZSBjbGljYWJsZXMpLiAqL1xuICBhdXRob3JMYWJlbCgpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UHJvZmlsZU9mJywgJ0NvbW1lbnQnLCB7IG5hbWU6IHRoaXMucHJvcHMuYXV0aG9yLm5hbWUgfSk7XG4gIH1cblxuICBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBuYW1lXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLm1hcChuID0+IG5bMF0pXG4gICAgICAuam9pbignJylcbiAgICAgIC5zdWJzdHJpbmcoMCwgMilcbiAgICAgIC50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgZm9ybWF0VGltZXN0YW1wKHRpbWVzdGFtcDogc3RyaW5nIHwgRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0aW1lc3RhbXAgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGltZXN0YW1wO1xuICAgIH1cblxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGlmZiA9IG5vdy5nZXRUaW1lKCkgLSB0aW1lc3RhbXAuZ2V0VGltZSgpO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmYgLyAxMDAwKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuXG4gICAgaWYgKHNlY29uZHMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdqdXN0Tm93Jyk7XG4gICAgaWYgKG1pbnV0ZXMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdtaW51dGVzQWdvJywgJ19nbG9iYWwnLCB7IG1pbnV0ZXM6IG1pbnV0ZXMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoaG91cnMgPCAyNCkgcmV0dXJuIHRoaXMuaTE4bi50KCdob3Vyc0FnbycsICdfZ2xvYmFsJywgeyBob3VyczogaG91cnMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoZGF5cyA8IDcpIHJldHVybiB0aGlzLmkxOG4udCgnZGF5c0FnbycsICdfZ2xvYmFsJywgeyBkYXlzOiBkYXlzLnRvU3RyaW5nKCkgfSk7XG5cbiAgICByZXR1cm4gdGltZXN0YW1wLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICB9XG5cbiAgZ2V0TG9hZE1vcmVSZXBsaWVzVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5nZXRSZW1haW5pbmdDb3VudCgpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnbG9hZE1vcmVSZXBsaWVzJykgKyBgICgke2NvdW50fSlgO1xuICB9XG5cbiAgZ2V0Vmlld1JlcGxpZXNUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgfHwgdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoIHx8IDA7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UmVwbGllcycpICsgYCAoJHtjb3VudH0pYDtcbiAgfVxuXG4gIGZvcm1hdENvdW50KGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChjb3VudCA+PSAxMDAwMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMDAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdNJztcbiAgICB9XG4gICAgaWYgKGNvdW50ID49IDEwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ0snO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByb2Nlc3NDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b0xpbmtpZnkgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5lc2NhcGVIdG1sKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIC8vIEVzY2FwZSBIVE1MIGZpcnN0XG4gICAgbGV0IHByb2Nlc3NlZCA9IHRoaXMuZXNjYXBlSHRtbChjb250ZW50KTtcblxuICAgIC8vIFVSTCByZWdleFxuICAgIGNvbnN0IHVybFJlZ2V4ID0gLyhodHRwcz86XFwvXFwvW15cXHM8XStbXlxcczwuLDs6IT8pXFxdJ1wiXSkvZ2k7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UoXG4gICAgICB1cmxSZWdleCxcbiAgICAgICc8YSBocmVmPVwiJDFcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJjb21tZW50LWxpbmtcIj4kMTwvYT4nXG4gICAgKTtcblxuICAgIC8vIEBtZW50aW9uc1xuICAgIGNvbnN0IG1lbnRpb25SZWdleCA9IC9AKFxcdyspL2c7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UobWVudGlvblJlZ2V4LCAnPHNwYW4gY2xhc3M9XCJjb21tZW50LW1lbnRpb25cIj5AJDE8L3NwYW4+Jyk7XG5cbiAgICAvLyAjaGFzaHRhZ3NcbiAgICBjb25zdCBoYXNodGFnUmVnZXggPSAvIyhcXHcrKS9nO1xuICAgIHByb2Nlc3NlZCA9IHByb2Nlc3NlZC5yZXBsYWNlKGhhc2h0YWdSZWdleCwgJzxzcGFuIGNsYXNzPVwiY29tbWVudC1oYXNodGFnXCI+IyQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJlc2VydmUgbGluZSBicmVha3NcbiAgICBwcm9jZXNzZWQgPSBwcm9jZXNzZWQucmVwbGFjZSgvXFxuL2csICc8YnI+Jyk7XG5cbiAgICByZXR1cm4gcHJvY2Vzc2VkO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxuXG4gIGdldFJlYWN0aW9uQ29sb3IocmVhY3Rpb246IENvbW1lbnRSZWFjdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSAmJiByZWFjdGlvbi5hY3RpdmVDb2xvcikge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtyZWFjdGlvbi5hY3RpdmVDb2xvcn0pYDtcbiAgICB9XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICAgIH1cbiAgICBpZiAocmVhY3Rpb24uY29sb3IpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7cmVhY3Rpb24uY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bSknO1xuICB9XG5cbiAgZ2V0QWN0aW9uTGFiZWwoYWN0aW9uOiBDb21tZW50QWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWN0aW9uLmxhYmVsIHx8IGFjdGlvbi5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBnZXRNZW51SXRlbUxhYmVsKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWwgfHwgaXRlbS5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHx8XG4gICAgICAhISh0aGlzLnByb3BzLnJlcGx5Q291bnQgJiYgdGhpcy5wcm9wcy5yZXBseUNvdW50ID4gMClcbiAgICApO1xuICB9XG5cbiAgY2FuU2hvd0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1heERlcHRoID0gdGhpcy5wcm9wcy5tYXhEZXB0aCA/PyAzO1xuICAgIGNvbnN0IGN1cnJlbnREZXB0aCA9IHRoaXMucHJvcHMuZGVwdGggPz8gMDtcbiAgICByZXR1cm4gY3VycmVudERlcHRoIDwgbWF4RGVwdGggJiYgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgZ2V0Q2hpbGRQcm9wcyhjaGlsZDogQ29tbWVudE1ldGFkYXRhKTogQ29tbWVudE1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY2hpbGQsXG4gICAgICBkZXB0aDogKHRoaXMucHJvcHMuZGVwdGggPz8gMCkgKyAxLFxuICAgICAgbWF4RGVwdGg6IHRoaXMucHJvcHMubWF4RGVwdGggPz8gMyxcbiAgICB9O1xuICB9XG5cbiAgaGFzTW9yZVJlcGxpZXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnJlcGx5Q291bnQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsb2FkZWRDb3VudCA9IHRoaXMucHJvcHMuY2hpbGRyZW4/Lmxlbmd0aCA/PyAwO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnJlcGx5Q291bnQgPiBsb2FkZWRDb3VudDtcbiAgfVxuXG4gIGdldFJlbWFpbmluZ0NvdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgPz8gMDtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLnByb3BzLmNoaWxkcmVuPy5sZW5ndGggPz8gMDtcbiAgICByZXR1cm4gdG90YWwgLSBsb2FkZWQ7XG4gIH1cblxuICBvbkF1dGhvckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aG9yQ2xpY2suZW1pdCh7XG4gICAgICBhdXRob3I6IHRoaXMucHJvcHMuYXV0aG9yLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25SZWFjdGlvbkNsaWNrKHJlYWN0aW9uOiBDb21tZW50UmVhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnJlYWN0aW9uQ2xpY2suZW1pdCh7XG4gICAgICByZWFjdGlvbixcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGlzQWN0aXZlOiAhcmVhY3Rpb24uYWN0aXZlLFxuICAgIH0pO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IENvbW1lbnRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25NZW51SXRlbUNsaWNrKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KHtcbiAgICAgIG1lbnVJdGVtOiBpdGVtLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25Mb2FkTW9yZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmVDbGljay5lbWl0KHtcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGN1cnJlbnRDb3VudDogdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoID8/IDAsXG4gICAgfSk7XG4gIH1cblxuICBvblRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VUb2dnbGUuZW1pdCh7XG4gICAgICB0b2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGNvbGxhcHNlZDogIXRoaXMucHJvcHMuY29sbGFwc2VkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
607
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULEdBQUcsRUFDSCxNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjeEIsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLEtBQUs7SUFDTCxlQUFlO0lBQ2YsUUFBUTtJQUNSLFlBQVk7SUFDWixLQUFLO0lBQ0wsVUFBVTtJQUNWLEdBQUc7SUFDSCxXQUFXO0lBQ1gsU0FBUztJQUNULEdBQUc7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QiwwU0FuTmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3S1Qsd3pTQTJDVSxnQkFBZ0Isd0xBcE5qQixZQUFZLCtCQUFFLE9BQU8sMkpBQUUsU0FBUyxvUEFBRSxVQUFVLHdEQUFFLE9BQU8seUZBQUUsT0FBTywwTkFBRSxRQUFRLDZGQUFFLGVBQWU7OzRGQW9OeEYsZ0JBQWdCO2tCQXZONUIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxZQUMxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0tUO3dEQThDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBlbGxpcHNpc0hvcml6b250YWwsXG4gIGNoZWNrbWFya0NpcmNsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaGVhcnQsXG4gIHRodW1ic1VwT3V0bGluZSxcbiAgdGh1bWJzVXAsXG4gIGhhcHB5T3V0bGluZSxcbiAgaGFwcHksXG4gIHNhZE91dGxpbmUsXG4gIHNhZCxcbiAgY2hldnJvbkRvd24sXG4gIGNoZXZyb25VcCxcbiAgcGluLFxuICBwZW5jaWwsXG4gIHRyYXNoLFxuICBmbGFnLFxuICBzaGFyZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHtcbiAgQ29tbWVudE1ldGFkYXRhLFxuICBDb21tZW50QXV0aG9yLFxuICBDb21tZW50UmVhY3Rpb24sXG4gIENvbW1lbnRBY3Rpb24sXG4gIENvbW1lbnRNZW51SXRlbSxcbiAgQ29tbWVudEF1dGhvckNsaWNrRXZlbnQsXG4gIENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRBY3Rpb25DbGlja0V2ZW50LFxuICBDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50LFxuICBDb21tZW50TG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgZWxsaXBzaXNIb3Jpem9udGFsLFxuICBjaGVja21hcmtDaXJjbGUsXG4gIGNoYXRidWJibGVPdXRsaW5lLFxuICBoZWFydE91dGxpbmUsXG4gIGhlYXJ0LFxuICB0aHVtYnNVcE91dGxpbmUsXG4gIHRodW1ic1VwLFxuICBoYXBweU91dGxpbmUsXG4gIGhhcHB5LFxuICBzYWRPdXRsaW5lLFxuICBzYWQsXG4gIGNoZXZyb25Eb3duLFxuICBjaGV2cm9uVXAsXG4gIHBpbixcbiAgcGVuY2lsLFxuICB0cmFzaCxcbiAgZmxhZyxcbiAgc2hhcmUsXG59KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgQ29tbWVudGAuIEN1YnJlIGVsIGFyaWEtbGFiZWwgZGVsIGF1dG9yIChhdmF0YXIgKyBub21icmUpLlxuICovXG5jb25zdCBDT01NRU5UX0kxOE4gPSB7XG4gIGVzOiB7IHZpZXdQcm9maWxlT2Y6ICdWZXIgcGVyZmlsIGRlIHtuYW1lfScgfSxcbiAgZW46IHsgdmlld1Byb2ZpbGVPZjogJ1ZpZXcgcHJvZmlsZSBvZiB7bmFtZX0nIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWwsIEF2YXRhckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjb21tZW50XCJcbiAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJwcm9wcy5oaWdobGlnaHRlZFwiXG4gICAgICBbY2xhc3MucGlubmVkXT1cInByb3BzLnBpbm5lZFwiXG4gICAgICBbY2xhc3MuY29sbGFwc2VkXT1cInByb3BzLmNvbGxhcHNlZFwiXG4gICAgICBbc3R5bGUuLS1kZXB0aF09XCJwcm9wcy5kZXB0aCB8fCAwXCJcbiAgICA+XG4gICAgICBAaWYgKHByb3BzLnBpbm5lZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGlubmVkLWluZGljYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGluXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ3Bpbm5lZCcpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWFpblwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNvbW1lbnQtYXZhdGFyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLmF2YXRhcikge1xuICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmF1dGhvci5hdmF0YXJcIj48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzKHByb3BzLmF1dGhvci5uYW1lKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib2R5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImF1dGhvci1pbmZvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci1uYW1lXCI+e3sgcHJvcHMuYXV0aG9yLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLnZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgY2xhc3M9XCJ2ZXJpZmllZC1iYWRnZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5hdXRob3IudXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci11c2VybmFtZVwiPiYjNjQ7e3sgcHJvcHMuYXV0aG9yLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWV0YVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVzdGFtcFwiPnt7IGZvcm1hdFRpbWVzdGFtcChwcm9wcy50aW1lc3RhbXApIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLmVkaXRlZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWRpdGVkLWxhYmVsXCI+e3sgaTE4bi50KCdlZGl0ZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMubWVudUl0ZW1zICYmIHByb3BzLm1lbnVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpZF09XCInbWVudS10cmlnZ2VyLScgKyBwcm9wcy50b2tlblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTcOhcyBvcGNpb25lcydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy1ob3Jpem9udGFsXCIgc2xvdD1cImljb24tb25seVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwiJ21lbnUtdHJpZ2dlci0nICsgcHJvcHMudG9rZW5cIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcHJvcHMubWVudUl0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXJCZWZvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldGFpbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiaXRlbS5pY29uXCIgc2xvdD1cInN0YXJ0XCIgW2NvbG9yXT1cIml0ZW0uY29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbY29sb3JdPVwiaXRlbS5jb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRNZW51SXRlbUxhYmVsKGl0ZW0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NDb250ZW50KGRpc3BsYXlDb250ZW50KVwiPjwvZGl2PlxuXG4gICAgICAgICAgICBAaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwcm9wcy5yZWFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1yZWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChyZWFjdGlvbiBvZiBwcm9wcy5yZWFjdGlvbnM7IHRyYWNrIHJlYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmVhY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyZWFjdGlvbi5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuLS1yZWFjdGlvbi1jb2xvcl09XCJnZXRSZWFjdGlvbkNvbG9yKHJlYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlYWN0aW9uQ2xpY2socmVhY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInJlYWN0aW9uLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJlYWN0aW9uLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVhY3Rpb24tY291bnRcIj57eyBmb3JtYXRDb3VudChyZWFjdGlvbi5jb3VudCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuYWN0aW9ucyAmJiBwcm9wcy5hY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBwcm9wcy5hY3Rpb25zOyB0cmFjayBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3IgfHwgJ21lZGl1bSdcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYWN0aW9uLmljb25cIiBzbG90PVwic3RhcnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEFjdGlvbkxhYmVsKGFjdGlvbikgfX1cbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImV4cGFuZC1idXR0b25cIiAoY2xpY2spPVwib25Ub2dnbGVDb2xsYXBzZSgpXCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaTE4bi50KCdzaG93Q29tbWVudCcpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQgJiYgaGFzQ2hpbGRyZW4oKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1jaGlsZHJlblwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29sbGFwc2UtYnV0dG9uXCIgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sbGFwc2UoKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tdXBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ2hpZGVSZXBsaWVzJykgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGNhblNob3dDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICBAZm9yIChjaGlsZCBvZiBwcm9wcy5jaGlsZHJlbjsgdHJhY2sgY2hpbGQudG9rZW4pIHtcbiAgICAgICAgICAgICAgPHZhbC1jb21tZW50XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cImdldENoaWxkUHJvcHMoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAoYXV0aG9yQ2xpY2spPVwiYXV0aG9yQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAocmVhY3Rpb25DbGljayk9XCJyZWFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwibWVudUl0ZW1DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChsb2FkTW9yZUNsaWNrKT1cImxvYWRNb3JlQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY29sbGFwc2VUb2dnbGUpPVwiY29sbGFwc2VUb2dnbGUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvdmFsLWNvbW1lbnQ+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoaGFzTW9yZVJlcGxpZXMoKSkge1xuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibG9hZC1tb3JlLWJ1dHRvblwiIChjbGljayk9XCJvbkxvYWRNb3JlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hhdGJ1YmJsZS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRMb2FkTW9yZVJlcGxpZXNUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInZpZXctcmVwbGllcy1idXR0b25cIiAoY2xpY2spPVwib25Mb2FkTW9yZUNsaWNrKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGF0YnViYmxlLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRWaWV3UmVwbGllc1RleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1jb21tZW50XG4gKlxuICogQSB2ZXJzYXRpbGUgY29tbWVudCBjb21wb25lbnQgZm9yIGZvcnVtcywgcmV2aWV3cywgYW5kIHNvY2lhbCBtZWRpYS5cbiAqIFN1cHBvcnRzIGF1dGhvciBpbmZvLCByZWFjdGlvbnMsIGFjdGlvbnMsIG5lc3RlZCByZXBsaWVzLCBhbmQgbW9yZS5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyBjb21tZW50XG4gKiA8dmFsLWNvbW1lbnQgW3Byb3BzXT1cIntcbiAqICAgdG9rZW46ICcxJyxcbiAqICAgYXV0aG9yOiB7IG5hbWU6ICdKb2huIERvZScsIHVzZXJuYW1lOiAnam9obmQnIH0sXG4gKiAgIGNvbnRlbnQ6ICdUaGlzIGlzIGEgZ3JlYXQgcG9zdCEnLFxuICogICB0aW1lc3RhbXA6ICcyIGhvdXJzIGFnbydcbiAqIH1cIj48L3ZhbC1jb21tZW50PlxuICpcbiAqIEBleGFtcGxlIFdpdGggcmVhY3Rpb25zIGFuZCBhY3Rpb25zXG4gKiA8dmFsLWNvbW1lbnQgW3Byb3BzXT1cIntcbiAqICAgdG9rZW46ICcxJyxcbiAqICAgYXV0aG9yOiB7IG5hbWU6ICdKYW5lJywgYXZhdGFyOiBhdmF0YXJQcm9wcywgdmVyaWZpZWQ6IHRydWUgfSxcbiAqICAgY29udGVudDogJ0FtYXppbmcgY29udGVudCEgQ2hlY2sgb3V0IGh0dHBzOi8vZXhhbXBsZS5jb20nLFxuICogICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gKiAgIHJlYWN0aW9uczogW1xuICogICAgIHsgdG9rZW46ICdsaWtlJywgaWNvbjogJ2hlYXJ0LW91dGxpbmUnLCBjb3VudDogNDIsIGFjdGl2ZTogZmFsc2UgfVxuICogICBdLFxuICogICBhY3Rpb25zOiBbXG4gKiAgICAgeyB0b2tlbjogJ3JlcGx5JywgbGFiZWw6ICdSZXBseScsIGljb246ICdjaGF0YnViYmxlLW91dGxpbmUnIH1cbiAqICAgXSxcbiAqICAgbWVudUl0ZW1zOiBbXG4gKiAgICAgeyB0b2tlbjogJ2VkaXQnLCBsYWJlbDogJ0VkaXQnLCBpY29uOiAncGVuY2lsJyB9LFxuICogICAgIHsgdG9rZW46ICdkZWxldGUnLCBsYWJlbDogJ0RlbGV0ZScsIGljb246ICd0cmFzaCcsIGNvbG9yOiAnZGFuZ2VyJyB9XG4gKiAgIF1cbiAqIH1cIj48L3ZhbC1jb21tZW50PlxuICpcbiAqIEBpbnB1dCBwcm9wczogQ29tbWVudE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbW1lbnRcbiAqIEBvdXRwdXQgYXV0aG9yQ2xpY2sgLSBFbWl0cyB3aGVuIGF1dGhvciBuYW1lL2F2YXRhciBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IHJlYWN0aW9uQ2xpY2sgLSBFbWl0cyB3aGVuIGEgcmVhY3Rpb24gaXMgY2xpY2tlZFxuICogQG91dHB1dCBhY3Rpb25DbGljayAtIEVtaXRzIHdoZW4gYW4gYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IG1lbnVJdGVtQ2xpY2sgLSBFbWl0cyB3aGVuIGEgbWVudSBpdGVtIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgbG9hZE1vcmVDbGljayAtIEVtaXRzIHdoZW4gbG9hZCBtb3JlIHJlcGxpZXMgaXMgY2xpY2tlZFxuICogQG91dHB1dCBjb2xsYXBzZVRvZ2dsZSAtIEVtaXRzIHdoZW4gY29tbWVudCBpcyBjb2xsYXBzZWQvZXhwYW5kZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgQElucHV0KCkgcHJvcHM6IENvbW1lbnRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgYXV0aG9yQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBdXRob3JDbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBsb2FkTW9yZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50TG9hZE1vcmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbGxhcHNlVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHRva2VuOiBzdHJpbmc7IGNvbGxhcHNlZDogYm9vbGVhbiB9PigpO1xuXG4gIGRpc3BsYXlDb250ZW50OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ0NvbW1lbnQnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnQ29tbWVudCcsIENPTU1FTlRfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IHRoaXMucHJvcHMuY29udGVudCB8fCB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayB8fCAnJztcbiAgfVxuXG4gIC8qKiBBcmlhLWxhYmVsIGFjY2VzaWJsZSBkZWwgYXV0b3IgKGF2YXRhciArIG5vbWJyZSBjbGljYWJsZXMpLiAqL1xuICBhdXRob3JMYWJlbCgpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UHJvZmlsZU9mJywgJ0NvbW1lbnQnLCB7IG5hbWU6IHRoaXMucHJvcHMuYXV0aG9yLm5hbWUgfSk7XG4gIH1cblxuICBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBuYW1lXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLm1hcChuID0+IG5bMF0pXG4gICAgICAuam9pbignJylcbiAgICAgIC5zdWJzdHJpbmcoMCwgMilcbiAgICAgIC50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgZm9ybWF0VGltZXN0YW1wKHRpbWVzdGFtcDogc3RyaW5nIHwgRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0aW1lc3RhbXAgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGltZXN0YW1wO1xuICAgIH1cblxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGlmZiA9IG5vdy5nZXRUaW1lKCkgLSB0aW1lc3RhbXAuZ2V0VGltZSgpO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmYgLyAxMDAwKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuXG4gICAgaWYgKHNlY29uZHMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdqdXN0Tm93Jyk7XG4gICAgaWYgKG1pbnV0ZXMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdtaW51dGVzQWdvJywgJ19nbG9iYWwnLCB7IG1pbnV0ZXM6IG1pbnV0ZXMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoaG91cnMgPCAyNCkgcmV0dXJuIHRoaXMuaTE4bi50KCdob3Vyc0FnbycsICdfZ2xvYmFsJywgeyBob3VyczogaG91cnMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoZGF5cyA8IDcpIHJldHVybiB0aGlzLmkxOG4udCgnZGF5c0FnbycsICdfZ2xvYmFsJywgeyBkYXlzOiBkYXlzLnRvU3RyaW5nKCkgfSk7XG5cbiAgICByZXR1cm4gdGltZXN0YW1wLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICB9XG5cbiAgZ2V0TG9hZE1vcmVSZXBsaWVzVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5nZXRSZW1haW5pbmdDb3VudCgpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnbG9hZE1vcmVSZXBsaWVzJykgKyBgICgke2NvdW50fSlgO1xuICB9XG5cbiAgZ2V0Vmlld1JlcGxpZXNUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgfHwgdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoIHx8IDA7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UmVwbGllcycpICsgYCAoJHtjb3VudH0pYDtcbiAgfVxuXG4gIGZvcm1hdENvdW50KGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChjb3VudCA+PSAxMDAwMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMDAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdNJztcbiAgICB9XG4gICAgaWYgKGNvdW50ID49IDEwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ0snO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByb2Nlc3NDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b0xpbmtpZnkgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5lc2NhcGVIdG1sKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIC8vIEVzY2FwZSBIVE1MIGZpcnN0XG4gICAgbGV0IHByb2Nlc3NlZCA9IHRoaXMuZXNjYXBlSHRtbChjb250ZW50KTtcblxuICAgIC8vIFVSTCByZWdleFxuICAgIGNvbnN0IHVybFJlZ2V4ID0gLyhodHRwcz86XFwvXFwvW15cXHM8XStbXlxcczwuLDs6IT8pXFxdJ1wiXSkvZ2k7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UoXG4gICAgICB1cmxSZWdleCxcbiAgICAgICc8YSBocmVmPVwiJDFcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJjb21tZW50LWxpbmtcIj4kMTwvYT4nXG4gICAgKTtcblxuICAgIC8vIEBtZW50aW9uc1xuICAgIGNvbnN0IG1lbnRpb25SZWdleCA9IC9AKFxcdyspL2c7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UobWVudGlvblJlZ2V4LCAnPHNwYW4gY2xhc3M9XCJjb21tZW50LW1lbnRpb25cIj5AJDE8L3NwYW4+Jyk7XG5cbiAgICAvLyAjaGFzaHRhZ3NcbiAgICBjb25zdCBoYXNodGFnUmVnZXggPSAvIyhcXHcrKS9nO1xuICAgIHByb2Nlc3NlZCA9IHByb2Nlc3NlZC5yZXBsYWNlKGhhc2h0YWdSZWdleCwgJzxzcGFuIGNsYXNzPVwiY29tbWVudC1oYXNodGFnXCI+IyQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJlc2VydmUgbGluZSBicmVha3NcbiAgICBwcm9jZXNzZWQgPSBwcm9jZXNzZWQucmVwbGFjZSgvXFxuL2csICc8YnI+Jyk7XG5cbiAgICByZXR1cm4gcHJvY2Vzc2VkO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxuXG4gIGdldFJlYWN0aW9uQ29sb3IocmVhY3Rpb246IENvbW1lbnRSZWFjdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSAmJiByZWFjdGlvbi5hY3RpdmVDb2xvcikge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtyZWFjdGlvbi5hY3RpdmVDb2xvcn0pYDtcbiAgICB9XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICAgIH1cbiAgICBpZiAocmVhY3Rpb24uY29sb3IpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7cmVhY3Rpb24uY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bSknO1xuICB9XG5cbiAgZ2V0QWN0aW9uTGFiZWwoYWN0aW9uOiBDb21tZW50QWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWN0aW9uLmxhYmVsIHx8IGFjdGlvbi5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBnZXRNZW51SXRlbUxhYmVsKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWwgfHwgaXRlbS5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHx8XG4gICAgICAhISh0aGlzLnByb3BzLnJlcGx5Q291bnQgJiYgdGhpcy5wcm9wcy5yZXBseUNvdW50ID4gMClcbiAgICApO1xuICB9XG5cbiAgY2FuU2hvd0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1heERlcHRoID0gdGhpcy5wcm9wcy5tYXhEZXB0aCA/PyAzO1xuICAgIGNvbnN0IGN1cnJlbnREZXB0aCA9IHRoaXMucHJvcHMuZGVwdGggPz8gMDtcbiAgICByZXR1cm4gY3VycmVudERlcHRoIDwgbWF4RGVwdGggJiYgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgZ2V0Q2hpbGRQcm9wcyhjaGlsZDogQ29tbWVudE1ldGFkYXRhKTogQ29tbWVudE1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY2hpbGQsXG4gICAgICBkZXB0aDogKHRoaXMucHJvcHMuZGVwdGggPz8gMCkgKyAxLFxuICAgICAgbWF4RGVwdGg6IHRoaXMucHJvcHMubWF4RGVwdGggPz8gMyxcbiAgICB9O1xuICB9XG5cbiAgaGFzTW9yZVJlcGxpZXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnJlcGx5Q291bnQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsb2FkZWRDb3VudCA9IHRoaXMucHJvcHMuY2hpbGRyZW4/Lmxlbmd0aCA/PyAwO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnJlcGx5Q291bnQgPiBsb2FkZWRDb3VudDtcbiAgfVxuXG4gIGdldFJlbWFpbmluZ0NvdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgPz8gMDtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLnByb3BzLmNoaWxkcmVuPy5sZW5ndGggPz8gMDtcbiAgICByZXR1cm4gdG90YWwgLSBsb2FkZWQ7XG4gIH1cblxuICBvbkF1dGhvckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aG9yQ2xpY2suZW1pdCh7XG4gICAgICBhdXRob3I6IHRoaXMucHJvcHMuYXV0aG9yLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25SZWFjdGlvbkNsaWNrKHJlYWN0aW9uOiBDb21tZW50UmVhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnJlYWN0aW9uQ2xpY2suZW1pdCh7XG4gICAgICByZWFjdGlvbixcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGlzQWN0aXZlOiAhcmVhY3Rpb24uYWN0aXZlLFxuICAgIH0pO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IENvbW1lbnRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25NZW51SXRlbUNsaWNrKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KHtcbiAgICAgIG1lbnVJdGVtOiBpdGVtLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25Mb2FkTW9yZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmVDbGljay5lbWl0KHtcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGN1cnJlbnRDb3VudDogdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoID8/IDAsXG4gICAgfSk7XG4gIH1cblxuICBvblRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VUb2dnbGUuZW1pdCh7XG4gICAgICB0b2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGNvbGxhcHNlZDogIXRoaXMucHJvcHMuY29sbGFwc2VkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -27,7 +27,7 @@ export class ExpandableTextComponent {
27
27
  return this.props.content?.length > (this.props.limit || 100);
28
28
  }
29
29
  getExpandText() {
30
- return this.props.expandText || this.i18n.t('seeMore');
30
+ return this.props.expandText || this.i18n.t('seeMore') || 'Ver más';
31
31
  }
32
32
  toggleExpand() {
33
33
  this.expanded = !this.expanded;
@@ -46,7 +46,13 @@ export class ExpandableTextComponent {
46
46
  </ion-text>
47
47
  </div>
48
48
  @if (!expanded && isTruncated) {
49
- <button type="button" class="see-more" [style.color]="this.color()" [attr.aria-expanded]="expanded" (click)="toggleExpand()">
49
+ <button
50
+ type="button"
51
+ class="see-more"
52
+ [style.color]="this.color()"
53
+ [attr.aria-expanded]="expanded"
54
+ (click)="toggleExpand()"
55
+ >
50
56
  {{ getExpandText() }}
51
57
  </button>
52
58
  }
@@ -65,7 +71,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65
71
  </ion-text>
66
72
  </div>
67
73
  @if (!expanded && isTruncated) {
68
- <button type="button" class="see-more" [style.color]="this.color()" [attr.aria-expanded]="expanded" (click)="toggleExpand()">
74
+ <button
75
+ type="button"
76
+ class="see-more"
77
+ [style.color]="this.color()"
78
+ [attr.aria-expanded]="expanded"
79
+ (click)="toggleExpand()"
80
+ >
69
81
  {{ getExpandText() }}
70
82
  </button>
71
83
  }
@@ -74,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
74
86
  }], propDecorators: { props: [{
75
87
  type: Input
76
88
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQThFNUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJGcEM7UUErRkUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBc0JwQztJQXBCQyxJQUFJLGFBQWE7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FsQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsMkdBakZ4Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQscXpCQWhCUyxPQUFPOzs0RkFrRk4sdUJBQXVCO2tCQXJGbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1I7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzhCQTJFUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyByZXNvbHZlQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc3R5bGVzJztcbmltcG9ydCB7IEV4cGFuZGFibGVUZXh0SW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWV4cGFuZGFibGUtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tY29udGFpbmVyXCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCIgW2NsYXNzLmhhcy1ncmFkaWVudF09XCIhZXhwYW5kZWQgJiYgaXNUcnVuY2F0ZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudFwiPnt7IGV4cGFuZGVkID8gcHJvcHMuY29udGVudCA6IHRydW5jYXRlZFRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKCFleHBhbmRlZCAmJiBpc1RydW5jYXRlZCkge1xuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNlZS1tb3JlXCIgW3N0eWxlLmNvbG9yXT1cInRoaXMuY29sb3IoKVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kKClcIj5cbiAgICAgICAgICB7eyBnZXRFeHBhbmRUZXh0KCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lcjpub3QoLmV4cGFuZGVkKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwcmVtOyAvKiBBbHR1cmEgcGFyYSB0ZXh0byB0cnVuY2FkbyAqL1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyLmV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgLyogU2luIGzDrW1pdGUgZGUgYWx0dXJhIGFsIGV4cGFuZGlyICovXG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAvKiBNYXNrIGdyYWRpZW50IC0gZnVuY2lvbmEgZW4gY3VhbHF1aWVyIGNvbG9yIGRlIGZvbmRvICovXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyOm5vdCguZXhwYW5kZWQpLmhhcy1ncmFkaWVudCAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWUtbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuc2VlLW1vcmU6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuc2VlLW1vcmU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuLyoqXG4gKiB2YWwtZXhwYW5kYWJsZS10ZXh0XG4gKlxuICogQSB0ZXh0IGNvbXBvbmVudCB0aGF0IGNhbiBiZSBleHBhbmRlZC9jb2xsYXBzZWQgdG8gc2hvdyBtb3JlIG9yIGxlc3MgY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1leHBhbmRhYmxlLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogJy4uLicsIGxpbWl0OiAxODAsIGNvbG9yOiAncHJpbWFyeScsIGV4cGFuZFRleHQ6ICdtw6FzJyB9XCI+PC92YWwtZXhwYW5kYWJsZS10ZXh0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBleHBhbmRhYmxlIHRleHQgKGNvbnRlbnQsIGxpbWl0LCBjb2xvciwgZXhwYW5kVGV4dClcbiAqL1xuZXhwb3J0IGNsYXNzIEV4cGFuZGFibGVUZXh0Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgdGV4dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0V4cGFuZGFibGVUZXh0SW5wdXR9XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcHJvcGVydHkgbGltaXQgLSBUaGUgY2hhcmFjdGVyIGxpbWl0IGJlZm9yZSB0cnVuY2F0aW9uLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgY29sb3IgZm9yIHRoZSBcInNlZSBtb3JlXCIgbGluay5cbiAgICogQHByb3BlcnR5IGV4cGFuZFRleHQgLSBUaGUgdGV4dCBmb3IgdGhlIGV4cGFuZCBsaW5rIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dDtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgZGVmYXVsdENvbG9yID0gJ3ByaW1hcnknO1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgZ2V0IHRydW5jYXRlZFRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLnByb3BzLmxpbWl0IHx8IDEwMDtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb250ZW50Py5sZW5ndGggPiBtYXhMZW5ndGggPyB0aGlzLnByb3BzLmNvbnRlbnQuc2xpY2UoMCwgbWF4TGVuZ3RoKSArICcuLi4nIDogdGhpcy5wcm9wcy5jb250ZW50O1xuICB9XG5cbiAgZ2V0IGlzVHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbnRlbnQ/Lmxlbmd0aCA+ICh0aGlzLnByb3BzLmxpbWl0IHx8IDEwMCk7XG4gIH1cblxuICBnZXRFeHBhbmRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZXhwYW5kVGV4dCB8fCB0aGlzLmkxOG4udCgnc2VlTW9yZScpO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIGNvbG9yKCkge1xuICAgIHJldHVybiByZXNvbHZlQ29sb3IodGhpcy5wcm9wcy5jb2xvciB8fCB0aGlzLmRlZmF1bHRDb2xvcik7XG4gIH1cbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW9GNUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQTNGcEM7UUFxR0UsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBc0JwQztJQXBCQyxJQUFJLGFBQWE7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBbENVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJHQXZGeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCxxekJBdEJTLE9BQU87OzRGQXdGTix1QkFBdUI7a0JBM0ZuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMsWUFDUjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUOzhCQTJFUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyByZXNvbHZlQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc3R5bGVzJztcbmltcG9ydCB7IEV4cGFuZGFibGVUZXh0SW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWV4cGFuZGFibGUtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tY29udGFpbmVyXCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCIgW2NsYXNzLmhhcy1ncmFkaWVudF09XCIhZXhwYW5kZWQgJiYgaXNUcnVuY2F0ZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudFwiPnt7IGV4cGFuZGVkID8gcHJvcHMuY29udGVudCA6IHRydW5jYXRlZFRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKCFleHBhbmRlZCAmJiBpc1RydW5jYXRlZCkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJzZWUtbW9yZVwiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRoaXMuY29sb3IoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldEV4cGFuZFRleHQoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyOm5vdCguZXhwYW5kZWQpIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTByZW07IC8qIEFsdHVyYSBwYXJhIHRleHRvIHRydW5jYWRvICovXG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIuZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lOyAvKiBTaW4gbMOtbWl0ZSBkZSBhbHR1cmEgYWwgZXhwYW5kaXIgKi9cbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC8qIE1hc2sgZ3JhZGllbnQgLSBmdW5jaW9uYSBlbiBjdWFscXVpZXIgY29sb3IgZGUgZm9uZG8gKi9cbiAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXI6bm90KC5leHBhbmRlZCkuaGFzLWdyYWRpZW50IC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLnNlZS1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIC5zZWUtbW9yZTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5zZWUtbW9yZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM3MDI2ZGYpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG4vKipcbiAqIHZhbC1leHBhbmRhYmxlLXRleHRcbiAqXG4gKiBBIHRleHQgY29tcG9uZW50IHRoYXQgY2FuIGJlIGV4cGFuZGVkL2NvbGxhcHNlZCB0byBzaG93IG1vcmUgb3IgbGVzcyBjb250ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWV4cGFuZGFibGUtdGV4dCBbcHJvcHNdPVwieyBjb250ZW50OiAnLi4uJywgbGltaXQ6IDE4MCwgY29sb3I6ICdwcmltYXJ5JywgZXhwYW5kVGV4dDogJ23DoXMnIH1cIj48L3ZhbC1leHBhbmRhYmxlLXRleHQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBFeHBhbmRhYmxlVGV4dElucHV0IC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGV4cGFuZGFibGUgdGV4dCAoY29udGVudCwgbGltaXQsIGNvbG9yLCBleHBhbmRUZXh0KVxuICovXG5leHBvcnQgY2xhc3MgRXhwYW5kYWJsZVRleHRDb21wb25lbnQge1xuICAvKipcbiAgICogRXhwYW5kYWJsZSB0ZXh0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7RXhwYW5kYWJsZVRleHRJbnB1dH1cbiAgICogQHByb3BlcnR5IGNvbnRlbnQgLSBUaGUgdGV4dCBjb250ZW50IHRvIGRpc3BsYXkuXG4gICAqIEBwcm9wZXJ0eSBsaW1pdCAtIFRoZSBjaGFyYWN0ZXIgbGltaXQgYmVmb3JlIHRydW5jYXRpb24uXG4gICAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSBjb2xvciBmb3IgdGhlIFwic2VlIG1vcmVcIiBsaW5rLlxuICAgKiBAcHJvcGVydHkgZXhwYW5kVGV4dCAtIFRoZSB0ZXh0IGZvciB0aGUgZXhwYW5kIGxpbmsgKG9wdGlvbmFsKS5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBFeHBhbmRhYmxlVGV4dElucHV0O1xuICBleHBhbmRlZCA9IGZhbHNlO1xuICBkZWZhdWx0Q29sb3IgPSAncHJpbWFyeSc7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBnZXQgdHJ1bmNhdGVkVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMucHJvcHMubGltaXQgfHwgMTAwO1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbnRlbnQ/Lmxlbmd0aCA+IG1heExlbmd0aCA/IHRoaXMucHJvcHMuY29udGVudC5zbGljZSgwLCBtYXhMZW5ndGgpICsgJy4uLicgOiB0aGlzLnByb3BzLmNvbnRlbnQ7XG4gIH1cblxuICBnZXQgaXNUcnVuY2F0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY29udGVudD8ubGVuZ3RoID4gKHRoaXMucHJvcHMubGltaXQgfHwgMTAwKTtcbiAgfVxuXG4gIGdldEV4cGFuZFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5leHBhbmRUZXh0IHx8IHRoaXMuaTE4bi50KCdzZWVNb3JlJykgfHwgJ1ZlciBtw6FzJztcbiAgfVxuXG4gIHRvZ2dsZUV4cGFuZCgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gIH1cblxuICBjb2xvcigpIHtcbiAgICByZXR1cm4gcmVzb2x2ZUNvbG9yKHRoaXMucHJvcHMuY29sb3IgfHwgdGhpcy5kZWZhdWx0Q29sb3IpO1xuICB9XG59XG4iXX0=