@sunbird-cb/consumption 0.0.0-watch
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.
- package/README.md +24 -0
- package/esm2015/lib/_common/announcements/announcements.component.js +98 -0
- package/esm2015/lib/_common/announcements/announcements.module.js +30 -0
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +113 -0
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +47 -0
- package/esm2015/lib/_common/calender/calender-day/calender-day.component.js +51 -0
- package/esm2015/lib/_common/calender/calender.component.js +191 -0
- package/esm2015/lib/_common/calender/calender.module.js +45 -0
- package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +89 -0
- package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +96 -0
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +90 -0
- package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +109 -0
- package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +77 -0
- package/esm2015/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +77 -0
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +95 -0
- package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +97 -0
- package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +150 -0
- package/esm2015/lib/_common/cards/card-resource/card-resource.component.js +23 -0
- package/esm2015/lib/_common/cards/card-user/card-user.component.js +74 -0
- package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +92 -0
- package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +91 -0
- package/esm2015/lib/_common/cards/cards.component.js +104 -0
- package/esm2015/lib/_common/cards/cards.module.js +168 -0
- package/esm2015/lib/_common/cards/provider-card/provider-card.component.js +52 -0
- package/esm2015/lib/_common/cbp-plan/cbp-plan.component.js +95 -0
- package/esm2015/lib/_common/cbp-plan/cbp-plan.module.js +38 -0
- package/esm2015/lib/_common/common-strip/common-strip.component.js +323 -0
- package/esm2015/lib/_common/common-strip/common-strip.model.js +2 -0
- package/esm2015/lib/_common/common-strip/common-strip.module.js +147 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +366 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.module.js +36 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +30 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +190 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +36 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +30 -0
- package/esm2015/lib/_common/content-progress/content-progress.component.js +76 -0
- package/esm2015/lib/_common/content-progress/content-progress.module.js +30 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +1661 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +2 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +152 -0
- package/esm2015/lib/_common/data-points/data-points.component.js +119 -0
- package/esm2015/lib/_common/data-points/data-points.module.js +28 -0
- package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +138 -0
- package/esm2015/lib/_common/dialog-components/dialog-components.module.js +65 -0
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.component.js +33 -0
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.module.js +19 -0
- package/esm2015/lib/_common/events/event-card/event-card.component.js +46 -0
- package/esm2015/lib/_common/events/events.component.js +111 -0
- package/esm2015/lib/_common/events/events.module.js +35 -0
- package/esm2015/lib/_common/highlights-of-week/highlights-of-week.component.js +50 -0
- package/esm2015/lib/_common/highlights-of-week/highlights-of-week.module.js +40 -0
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +258 -0
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +34 -0
- package/esm2015/lib/_common/key-highlights/key-highlights.component.js +45 -0
- package/esm2015/lib/_common/key-highlights/key-highlights.module.js +37 -0
- package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +103 -0
- package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +42 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +18 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +158 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel.module.js +93 -0
- package/esm2015/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +85 -0
- package/esm2015/lib/_common/microsites/national-learning-week/national-learning.module.js +87 -0
- package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +156 -0
- package/esm2015/lib/_common/microsites/providers/providers.module.js +90 -0
- package/esm2015/lib/_common/pills/pills.component.js +44 -0
- package/esm2015/lib/_common/pills/pills.module.js +34 -0
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +29 -0
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +40 -0
- package/esm2015/lib/_common/sliders/sliders.component.js +117 -0
- package/esm2015/lib/_common/sliders/sliders.model.js +2 -0
- package/esm2015/lib/_common/sliders/sliders.module.js +53 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +138 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.model.js +2 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.module.js +53 -0
- package/esm2015/lib/_common/speakers/speakers.component.js +73 -0
- package/esm2015/lib/_common/speakers/speakers.module.js +40 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.js +684 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.js +5 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.js +152 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +957 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +2 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +152 -0
- package/esm2015/lib/_common/top-learners/top-learners.component.js +104 -0
- package/esm2015/lib/_common/top-learners/top-learners.module.js +30 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.component.js +83 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.module.js +58 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.service.js +23 -0
- package/esm2015/lib/_common/user-progress/user-progress.component.js +111 -0
- package/esm2015/lib/_common/user-progress/user-progress.module.js +40 -0
- package/esm2015/lib/_constants/misc.constants.js +2 -0
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.directive.js +40 -0
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.module.js +22 -0
- package/esm2015/lib/_directives/image-responsive/image-responsive.directive.js +87 -0
- package/esm2015/lib/_directives/image-responsive/image-responsive.module.js +22 -0
- package/esm2015/lib/_directives/navigation/navigation.directive.js +43 -0
- package/esm2015/lib/_directives/navigation/navigation.module.js +22 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.directive.js +22 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.module.js +22 -0
- package/esm2015/lib/_models/card-content-v2.model.js +23 -0
- package/esm2015/lib/_models/card-content.model.js +23 -0
- package/esm2015/lib/_models/card-users.model.js +2 -0
- package/esm2015/lib/_models/compentencies.model.js +2 -0
- package/esm2015/lib/_models/content-strip-multiple.model.js +2 -0
- package/esm2015/lib/_models/event.js +2 -0
- package/esm2015/lib/_models/profile-v3.models.js +2 -0
- package/esm2015/lib/_models/rating.model.js +2 -0
- package/esm2015/lib/_models/widget-content.model.js +241 -0
- package/esm2015/lib/_models/widget-search.model.js +2 -0
- package/esm2015/lib/_models/widget-user.model.js +2 -0
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +24 -0
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +84 -0
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +24 -0
- package/esm2015/lib/_services/certificate.service.js +27 -0
- package/esm2015/lib/_services/common-methods.service.js +52 -0
- package/esm2015/lib/_services/configurations.service.js +106 -0
- package/esm2015/lib/_services/insite-data.service.js +56 -0
- package/esm2015/lib/_services/multilingual-translations.service.js +134 -0
- package/esm2015/lib/_services/rating.service.js +90 -0
- package/esm2015/lib/_services/viewer-route-util.js +100 -0
- package/esm2015/lib/_services/widget-content.service.js +477 -0
- package/esm2015/lib/_services/widget-user.service.js +300 -0
- package/esm2015/lib/consumption.component.js +26 -0
- package/esm2015/lib/consumption.config.js +7 -0
- package/esm2015/lib/consumption.module.js +56 -0
- package/esm2015/lib/consumption.service.js +14 -0
- package/esm2015/lib/registration-lib.config.js +15 -0
- package/esm2015/public-api.js +73 -0
- package/esm2015/sunbird-cb-consumption.js +5 -0
- package/fesm2015/sunbird-cb-consumption.js +11436 -0
- package/fesm2015/sunbird-cb-consumption.js.map +1 -0
- package/lib/_common/announcements/announcements.component.d.ts +25 -0
- package/lib/_common/announcements/announcements.component.d.ts.map +1 -0
- package/lib/_common/announcements/announcements.module.d.ts +11 -0
- package/lib/_common/announcements/announcements.module.d.ts.map +1 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +24 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts.map +1 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts +15 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts.map +1 -0
- package/lib/_common/calender/calender-day/calender-day.component.d.ts +22 -0
- package/lib/_common/calender/calender-day/calender-day.component.d.ts.map +1 -0
- package/lib/_common/calender/calender.component.d.ts +38 -0
- package/lib/_common/calender/calender.component.d.ts.map +1 -0
- package/lib/_common/calender/calender.module.d.ts +14 -0
- package/lib/_common/calender/calender.module.d.ts.map +1 -0
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +35 -0
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts.map +1 -0
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +32 -0
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts.map +1 -0
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +30 -0
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts.map +1 -0
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +40 -0
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts.map +1 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +31 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts.map +1 -0
- package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts +31 -0
- package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts.map +1 -0
- package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +37 -0
- package/lib/_common/cards/card-portrait/card-portrait.component.d.ts.map +1 -0
- package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts +37 -0
- package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts.map +1 -0
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +46 -0
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts.map +1 -0
- package/lib/_common/cards/card-resource/card-resource.component.d.ts +12 -0
- package/lib/_common/cards/card-resource/card-resource.component.d.ts.map +1 -0
- package/lib/_common/cards/card-user/card-user.component.d.ts +28 -0
- package/lib/_common/cards/card-user/card-user.component.d.ts.map +1 -0
- package/lib/_common/cards/card-wide/card-wide.component.d.ts +34 -0
- package/lib/_common/cards/card-wide/card-wide.component.d.ts.map +1 -0
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +38 -0
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts.map +1 -0
- package/lib/_common/cards/cards.component.d.ts +30 -0
- package/lib/_common/cards/cards.component.d.ts.map +1 -0
- package/lib/_common/cards/cards.module.d.ts +39 -0
- package/lib/_common/cards/cards.module.d.ts.map +1 -0
- package/lib/_common/cards/provider-card/provider-card.component.d.ts +18 -0
- package/lib/_common/cards/provider-card/provider-card.component.d.ts.map +1 -0
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts +29 -0
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts.map +1 -0
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts +13 -0
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.component.d.ts +108 -0
- package/lib/_common/common-strip/common-strip.component.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.model.d.ts +143 -0
- package/lib/_common/common-strip/common-strip.model.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.module.d.ts +36 -0
- package/lib/_common/common-strip/common-strip.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +52 -0
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.module.d.ts +12 -0
- package/lib/_common/competency-passbook/competency-passbook.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts +13 -0
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +50 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts +12 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +13 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts.map +1 -0
- package/lib/_common/content-progress/content-progress.component.d.ts +17 -0
- package/lib/_common/content-progress/content-progress.component.d.ts.map +1 -0
- package/lib/_common/content-progress/content-progress.module.d.ts +11 -0
- package/lib/_common/content-progress/content-progress.module.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +207 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +151 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts +39 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts.map +1 -0
- package/lib/_common/data-points/data-points.component.d.ts +24 -0
- package/lib/_common/data-points/data-points.component.d.ts.map +1 -0
- package/lib/_common/data-points/data-points.module.d.ts +10 -0
- package/lib/_common/data-points/data-points.module.d.ts.map +1 -0
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +26 -0
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
- package/lib/_common/dialog-components/dialog-components.module.d.ts +15 -0
- package/lib/_common/dialog-components/dialog-components.module.d.ts.map +1 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts +16 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts.map +1 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts +10 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts.map +1 -0
- package/lib/_common/events/event-card/event-card.component.d.ts +17 -0
- package/lib/_common/events/event-card/event-card.component.d.ts.map +1 -0
- package/lib/_common/events/events.component.d.ts +21 -0
- package/lib/_common/events/events.component.d.ts.map +1 -0
- package/lib/_common/events/events.module.d.ts +13 -0
- package/lib/_common/events/events.module.d.ts.map +1 -0
- package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts +18 -0
- package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts.map +1 -0
- package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts +13 -0
- package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts.map +1 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +37 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts.map +1 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +12 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts.map +1 -0
- package/lib/_common/key-highlights/key-highlights.component.d.ts +20 -0
- package/lib/_common/key-highlights/key-highlights.component.d.ts.map +1 -0
- package/lib/_common/key-highlights/key-highlights.module.d.ts +12 -0
- package/lib/_common/key-highlights/key-highlights.module.d.ts.map +1 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts +24 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts.map +1 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts +13 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts +9 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts +46 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +25 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts.map +1 -0
- package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts +24 -0
- package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts.map +1 -0
- package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts +23 -0
- package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts.map +1 -0
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts +40 -0
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts.map +1 -0
- package/lib/_common/microsites/providers/providers.module.d.ts +23 -0
- package/lib/_common/microsites/providers/providers.module.d.ts.map +1 -0
- package/lib/_common/pills/pills.component.d.ts +17 -0
- package/lib/_common/pills/pills.component.d.ts.map +1 -0
- package/lib/_common/pills/pills.module.d.ts +12 -0
- package/lib/_common/pills/pills.module.d.ts.map +1 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts +12 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts.map +1 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts +12 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.component.d.ts +31 -0
- package/lib/_common/sliders/sliders.component.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.model.d.ts +41 -0
- package/lib/_common/sliders/sliders.model.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.module.d.ts +13 -0
- package/lib/_common/sliders/sliders.module.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +34 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts +35 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts +13 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts.map +1 -0
- package/lib/_common/speakers/speakers.component.d.ts +19 -0
- package/lib/_common/speakers/speakers.component.d.ts.map +1 -0
- package/lib/_common/speakers/speakers.module.d.ts +13 -0
- package/lib/_common/speakers/speakers.module.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.d.ts +135 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.d.ts +159 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.d.ts +37 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +165 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +151 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +39 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts.map +1 -0
- package/lib/_common/top-learners/top-learners.component.d.ts +22 -0
- package/lib/_common/top-learners/top-learners.component.d.ts.map +1 -0
- package/lib/_common/top-learners/top-learners.module.d.ts +11 -0
- package/lib/_common/top-learners/top-learners.module.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts +26 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts +17 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts +11 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts.map +1 -0
- package/lib/_common/user-progress/user-progress.component.d.ts +28 -0
- package/lib/_common/user-progress/user-progress.component.d.ts.map +1 -0
- package/lib/_common/user-progress/user-progress.module.d.ts +13 -0
- package/lib/_common/user-progress/user-progress.module.d.ts.map +1 -0
- package/lib/_constants/misc.constants.d.ts +3 -0
- package/lib/_constants/misc.constants.d.ts.map +1 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts +13 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts +9 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
- package/lib/_directives/image-responsive/image-responsive.directive.d.ts +21 -0
- package/lib/_directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
- package/lib/_directives/image-responsive/image-responsive.module.d.ts +9 -0
- package/lib/_directives/image-responsive/image-responsive.module.d.ts.map +1 -0
- package/lib/_directives/navigation/navigation.directive.d.ts +13 -0
- package/lib/_directives/navigation/navigation.directive.d.ts.map +1 -0
- package/lib/_directives/navigation/navigation.module.d.ts +9 -0
- package/lib/_directives/navigation/navigation.module.d.ts.map +1 -0
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts +11 -0
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts.map +1 -0
- package/lib/_directives/scrollable-item/scrollable-item.module.d.ts +9 -0
- package/lib/_directives/scrollable-item/scrollable-item.module.d.ts.map +1 -0
- package/lib/_models/card-content-v2.model.d.ts +45 -0
- package/lib/_models/card-content-v2.model.d.ts.map +1 -0
- package/lib/_models/card-content.model.d.ts +42 -0
- package/lib/_models/card-content.model.d.ts.map +1 -0
- package/lib/_models/card-users.model.d.ts +51 -0
- package/lib/_models/card-users.model.d.ts.map +1 -0
- package/lib/_models/compentencies.model.d.ts +10 -0
- package/lib/_models/compentencies.model.d.ts.map +1 -0
- package/lib/_models/content-strip-multiple.model.d.ts +130 -0
- package/lib/_models/content-strip-multiple.model.d.ts.map +1 -0
- package/lib/_models/event.d.ts +19 -0
- package/lib/_models/event.d.ts.map +1 -0
- package/lib/_models/profile-v3.models.d.ts +92 -0
- package/lib/_models/profile-v3.models.d.ts.map +1 -0
- package/lib/_models/rating.model.d.ts +18 -0
- package/lib/_models/rating.model.d.ts.map +1 -0
- package/lib/_models/widget-content.model.d.ts +499 -0
- package/lib/_models/widget-content.model.d.ts.map +1 -0
- package/lib/_models/widget-search.model.d.ts +253 -0
- package/lib/_models/widget-search.model.d.ts.map +1 -0
- package/lib/_models/widget-user.model.d.ts +6 -0
- package/lib/_models/widget-user.model.d.ts.map +1 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +8 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts.map +1 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +9 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts.map +1 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +9 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +10 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts +9 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts.map +1 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +10 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts.map +1 -0
- package/lib/_services/certificate.service.d.ts +12 -0
- package/lib/_services/certificate.service.d.ts.map +1 -0
- package/lib/_services/common-methods.service.d.ts +43 -0
- package/lib/_services/common-methods.service.d.ts.map +1 -0
- package/lib/_services/configurations.service.d.ts +75 -0
- package/lib/_services/configurations.service.d.ts.map +1 -0
- package/lib/_services/insite-data.service.d.ts +19 -0
- package/lib/_services/insite-data.service.d.ts.map +1 -0
- package/lib/_services/multilingual-translations.service.d.ts +24 -0
- package/lib/_services/multilingual-translations.service.d.ts.map +1 -0
- package/lib/_services/rating.service.d.ts +19 -0
- package/lib/_services/rating.service.d.ts.map +1 -0
- package/lib/_services/viewer-route-util.d.ts +9 -0
- package/lib/_services/viewer-route-util.d.ts.map +1 -0
- package/lib/_services/widget-content.service.d.ts +91 -0
- package/lib/_services/widget-content.service.d.ts.map +1 -0
- package/lib/_services/widget-user.service.d.ts +37 -0
- package/lib/_services/widget-user.service.d.ts.map +1 -0
- package/lib/consumption.component.d.ts +9 -0
- package/lib/consumption.component.d.ts.map +1 -0
- package/lib/consumption.config.d.ts +7 -0
- package/lib/consumption.config.d.ts.map +1 -0
- package/lib/consumption.module.d.ts +16 -0
- package/lib/consumption.module.d.ts.map +1 -0
- package/lib/consumption.service.d.ts +7 -0
- package/lib/consumption.service.d.ts.map +1 -0
- package/lib/registration-lib.config.d.ts +5 -0
- package/lib/registration-lib.config.d.ts.map +1 -0
- package/package.json +21 -0
- package/public-api.d.ts +70 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-consumption.d.ts +6 -0
- package/sunbird-cb-consumption.d.ts.map +1 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { NsCardContent } from '../../../_models/card-content.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
5
|
+
import * as i2 from "@ngx-translate/core";
|
|
6
|
+
import * as i3 from "../../../_services/multilingual-translations.service";
|
|
7
|
+
import * as i4 from "@sunbird-cb/utils-v2";
|
|
8
|
+
import * as i5 from "../../../_services/widget-content.service";
|
|
9
|
+
import * as i6 from "@angular/material/card";
|
|
10
|
+
import * as i7 from "@angular/material/button";
|
|
11
|
+
import * as i8 from "@angular/material/icon";
|
|
12
|
+
import * as i9 from "../../display-content-type-lib/display-content-type-lib.component";
|
|
13
|
+
import * as i10 from "../../skeleton-loader-lib/skeleton-loader-lib.component";
|
|
14
|
+
import * as i11 from "@angular/common";
|
|
15
|
+
import * as i12 from "@angular/material/tooltip";
|
|
16
|
+
import * as i13 from "../../../_directives/default-thumbnail/default-thumbnail.directive";
|
|
17
|
+
import * as i14 from "../../../_pipes/pipe-public-URL/pipe-public-URL.pipe";
|
|
18
|
+
import * as i15 from "../../../_pipes/pipe-duration-transform/pipe-duration-transform.pipe";
|
|
19
|
+
export class CardPortraitComponent {
|
|
20
|
+
constructor(snackBar, translate, langtranslations, configSvc, contSvc) {
|
|
21
|
+
this.snackBar = snackBar;
|
|
22
|
+
this.translate = translate;
|
|
23
|
+
this.langtranslations = langtranslations;
|
|
24
|
+
this.configSvc = configSvc;
|
|
25
|
+
this.contSvc = contSvc;
|
|
26
|
+
this.isCardLoading = false;
|
|
27
|
+
this.contentData = new EventEmitter();
|
|
28
|
+
this.isCardFlipped = false;
|
|
29
|
+
this.acbpConstants = NsCardContent.ACBPConst;
|
|
30
|
+
this.showFlip = false;
|
|
31
|
+
this.widgetType = 'df';
|
|
32
|
+
this.widgetSubType = 'sdf';
|
|
33
|
+
this.langtranslations.languageSelectedObservable.subscribe(() => {
|
|
34
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
35
|
+
this.translate.setDefaultLang('en');
|
|
36
|
+
const lang = localStorage.getItem('websiteLanguage');
|
|
37
|
+
this.translate.use(lang);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
43
|
+
if (instanceConfig) {
|
|
44
|
+
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
45
|
+
this.sourceLogos = instanceConfig.sources;
|
|
46
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
50
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
showSnackbar() {
|
|
54
|
+
if (this.showIntranetContent) {
|
|
55
|
+
this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
|
|
56
|
+
}
|
|
57
|
+
else if (!this.isLiveOrMarkForDeletion) {
|
|
58
|
+
this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
getRedirectUrlData(contentData) {
|
|
62
|
+
// for telemetry
|
|
63
|
+
if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
|
|
64
|
+
contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
|
|
65
|
+
}
|
|
66
|
+
this.contSvc.changeTelemetryData(contentData);
|
|
67
|
+
// for redirection
|
|
68
|
+
this.contentData.emit(contentData);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
CardPortraitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CardPortraitComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: i4.ConfigurationsService }, { token: i5.WidgetContentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
CardPortraitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CardPortraitComponent, selector: "sb-uic-card-portrait", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData.content.posterImage\">\n <img mat-card-image [src]=\"widgetData.content.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData.content.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData.content.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData.content.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData.content.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <!-- <ng-container *ngIf=\"widgetData?.content?.endDate\">\n <div class=\"cbp-mark\">\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{widgetData?.content?.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"widgetData?.content?.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">Over due</p>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData.content?.primaryCategory\">\n\n </sb-uic-display-content-type>\n </div>\n </div>\n <div [id]=\"'m-c-'+ widgetData.content?.identifier\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n {{ widgetData.content.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData.content.creatorLogo | pipePublicURL \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData.content.sourceName + '_' + widgetData.content.identifier)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData.content.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData.content.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>\n</ng-container>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n</ng-container>\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:346px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;height:346px;margin:20px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;position:relative;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:normal;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container .source-div{position:relative;top:100px;background:white;z-index:3;border:1px solid #DEDFE0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:\"Lato-Regular\";font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:\"Lato-Bold\";font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:\"Lato-Regular\";font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}\n"], components: [{ type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.DisplayContentTypeLibComponent, selector: "sb-uic-display-content-type", inputs: ["useTranslation", "displayContentType"] }, { type: i10.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i6.MatCardImage, selector: "[mat-card-image], [matCardImage]" }, { type: i13.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "pipePublicURL": i14.PipePublicURL, "date": i11.DatePipe, "pipeDurationTransform": i15.PipeDurationTransformPipe } });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CardPortraitComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{
|
|
76
|
+
selector: 'sb-uic-card-portrait',
|
|
77
|
+
templateUrl: './card-portrait.component.html',
|
|
78
|
+
styleUrls: ['./card-portrait.component.scss']
|
|
79
|
+
}]
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: i4.ConfigurationsService }, { type: i5.WidgetContentService }]; }, propDecorators: { widgetData: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], isLiveOrMarkForDeletion: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], showIntranetContent: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], isIntranetAllowedSettings: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], isCardLoading: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], contentData: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], cbPlanMapData: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFDVSxRQUFxQixFQUNyQixTQUEyQixFQUMzQixnQkFBaUQsRUFDakQsU0FBZ0MsRUFDaEMsT0FBNkI7UUFKN0IsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBQ2pELGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBaEI5QixrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFFL0Msa0JBQWEsR0FBVyxLQUFLLENBQUE7UUFDN0Isa0JBQWEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFBO1FBSXZDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsZUFBVSxHQUFRLElBQUksQ0FBQTtRQUN0QixrQkFBYSxHQUFPLEtBQUssQ0FBQTtRQU9yQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUUsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFSCxRQUFRO1FBQ04sTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUE7UUFDcEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQTtZQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUE7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQTtTQUNqRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLCtDQUErQyxDQUFBO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUksNERBQTRELENBQUE7U0FDbEY7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1NBQ3JGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNqRjtJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxXQUFnQjtRQUNqQyxnQkFBZ0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNyRixXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7U0FDckU7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzdDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNwQyxDQUFDOzttSEExRFUscUJBQXFCO3VHQUFyQixxQkFBcUIsbVdDZGxDLHc5VkF3TGM7NEZEMUtELHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7c1BBRVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5zQ2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2NhcmQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIEV2ZW50U2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9tdWx0aWxpbmd1YWwtdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jYXJkLXBvcnRyYWl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtcG9ydHJhaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLXBvcnRyYWl0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZFBvcnRyYWl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd2lkZ2V0RGF0YSE6IE5zQ2FyZENvbnRlbnQuSUNhcmQ7XG4gIEBJbnB1dCgpIGlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uOiBhbnlcbiAgQElucHV0KCkgc2hvd0ludHJhbmV0Q29udGVudDogYW55XG4gIEBJbnB1dCgpIGlzSW50cmFuZXRBbGxvd2VkU2V0dGluZ3M6IGFueVxuICBASW5wdXQoKSBpc0NhcmRMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgQE91dHB1dCgpIGNvbnRlbnREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQElucHV0KCkgIGNiUGxhbk1hcERhdGE6IGFueVxuICBpc0NhcmRGbGlwcGVkOmJvb2xlYW4gPSBmYWxzZVxuICBhY2JwQ29uc3RhbnRzID0gTnNDYXJkQ29udGVudC5BQ0JQQ29uc3RcbiAgZGVmYXVsdFRodW1ibmFpbDogYW55XG4gIHNvdXJjZUxvZ29zOiBhbnlcbiAgZGVmYXVsdFNMb2dvOiBhbnlcbiAgc2hvd0ZsaXAgPSBmYWxzZVxuICB3aWRnZXRUeXBlOiBhbnkgPSAnZGYnXG4gIHdpZGdldFN1YlR5cGU6IGFueSA9J3NkZidcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndHJhbnNsYXRpb25zOiBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250U3ZjOiBXaWRnZXRDb250ZW50U2VydmljZSwpIHsgXG4gICAgICB0aGlzLmxhbmd0cmFuc2xhdGlvbnMubGFuZ3VhZ2VTZWxlY3RlZE9ic2VydmFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSkge1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSFcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgaW5zdGFuY2VDb25maWcgPSB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZ1xuICAgIGlmIChpbnN0YW5jZUNvbmZpZykge1xuICAgICAgdGhpcy5kZWZhdWx0VGh1bWJuYWlsID0gaW5zdGFuY2VDb25maWcubG9nb3MuZGVmYXVsdENvbnRlbnQgfHwgJydcbiAgICAgIHRoaXMuc291cmNlTG9nb3MgPSBpbnN0YW5jZUNvbmZpZy5zb3VyY2VzXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9IGluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRTb3VyY2VMb2dvIHx8ICcnXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRodW1ibmFpbCA9ICcvYXNzZXRzL2luc3RhbmNlcy9lYWdsZS9hcHBfbG9nb3MvZGVmYXVsdC5wbmcnXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9ICAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL0thcm1heW9naUJoYXJhdF9Mb2dvLnN2ZydcbiAgICB9XG4gIH1cblxuICBzaG93U25hY2tiYXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0ludHJhbmV0Q29udGVudCkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIGludHJhbmV0JywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0xpdmVPck1hcmtGb3JEZWxldGlvbikge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWQnLCAnWCcsIHsgZHVyYXRpb246IDIwMDAgfSlcbiAgICB9XG4gIH1cbiAgZ2V0UmVkaXJlY3RVcmxEYXRhKGNvbnRlbnREYXRhOiBhbnkpe1xuICAgIC8vIGZvciB0ZWxlbWV0cnlcbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0ICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uKSB7XG4gICAgICBjb250ZW50RGF0YVsndHlwZU9mVGVsZW1ldHJ5J10gPSB0aGlzLndpZGdldERhdGEuY29udGV4dC5wYWdlU2VjdGlvblxuICAgIH1cbiAgICB0aGlzLmNvbnRTdmMuY2hhbmdlVGVsZW1ldHJ5RGF0YShjb250ZW50RGF0YSlcbiAgICAvLyBmb3IgcmVkaXJlY3Rpb25cbiAgICB0aGlzLmNvbnRlbnREYXRhLmVtaXQoY29udGVudERhdGEpXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXJkTG9hZGluZ1wiPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJjYXJkLXN0YW5kYXJkLWNvbnRhaW5lciBtci01IHBhZGRpbmctcmVtb3ZlIGN1cnNvci1wb2ludGVyICB7e3dpZGdldERhdGE/LmNhcmRDdXN0b21lQ2xhc3N9fVwiIFtuZ0NsYXNzXT1cIntcbiAgICBncmV5T3V0OlxuICAgICAgd2lkZ2V0RGF0YS5kZWxldGVkTW9kZSA9PT0gJ2dyZXlPdXQnICYmICFpc0xpdmVPck1hcmtGb3JEZWxldGlvblxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB3aWRnZXREYXRhPy5pbnRyYW5ldE1vZGUgPT09ICdncmV5T3V0JyAmJiBzaG93SW50cmFuZXRDb250ZW50XG4gIH1cIiAoY2xpY2spPVwiKHNob3dJbnRyYW5ldENvbnRlbnQgfHwgIWlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uKSAmJiBzaG93U25hY2tiYXIoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZGlzcGxheS1jb250ZW50c1wiIFtuZ0NsYXNzXT1cIntcbiAgICAgIGRpc2FibGVDbGljazpcbiAgICAgICAgd2lkZ2V0RGF0YS5kZWxldGVkTW9kZSA9PT0gJ2dyZXlPdXQnICYmICFpc0xpdmVPck1hcmtGb3JEZWxldGlvblxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogd2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudFxuICAgIH1cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS5jb250ZW50XCI+XG4gICAgICA8YSAoY2xpY2spPVwiZ2V0UmVkaXJlY3RVcmxEYXRhKHdpZGdldERhdGE/LmNvbnRlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIHJvbGU9XCJsaW5rXCIgaTE4bi1hcmlhLWxhYmVsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXJkRmxpcHBlZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1kYW5nZXJcIiByb2xlPVwibm90ZVwiIGkxOG4tYXJpYS1sYWJlbCBhcmlhLWxhYmVsPVwiQ29udGVudCBleHBpcmVkIG9yIGRlbGV0ZWRcIiBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgbWF0VG9vbHRpcD1cIkNvbnRlbnQgbWF5IGJlIGV4cGlyZWQgb3IgZGVsZXRlZFwiICpuZ0lmPVwiIWlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRhbmdlclwiIHJvbGU9XCJub3RlXCIgaTE4bi1hcmlhLWxhYmVsIGFyaWEtbGFiZWw9XCJJbnRyYW5ldCBjb250ZW50XCIgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgIG1hdFRvb2x0aXA9XCJBdmFpbGFibGUgb25seSBpbiBDb21wYW55J3MgbmV0d29ya1wiXG4gICAgICAgICpuZ0lmPVwid2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudFwiPjwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dGbGlwXCIgY2xhc3M9XCJkZXRhaWwtYnV0dG9uIHdzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZC1vcDMwXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJpc0NhcmRGbGlwcGVkID0gdHJ1ZVwiIGFyaWEtbGFiZWw9XCJEZXRhaWxzXCIgaTE4bi1hcmlhLWxhYmVsPVwiRGV0YWlscyB8IENsaWNrIHRvIHNlZSBkZXRhaWxzXCI+XG4gICAgICAgIDxtYXQtaWNvbj5mbGlwX3RvX2JhY2s8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cIm1pbi10b3BcIj5cbiAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlXCI+XG4gICAgICAgICAgICA8aW1nIG1hdC1jYXJkLWltYWdlIFtzcmNdPVwid2lkZ2V0RGF0YS5jb250ZW50LnBvc3RlckltYWdlIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGEuY29udGVudC5uYW1lXCIgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uOyBlbHNlIGRlZmF1bHRJbWdcIj5cbiAgICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5hcHBJY29uIHwgcGlwZVB1YmxpY1VSTFwiIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWltZyB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQgbWFyZ2luLXJlbW92ZVwiICBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFRodW1ibmFpbFwiXG4gICAgICAgICAgICAgIFthbHRdPVwid2lkZ2V0RGF0YS5jb250ZW50Lm5hbWVcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbWc+XG4gICAgICAgICAgICAgIDxpbWcgbWF0LWNhcmQtaW1hZ2UgW3NyY109XCJkZWZhdWx0VGh1bWJuYWlsXCIgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtaW1nIHdzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZCBtYXJnaW4tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhLmNvbnRlbnQubmFtZVwiIC8+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2UtZGl2XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cIndpZGdldERhdGEuY29udGVudC5jcmVhdG9yTG9nbyB8IHBpcGVQdWJsaWNVUkxcIiBjbGFzcz1cInNvdXJjZS1pY29uXCIgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgIFthbHRdPVwiKHdpZGdldERhdGEuY29udGVudC5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YS5jb250ZW50LmlkZW50aWZpZXIpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNicC1tYXJrXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmVuZERhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFya1wiPlxuICAgICAgICAgICAgICA8cCAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uVVBDT01JTkdcIiAgY2xhc3M9XCJjYnAtd2FybmluZ1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/LlNVQ0NFU1NcIiAgY2xhc3M9XCJjYnAtc3VjY2Vzc1wiPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wbGFuRHVyYXRpb24gPT09IGFjYnBDb25zdGFudHM/Lk9WRVJEVUVcIiBjbGFzcz1cImNicC1kYW5nZXJcIj5PdmVyIGR1ZTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2JQbGFuTWFwRGF0YSAmJiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdICAmJiAgY2JQbGFuTWFwRGF0YVt3aWRnZXREYXRhPy5jb250ZW50Py5pZGVudGlmaWVyXT8uY29udGVudFN0YXR1cyA8IDJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2JwUGxhblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YToge1xuICAgICAgICAgICAgICBjYnBEYXRhOiBjYlBsYW5NYXBEYXRhW3dpZGdldERhdGE/LmNvbnRlbnQ/LmlkZW50aWZpZXJdXG4gICAgICAgICAgICB9fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkdXJhdGlvbi1ib3ggcmlnaHQtY29ybmVyXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiA+IDBcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiBtci0xXCI+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIgd3MtbWF0LXdoaXRlLXRleHQgZHVyYXRpb25cIj5cbiAgICAgICAgICAgICAge3sgKHdpZGdldERhdGE/LmNvbnRlbnQ/LmR1cmF0aW9uIHx8IDEyMCl8IHBpcGVEdXJhdGlvblRyYW5zZm9ybTogJ2htcycgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tYm94IHJpZ2h0LWNvcm5lclwiICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8ucHJvZ3JhbUR1cmF0aW9uID4gMFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWFpbl9pY29uIG1yLTFcIj5hY2Nlc3NfdGltZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiB3cy1tYXQtd2hpdGUtdGV4dCBkdXJhdGlvblwiPlxuICAgICAgICAgICAgICB7e3dpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbn19IHt7d2lkZ2V0RGF0YT8uY29udGVudD8ucHJvZ3JhbUR1cmF0aW9uID09PSAxID8gJ2RheScgOiAnZGF5cyd9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2Vfd2lkZ2V0IGZsZXggbWFyZ2luLXJlbW92ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmQgY291cnNlX3YyXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiB3cy1tYXQtZGVmYXVsdC10ZXh0IG1hcmdpbi1yaWdodC14c1wiPnZpZGVvX2xpYnJhcnk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c2ItdWljLWRpc3BsYXktY29udGVudC10eXBlIGkxOG4tdGl0bGUgdGl0bGU9XCJDb250ZW50IFR5cGVcIiAqbmdJZj1cIndpZGdldERhdGEuY29udGVudD8ucHJpbWFyeUNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndzLW1hdC1ibGFjazYwLXRleHQgZm9udC1ub3JtYWwgbWF0LWNhcHRpb24gXCIgW2Rpc3BsYXlDb250ZW50VHlwZV09XCJ3aWRnZXREYXRhLmNvbnRlbnQ/LnByaW1hcnlDYXRlZ29yeT09PSdDb3Vyc2UgVW5pdCdcbiAgICAgICAgICAgICAgICA/J01vZHVsZSdcbiAgICAgICAgICAgICAgICA6d2lkZ2V0RGF0YS5jb250ZW50Py5wcmltYXJ5Q2F0ZWdvcnlcIj5cblxuICAgICAgICAgICAgICA8L3NiLXVpYy1kaXNwbGF5LWNvbnRlbnQtdHlwZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgW2lkXT1cIidtLWMtJysgd2lkZ2V0RGF0YS5jb250ZW50Py5pZGVudGlmaWVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LXN1YmhlYWRpbmctMSB0aXRsZS10ZXh0IHdzLW1hdC10ZXh0LWJsb2NrLWZhZGUtZ3JhZGllbnRcIj5cbiAgICAgICAgICAgIHt7IHdpZGdldERhdGEuY29udGVudC5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtd3JhcCBmbGV4LW1pZGRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdXJzZV9sb2dvX2JveFwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0RGF0YS5jb250ZW50LmNyZWF0b3JMb2dvIHwgcGlwZVB1YmxpY1VSTCBcIiBjbGFzcz1cInNvdXJjZS1pY29uXCIgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRTTG9nb1wiXG4gICAgICAgICAgICAgIFthbHRdPVwiKHdpZGdldERhdGEuY29udGVudC5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YS5jb250ZW50LmlkZW50aWZpZXIpXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm9yZy10ZXh0XCI+e3snY2FyZGNvbnRlbnR2Mi5ieScgfCB0cmFuc2xhdGV9fSAtLT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcmctdGV4dFwiPkJ5Jm5ic3A7IHt7ICh3aWRnZXREYXRhPy5jb250ZW50Py5vcmdhbmlzYXRpb24gJiYgd2lkZ2V0RGF0YT8uY29udGVudD8ub3JnYW5pc2F0aW9uWzBdKSA/IHdpZGdldERhdGE/LmNvbnRlbnQ/Lm9yZ2FuaXNhdGlvblswXSA6ICdLYXJtYXlvZ2kgQmhhcmF0JyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSByYXRpbmctc2Vzc2lvbiBtYXJnaW4tdG9wLW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlXCIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5hdmdSYXRpbmdcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibXItMVwiPnN0YXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57e3dpZGdldERhdGEuY29udGVudC5hdmdSYXRpbmd9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC1tXCI+e3sgJ2NhcmRjb250ZW50djIubW9zdEVucm9sbGVkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj4gLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MgJiYgd2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MuaW5jbHVkZXMoJ21vc3RFbnJvbGxlZCcpXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9zdC1lbnJvbGxlZC10ZXh0IG1hcmdpbi1sZWZ0LXhzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSB7eyAnY2FyZGNvbnRlbnR2Mi5tb3N0RW5yb2xsZWQnIHwgdHJhbnNsYXRlIH19IC0tPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MgJiYgd2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MuaW5jbHVkZXMoJ21vc3RUcmVuZGluZycpXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9zdC1lbnJvbGxlZC10ZXh0IG1hcmdpbi1sZWZ0LXhzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSB7eyAnY2FyZGNvbnRlbnR2Mi5tb3N0VHJlbmRpbmcnIHwgdHJhbnNsYXRlIH19IC0tPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NhcmRGbGlwcGVkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPCEtLSA8aDIgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0yIGZsZXgtMSBtaW4tdy0wIG1hcmdpbi1yZW1vdmUtYm90dG9tXCIgaTE4bj57eydjYXJkY29udGVudHYyLnJlYXNvbicgfCB0cmFuc2xhdGV9fTwvaDI+IC0tPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXNDYXJkRmxpcHBlZCA9IGZhbHNlXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1qdXN0aWZ5IG1hdC1ib2R5LTFcIj5cbiAgICAgICAge3sgd2lkZ2V0RGF0YS5jb250ZW50LnJlYXNvbiB9fVxuICAgICAgPC9wPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ2FyZExvYWRpbmdcIj5cbiAgPG1hdC1jYXJkIGNsYXNzPVwiY2FyZC1zdGFuZGFyZC1jb250YWluZXIgbXItNSBwYWRkaW5nLXJlbW92ZVwiID5cbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS1jb250ZW50c1wiID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXJkRmxpcHBlZFwiPlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cIm1pbi10b3BcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMDAlJ1wiIFtoZWlnaHRdPVwiJzE0MHB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCdcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1tXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291cnNlX3dpZGdldCBmbGV4IG1hcmdpbi1yZW1vdmVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmRcIj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzY1cHgnXCIgW2hlaWdodF09XCInMTZweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQgYnItOCdcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LXN1YmhlYWRpbmctMSB0aXRsZS10ZXh0IHdzLW1hdC10ZXh0LWJsb2NrLWZhZGUtZ3JhZGllbnRcIj5cbiAgICAgICAgICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMDAlJ1wiIFtoZWlnaHRdPVwiJzE2cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMTFweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBtYXJnaW4tdG9wLXMnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC13cmFwIGZsZXgtbWlkZGxlIG1hcmdpbi10b3AtbVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicyOHB4J1wiIFtoZWlnaHRdPVwiJzI4cHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JnLXRleHRcIj4gPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMTFweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCdcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSByYXRpbmctc2Vzc2lvbiBtYXJnaW4tdG9wLW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGVcIj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzQ1cHgnXCIgW2hlaWdodF09XCInMTJweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQgbWFyZ2luLXRvcC1tJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWNhcmQ+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjYnBQbGFuICBsZXQtZGF0YT1cImRhdGFcIj5cbiAgPGRpdiBjbGFzcz1cImNicC1tYXJrIGxlZnQtMCBib3JkZXItdG9wLXJhZGl1c1wiPlxuICAgIDxwICpuZ0lmPVwiZGF0YS5jYnBEYXRhLnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uVVBDT01JTkdcIiAgY2xhc3M9XCJjYnAtd2FybmluZ1wiPnt7ZGF0YS5jYnBEYXRhLmVuZERhdGUgfCBkYXRlOiAnZCBNTU0sIHknfX08L3A+XG4gICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5TVUNDRVNTXCIgIGNsYXNzPVwiY2JwLXN1Y2Nlc3NcIj57e2RhdGEuY2JwRGF0YS5lbmREYXRlIHwgZGF0ZTogJ2QgTU1NLCB5J319PC9wPlxuICAgIDxwICpuZ0lmPVwiZGF0YS5jYnBEYXRhLnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uT1ZFUkRVRVwiIGNsYXNzPVwiY2JwLWRhbmdlclwiPnt7J092ZXJEdWUnIH19PC9wPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { NsCardContent } from '../../../_models/card-content.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
5
|
+
import * as i2 from "@ngx-translate/core";
|
|
6
|
+
import * as i3 from "../../../_services/multilingual-translations.service";
|
|
7
|
+
import * as i4 from "@sunbird-cb/utils-v2";
|
|
8
|
+
import * as i5 from "../../../_services/widget-content.service";
|
|
9
|
+
import * as i6 from "@angular/material/card";
|
|
10
|
+
import * as i7 from "@angular/material/button";
|
|
11
|
+
import * as i8 from "@angular/material/icon";
|
|
12
|
+
import * as i9 from "../../skeleton-loader-lib/skeleton-loader-lib.component";
|
|
13
|
+
import * as i10 from "@angular/common";
|
|
14
|
+
import * as i11 from "@angular/material/tooltip";
|
|
15
|
+
import * as i12 from "../../../_directives/default-thumbnail/default-thumbnail.directive";
|
|
16
|
+
import * as i13 from "../../../_pipes/pipe-public-URL/pipe-public-URL.pipe";
|
|
17
|
+
import * as i14 from "../../../_pipes/pipe-duration-transform/pipe-duration-transform.pipe";
|
|
18
|
+
export class CardPortraitExtComponent {
|
|
19
|
+
constructor(snackBar, translate, langtranslations, configSvc, contSvc) {
|
|
20
|
+
this.snackBar = snackBar;
|
|
21
|
+
this.translate = translate;
|
|
22
|
+
this.langtranslations = langtranslations;
|
|
23
|
+
this.configSvc = configSvc;
|
|
24
|
+
this.contSvc = contSvc;
|
|
25
|
+
this.isCardLoading = false;
|
|
26
|
+
this.contentData = new EventEmitter();
|
|
27
|
+
this.isCardFlipped = false;
|
|
28
|
+
this.acbpConstants = NsCardContent.ACBPConst;
|
|
29
|
+
this.showFlip = false;
|
|
30
|
+
this.widgetType = 'df';
|
|
31
|
+
this.widgetSubType = 'sdf';
|
|
32
|
+
this.langtranslations.languageSelectedObservable.subscribe(() => {
|
|
33
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
34
|
+
this.translate.setDefaultLang('en');
|
|
35
|
+
const lang = localStorage.getItem('websiteLanguage');
|
|
36
|
+
this.translate.use(lang);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
if (this.widgetData && this.widgetData.content) {
|
|
42
|
+
this.widgetData.content.duration = this.widgetData.content.duration * 60;
|
|
43
|
+
}
|
|
44
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
45
|
+
if (instanceConfig) {
|
|
46
|
+
this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
|
|
47
|
+
this.sourceLogos = instanceConfig.sources;
|
|
48
|
+
this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
|
|
52
|
+
this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
showSnackbar() {
|
|
56
|
+
if (this.showIntranetContent) {
|
|
57
|
+
this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
|
|
58
|
+
}
|
|
59
|
+
else if (!this.isLiveOrMarkForDeletion) {
|
|
60
|
+
this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
getRedirectUrlData(contentData) {
|
|
64
|
+
// for telemetry
|
|
65
|
+
if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
|
|
66
|
+
contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
|
|
67
|
+
}
|
|
68
|
+
this.contSvc.changeTelemetryData(contentData);
|
|
69
|
+
// for redirection
|
|
70
|
+
this.contentData.emit(contentData);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
CardPortraitExtComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CardPortraitExtComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: i4.ConfigurationsService }, { token: i5.WidgetContentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
CardPortraitExtComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CardPortraitExtComponent, selector: "sb-uic-card-portrait-ext", inputs: { widgetData: "widgetData", isLiveOrMarkForDeletion: "isLiveOrMarkForDeletion", showIntranetContent: "showIntranetContent", isIntranetAllowedSettings: "isIntranetAllowedSettings", isCardLoading: "isCardLoading", cbPlanMapData: "cbPlanMapData" }, outputs: { contentData: "contentData" }, ngImport: i0, template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove cursor-pointer {{widgetData?.cardCustomeClass}}\" [ngClass]=\"{\n greyOut:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\" (click)=\"(showIntranetContent || !isLiveOrMarkForDeletion) && showSnackbar()\">\n <div class=\"display-contents\" [ngClass]=\"{\n disableClick:\n widgetData?.deletedMode === 'greyOut' && !isLiveOrMarkForDeletion\n ? true\n : widgetData?.intranetMode === 'greyOut' && showIntranetContent\n }\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\"\n role=\"link\" i18n-aria-label>\n <ng-container *ngIf=\"!isCardFlipped\">\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Content expired or deleted\" i18n-matTooltip\n matTooltip=\"Content may be expired or deleted\" *ngIf=\"!isLiveOrMarkForDeletion\"></div>\n <div class=\"status-danger\" role=\"note\" i18n-aria-label aria-label=\"Intranet content\" i18n-matTooltip\n matTooltip=\"Available only in Company's network\"\n *ngIf=\"widgetData?.intranetMode === 'greyOut' && showIntranetContent\"></div>\n <button *ngIf=\"showFlip\" class=\"detail-button ws-mat-primary-lite-background-op30\" mat-icon-button\n (click)=\"isCardFlipped = true\" aria-label=\"Details\" i18n-aria-label=\"Details | Click to see details\">\n <mat-icon>flip_to_back</mat-icon>\n </button>\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-container *ngIf=\"!widgetData.content.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon \" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n <div class=\"source-div\" style=\"display: none;\">\n <img [src]=\"widgetData?.content?.contentPartner?.link\" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.contentId)\" />\n </div>\n <ng-container *ngIf=\"widgetData?.content?.cbPlanEndDate\">\n <div class=\"cbp-mark\">\n <span>{{widgetData?.content?.cbPlanEndDate | date: 'd MMM, y'}}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.contentId] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2 \">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.contentId]\n }}\"></ng-container>\n </ng-container>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <!-- <div class=\"flex flex-end course_v2\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type [useTranslation]=\"false\" i18n-title title=\"Content Type\" *ngIf=\"widgetData.content?.topic\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"'External Course'\">\n \n </sb-uic-display-content-type>\n </div> -->\n </div>\n <div [id]=\"'m-c-'+ widgetData?.content?.contentId\"\n class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\" [matTooltip]=\"widgetData?.content?.name\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\"course_logo_box\">\n <img [src]=\"widgetData?.content?.contentPartner?.link \" class=\"source-icon\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.contentId)\" />\n </div>\n <!-- <span class=\"org-text\">{{'cardcontentv2.by' | translate}} -->\n <span class=\"org-text\">By {{ (widgetData?.content?.contentPartner?.contentPartnerName) ? widgetData?.content?.contentPartner?.contentPartnerName : 'Karmayogi Bharat' }}</span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\" *ngIf=\"widgetData?.content?.avgRating\">\n <mat-icon class=\"mr-1\">star</mat-icon>\n <span>{{widgetData?.content?.avgRating}}</span>\n </div>\n <!-- <span class=\"most-enrolled-text margin-left-m\">{{ 'cardcontentv2.mostEnrolled' | translate }}</span> -->\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostEnrolled')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostEnrolled' | translate }} -->\n </span>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.additionalTags && widgetData?.content?.additionalTags.includes('mostTrending')\">\n <span class=\"most-enrolled-text margin-left-xs\">\n <!-- {{ 'cardcontentv2.mostTrending' | translate }} -->\n </span>\n </ng-container>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n <ng-container *ngIf=\"isCardFlipped\">\n <div class=\"flex items-center\">\n <!-- <h2 class=\"mat-subheading-2 flex-1 min-w-0 margin-remove-bottom\" i18n>{{'cardcontentv2.reason' | translate}}</h2> -->\n <button mat-icon-button (click)=\"isCardFlipped = false\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <p class=\"text-justify mat-body-1\">\n {{ widgetData?.content?.reason }}\n </p>\n </ng-container>\n </a>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\n \n <ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-standard-container mr-5 padding-remove\" >\n <div class=\"display-contents\" >\n <ng-container *ngIf=\"!isCardFlipped\">\n <mat-card-content class=\"min-top\">\n <div style=\"position: relative; z-index: 1;\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'140px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"padding-m\">\n <div class=\"course_widget flex margin-remove\">\n <div class=\"flex flex-end\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"mat-subheading-1 title-text ws-mat-text-block-fade-gradient\">\n <sb-uic-skeleton-loader [width]=\"'100%'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-s'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle margin-top-m\">\n <div class=\"\">\n <sb-uic-skeleton-loader [width]=\"'28px'\" [height]=\"'28px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"org-text\"> <sb-uic-skeleton-loader [width]=\"'111px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"flex flex-middle rating-session margin-top-m\">\n <div class=\"flex flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'45px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded margin-top-m'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </div>\n </mat-card>\n </ng-container>\n \n <ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n </ng-template>", styles: [".course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #EF951E;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.card-standard-container{position:relative;width:245px;height:100%;min-height:300px;height:300px;border-radius:8px;box-sizing:border-box;box-shadow:0 10px 30px #9993;overflow:hidden;margin:20px 8px}.card-standard-container .progress-bar{width:101%;margin-left:-15px;display:flex;margin-top:0;background:bisque;position:absolute;bottom:0}.card-standard-container ::ng-deep .mat-progress-bar{height:8px!important}.card-standard-container .icon_text{font-size:12px;line-height:16px;text-transform:uppercase}.card-standard-container .title-text{margin:12px 0;overflow:hidden}.card-standard-container .description-text{position:relative;overflow:hidden;height:63px}.card-standard-container .course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.card-standard-container .course_logo_box img{height:28px;width:28px;padding:5px;display:inline-block}.card-standard-container .course_logo_box p{display:inline-block;vertical-align:top}.card-standard-container .org-text{font-size:12px;font-weight:normal;width:75%;padding-left:10px;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-standard-container .source-div{position:relative;top:100px;background:white;z-index:3;border:1px solid #DEDFE0;min-width:72px;min-height:72px;max-width:72px;max-height:72px;display:flex;border-radius:8px}.card-standard-container .source-div .source-icon{border-radius:8px;display:block;margin:auto;max-width:58px;max-height:-webkit-fill-available}.card-standard-container mat-card-content{background:#fff}.card-standard-container .card-img{min-width:245px;max-height:140px;min-height:140px;display:block;object-fit:fill;border-top-left-radius:8px;border-top-right-radius:8px;width:100%}.card-standard-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-standard-container .complexity{padding-top:70px;display:flex;font-size:14px;line-height:21px;padding-bottom:10px}.card-standard-container .complexity .mode-tag{border-radius:5px;order:2;margin-left:auto;color:#fff;font-size:10px}.card-standard-container .complexity .duration{display:flex;margin-left:auto;order:3;font-weight:700}.card-standard-container .complexity .time-text{margin:0 5px 0 6px;font-weight:700}.card-standard-container .basic{margin:auto 0}.card-standard-container .title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px}.card-standard-container .description-text{position:relative;overflow:hidden;height:42px;white-space:normal;text-overflow:ellipsis}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}.width-238{width:238px!important}.cbp-mark{border-radius:12px 0;opacity:1;background-image:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);position:absolute;top:0;padding:8px}.cbp-mark p{background-color:#fff;padding:4px;opacity:1;color:#1b2133;font-family:\"Lato-Regular\";font-size:10px;font-weight:400;font-style:Regular;letter-spacing:.5px;text-align:left;line-height:12px;margin-bottom:0}.cbpwidth{width:340px}.cbp-plan{border-radius:4px;background-color:#1b4ca1;top:4px;left:4px;opacity:1;color:#fffffff2;font-family:\"Lato-Bold\";font-size:12px;font-weight:700;font-style:normal;letter-spacing:.25px;text-align:center;line-height:16px;padding:4px}.cbp-info{opacity:1;color:#fff;font-family:\"Lato-Regular\";font-size:10px;font-weight:400;font-style:normal;letter-spacing:.5px;text-align:left;line-height:12px;padding:2px}.cbp-danger{border-radius:2px;border:1px solid rgba(0,0,0,.08);background-color:#d13924!important;color:#fff!important;opacity:1}.cbp-success{border-radius:2px;border:1px solid #1d8922;background-color:#1d8922!important;color:#fff!important;opacity:1}.cbp-warning{border-radius:2px;border:1px solid #ef951e;background-color:#ef951e!important;color:#fff!important;opacity:1}.tooltiptext{visibility:hidden;width:90px;background-color:#000;color:#fff;text-align:center;border-radius:6px;padding:4px 0;position:absolute;z-index:1;top:25px;left:-32px;font-size:12px}.title-text:hover .tooltiptext{visibility:visible}\n"], components: [{ type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.SkeletonLoaderLibComponent, selector: "sb-uic-skeleton-loader", inputs: ["bindingClass", "height", "width"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i6.MatCardImage, selector: "[mat-card-image], [matCardImage]" }, { type: i12.DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: ["wsUtilsDefaultThumbnail", "src"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "pipePublicURL": i13.PipePublicURL, "date": i10.DatePipe, "pipeDurationTransform": i14.PipeDurationTransformPipe } });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CardPortraitExtComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{
|
|
78
|
+
selector: 'sb-uic-card-portrait-ext',
|
|
79
|
+
templateUrl: './card-portrait-ext.component.html',
|
|
80
|
+
styleUrls: ['./card-portrait-ext.component.scss']
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: i4.ConfigurationsService }, { type: i5.WidgetContentService }]; }, propDecorators: { widgetData: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], isLiveOrMarkForDeletion: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], showIntranetContent: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], isIntranetAllowedSettings: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], isCardLoading: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], contentData: [{
|
|
93
|
+
type: Output
|
|
94
|
+
}], cbPlanMapData: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wb3J0cmFpdC1leHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NvbnN1bXB0aW9uL3NyYy9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXBvcnRyYWl0LWV4dC9jYXJkLXBvcnRyYWl0LWV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQtcG9ydHJhaXQtZXh0L2NhcmQtcG9ydHJhaXQtZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBYXBFLE1BQU0sT0FBTyx3QkFBd0I7SUFnQm5DLFlBQ1UsUUFBcUIsRUFDckIsU0FBMkIsRUFDM0IsZ0JBQWlELEVBQ2pELFNBQWdDLEVBQ2hDLE9BQTZCO1FBSjdCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQztRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQWhCOUIsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDN0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBRS9DLGtCQUFhLEdBQVcsS0FBSyxDQUFBO1FBQzdCLGtCQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQTtRQUl2QyxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGVBQVUsR0FBUSxJQUFJLENBQUE7UUFDdEIsa0JBQWEsR0FBTyxLQUFLLENBQUE7UUFPckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUQsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNuQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFFLENBQUE7Z0JBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtTQUN6RTtRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFBO1FBQ3BELElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUE7WUFDakUsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFBO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUE7U0FDakU7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRywrQ0FBK0MsQ0FBQTtZQUN2RSxJQUFJLENBQUMsWUFBWSxHQUFJLDREQUE0RCxDQUFBO1NBQ2xGO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNyRjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7U0FDakY7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsV0FBZ0I7UUFDakMsZ0JBQWdCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDckYsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFBO1NBQ3JFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM3QyxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEMsQ0FBQzs7c0hBN0RVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHVXQ2RyQyxpcVZBK0tnQjs0RkRqS0gsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNsRDtzUEFFVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnNDYXJkQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvY2FyZC1jb250ZW50Lm1vZGVsJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL211bHRpbGluZ3VhbC10cmFuc2xhdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLWNhcmQtcG9ydHJhaXQtZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtcG9ydHJhaXQtZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1wb3J0cmFpdC1leHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkUG9ydHJhaXRFeHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB3aWRnZXREYXRhITogTnNDYXJkQ29udGVudC5JQ2FyZDtcbiAgQElucHV0KCkgaXNMaXZlT3JNYXJrRm9yRGVsZXRpb246IGFueVxuICBASW5wdXQoKSBzaG93SW50cmFuZXRDb250ZW50OiBhbnlcbiAgQElucHV0KCkgaXNJbnRyYW5ldEFsbG93ZWRTZXR0aW5nczogYW55XG4gIEBJbnB1dCgpIGlzQ2FyZExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBASW5wdXQoKSAgY2JQbGFuTWFwRGF0YTogYW55XG4gIGlzQ2FyZEZsaXBwZWQ6Ym9vbGVhbiA9IGZhbHNlXG4gIGFjYnBDb25zdGFudHMgPSBOc0NhcmRDb250ZW50LkFDQlBDb25zdFxuICBkZWZhdWx0VGh1bWJuYWlsOiBhbnlcbiAgc291cmNlTG9nb3M6IGFueVxuICBkZWZhdWx0U0xvZ286IGFueVxuICBzaG93RmxpcCA9IGZhbHNlXG4gIHdpZGdldFR5cGU6IGFueSA9ICdkZidcbiAgd2lkZ2V0U3ViVHlwZTogYW55ID0nc2RmJ1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd0cmFuc2xhdGlvbnM6IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRTdmM6IFdpZGdldENvbnRlbnRTZXJ2aWNlLCkgeyBcbiAgICAgIHRoaXMubGFuZ3RyYW5zbGF0aW9ucy5sYW5ndWFnZVNlbGVjdGVkT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICBjb25zdCBsYW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpIVxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZW50KSB7XG4gICAgICB0aGlzLndpZGdldERhdGEuY29udGVudC5kdXJhdGlvbiA9IHRoaXMud2lkZ2V0RGF0YS5jb250ZW50LmR1cmF0aW9uICogNjBcbiAgICB9XG4gICAgY29uc3QgaW5zdGFuY2VDb25maWcgPSB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZ1xuICAgIGlmIChpbnN0YW5jZUNvbmZpZykge1xuICAgICAgdGhpcy5kZWZhdWx0VGh1bWJuYWlsID0gaW5zdGFuY2VDb25maWcubG9nb3MuZGVmYXVsdENvbnRlbnQgfHwgJydcbiAgICAgIHRoaXMuc291cmNlTG9nb3MgPSBpbnN0YW5jZUNvbmZpZy5zb3VyY2VzXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9IGluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRTb3VyY2VMb2dvIHx8ICcnXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVmYXVsdFRodW1ibmFpbCA9ICcvYXNzZXRzL2luc3RhbmNlcy9lYWdsZS9hcHBfbG9nb3MvZGVmYXVsdC5wbmcnXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9ICAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL0thcm1heW9naUJoYXJhdF9Mb2dvLnN2ZydcbiAgICB9XG4gIH1cblxuICBzaG93U25hY2tiYXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0ludHJhbmV0Q29udGVudCkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIGludHJhbmV0JywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0xpdmVPck1hcmtGb3JEZWxldGlvbikge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IG1heSBiZSBleHBpcmVkIG9yIGRlbGV0ZWQnLCAnWCcsIHsgZHVyYXRpb246IDIwMDAgfSlcbiAgICB9XG4gIH1cbiAgZ2V0UmVkaXJlY3RVcmxEYXRhKGNvbnRlbnREYXRhOiBhbnkpe1xuICAgIC8vIGZvciB0ZWxlbWV0cnlcbiAgICBpZiAodGhpcy53aWRnZXREYXRhICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0ICYmIHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uKSB7XG4gICAgICBjb250ZW50RGF0YVsndHlwZU9mVGVsZW1ldHJ5J10gPSB0aGlzLndpZGdldERhdGEuY29udGV4dC5wYWdlU2VjdGlvblxuICAgIH1cbiAgICB0aGlzLmNvbnRTdmMuY2hhbmdlVGVsZW1ldHJ5RGF0YShjb250ZW50RGF0YSlcbiAgICAvLyBmb3IgcmVkaXJlY3Rpb25cbiAgICB0aGlzLmNvbnRlbnREYXRhLmVtaXQoY29udGVudERhdGEpXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXJkTG9hZGluZ1wiPlxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImNhcmQtc3RhbmRhcmQtY29udGFpbmVyIG1yLTUgcGFkZGluZy1yZW1vdmUgY3Vyc29yLXBvaW50ZXIgIHt7d2lkZ2V0RGF0YT8uY2FyZEN1c3RvbWVDbGFzc319XCIgW25nQ2xhc3NdPVwie1xuICAgICAgZ3JleU91dDpcbiAgICAgICAgd2lkZ2V0RGF0YT8uZGVsZXRlZE1vZGUgPT09ICdncmV5T3V0JyAmJiAhaXNMaXZlT3JNYXJrRm9yRGVsZXRpb25cbiAgICAgICAgICA/IHRydWVcbiAgICAgICAgICA6IHdpZGdldERhdGE/LmludHJhbmV0TW9kZSA9PT0gJ2dyZXlPdXQnICYmIHNob3dJbnRyYW5ldENvbnRlbnRcbiAgICB9XCIgKGNsaWNrKT1cIihzaG93SW50cmFuZXRDb250ZW50IHx8ICFpc0xpdmVPck1hcmtGb3JEZWxldGlvbikgJiYgc2hvd1NuYWNrYmFyKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheS1jb250ZW50c1wiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgZGlzYWJsZUNsaWNrOlxuICAgICAgICAgIHdpZGdldERhdGE/LmRlbGV0ZWRNb2RlID09PSAnZ3JleU91dCcgJiYgIWlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uXG4gICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgIDogd2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudFxuICAgICAgfVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnRcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cImdldFJlZGlyZWN0VXJsRGF0YSh3aWRnZXREYXRhPy5jb250ZW50KTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIHJvbGU9XCJsaW5rXCIgaTE4bi1hcmlhLWxhYmVsPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NhcmRGbGlwcGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtZGFuZ2VyXCIgcm9sZT1cIm5vdGVcIiBpMThuLWFyaWEtbGFiZWwgYXJpYS1sYWJlbD1cIkNvbnRlbnQgZXhwaXJlZCBvciBkZWxldGVkXCIgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgICAgbWF0VG9vbHRpcD1cIkNvbnRlbnQgbWF5IGJlIGV4cGlyZWQgb3IgZGVsZXRlZFwiICpuZ0lmPVwiIWlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtZGFuZ2VyXCIgcm9sZT1cIm5vdGVcIiBpMThuLWFyaWEtbGFiZWwgYXJpYS1sYWJlbD1cIkludHJhbmV0IGNvbnRlbnRcIiBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICBtYXRUb29sdGlwPVwiQXZhaWxhYmxlIG9ubHkgaW4gQ29tcGFueSdzIG5ldHdvcmtcIlxuICAgICAgICAgICpuZ0lmPVwid2lkZ2V0RGF0YT8uaW50cmFuZXRNb2RlID09PSAnZ3JleU91dCcgJiYgc2hvd0ludHJhbmV0Q29udGVudFwiPjwvZGl2PlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0ZsaXBcIiBjbGFzcz1cImRldGFpbC1idXR0b24gd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kLW9wMzBcIiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwiaXNDYXJkRmxpcHBlZCA9IHRydWVcIiBhcmlhLWxhYmVsPVwiRGV0YWlsc1wiIGkxOG4tYXJpYS1sYWJlbD1cIkRldGFpbHMgfCBDbGljayB0byBzZWUgZGV0YWlsc1wiPlxuICAgICAgICAgIDxtYXQtaWNvbj5mbGlwX3RvX2JhY2s8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJtaW4tdG9wXCI+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5wb3N0ZXJJbWFnZVwiPlxuICAgICAgICAgICAgICA8aW1nIG1hdC1jYXJkLWltYWdlIFtzcmNdPVwid2lkZ2V0RGF0YT8uY29udGVudD8ucG9zdGVySW1hZ2UgfCBwaXBlUHVibGljVVJMXCIgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNhcmQtaW1nIHdzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZCBtYXJnaW4tcmVtb3ZlXCIgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRUaHVtYm5haWxcIlxuICAgICAgICAgICAgICBbYWx0XT1cIndpZGdldERhdGE/LmNvbnRlbnQ/Lm5hbWVcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldERhdGEuY29udGVudC5wb3N0ZXJJbWFnZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYXBwSWNvbjsgZWxzZSBkZWZhdWx0SW1nXCI+XG4gICAgICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmFwcEljb24gXCIgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1pbWcgd3MtbWF0LXByaW1hcnktbGl0ZS1iYWNrZ3JvdW5kIG1hcmdpbi1yZW1vdmVcIiAgW3dzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXT1cImRlZmF1bHRUaHVtYm5haWxcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwid2lkZ2V0RGF0YT8uY29udGVudD8ubmFtZVwiIC8+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbWc+XG4gICAgICAgICAgICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cImRlZmF1bHRUaHVtYm5haWxcIiBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWltZyB3cy1tYXQtcHJpbWFyeS1saXRlLWJhY2tncm91bmQgbWFyZ2luLXJlbW92ZVwiXG4gICAgICAgICAgICAgICAgW2FsdF09XCJ3aWRnZXREYXRhPy5jb250ZW50Py5uYW1lXCIgLz5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZS1kaXZcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ3aWRnZXREYXRhPy5jb250ZW50Py5jb250ZW50UGFydG5lcj8ubGlua1wiIGNsYXNzPVwic291cmNlLWljb25cIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFNMb2dvXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cIih3aWRnZXREYXRhPy5jb250ZW50Py5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudElkKVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5jYlBsYW5FbmREYXRlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYnAtbWFya1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7d2lkZ2V0RGF0YT8uY29udGVudD8uY2JQbGFuRW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYlBsYW5NYXBEYXRhICYmIGNiUGxhbk1hcERhdGFbd2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudElkXSAmJiAgY2JQbGFuTWFwRGF0YVt3aWRnZXREYXRhPy5jb250ZW50Py5pZGVudGlmaWVyXT8uY29udGVudFN0YXR1cyA8IDIgXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2JwUGxhblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YToge1xuICAgICAgICAgICAgICAgIGNicERhdGE6IGNiUGxhbk1hcERhdGFbd2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudElkXVxuICAgICAgICAgICAgICB9fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHVyYXRpb24tYm94IHJpZ2h0LWNvcm5lclwiICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uZHVyYXRpb24gPiAwXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uIG1haW5faWNvbiBtci0xXCI+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiB3cy1tYXQtd2hpdGUtdGV4dCBkdXJhdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7ICh3aWRnZXREYXRhPy5jb250ZW50Py5kdXJhdGlvbiB8fCAxMjApfCBwaXBlRHVyYXRpb25UcmFuc2Zvcm06ICdobXMnIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImR1cmF0aW9uLWJveCByaWdodC1jb3JuZXJcIiAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbiA+IDBcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWFpbl9pY29uIG1yLTFcIj5hY2Nlc3NfdGltZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIHdzLW1hdC13aGl0ZS10ZXh0IGR1cmF0aW9uXCI+XG4gICAgICAgICAgICAgICAge3t3aWRnZXREYXRhPy5jb250ZW50Py5wcm9ncmFtRHVyYXRpb259fSB7e3dpZGdldERhdGE/LmNvbnRlbnQ/LnByb2dyYW1EdXJhdGlvbiA9PT0gMSA/ICdkYXknIDogJ2RheXMnfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdXJzZV93aWRnZXQgZmxleCBtYXJnaW4tcmVtb3ZlXCI+XG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmQgY291cnNlX3YyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWFpbl9pY29uIHdzLW1hdC1kZWZhdWx0LXRleHQgbWFyZ2luLXJpZ2h0LXhzXCI+dmlkZW9fbGlicmFyeTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1kaXNwbGF5LWNvbnRlbnQtdHlwZSBbdXNlVHJhbnNsYXRpb25dPVwiZmFsc2VcIiBpMThuLXRpdGxlIHRpdGxlPVwiQ29udGVudCBUeXBlXCIgKm5nSWY9XCJ3aWRnZXREYXRhLmNvbnRlbnQ/LnRvcGljXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwid3MtbWF0LWJsYWNrNjAtdGV4dCBmb250LW5vcm1hbCBtYXQtY2FwdGlvbiBcIiBbZGlzcGxheUNvbnRlbnRUeXBlXT1cIidFeHRlcm5hbCBDb3Vyc2UnXCI+XG4gIFxuICAgICAgICAgICAgICAgIDwvc2ItdWljLWRpc3BsYXktY29udGVudC10eXBlPlxuICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgW2lkXT1cIidtLWMtJysgd2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudElkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudFwiIFttYXRUb29sdGlwXT1cIndpZGdldERhdGE/LmNvbnRlbnQ/Lm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgd2lkZ2V0RGF0YT8uY29udGVudD8ubmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC13cmFwIGZsZXgtbWlkZGxlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3Vyc2VfbG9nb19ib3hcIj5cbiAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudFBhcnRuZXI/LmxpbmsgIFwiIGNsYXNzPVwic291cmNlLWljb25cIiBbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdPVwiZGVmYXVsdFNMb2dvXCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cIih3aWRnZXREYXRhPy5jb250ZW50Py5zb3VyY2VOYW1lICsgJ18nICsgd2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudElkKVwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwib3JnLXRleHRcIj57eydjYXJkY29udGVudHYyLmJ5JyB8IHRyYW5zbGF0ZX19IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JnLXRleHRcIj5CeSZuYnNwOyB7eyAod2lkZ2V0RGF0YT8uY29udGVudD8uY29udGVudFBhcnRuZXI/LmNvbnRlbnRQYXJ0bmVyTmFtZSkgPyB3aWRnZXREYXRhPy5jb250ZW50Py5jb250ZW50UGFydG5lcj8uY29udGVudFBhcnRuZXJOYW1lIDogJ0thcm1heW9naSBCaGFyYXQnIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSByYXRpbmctc2Vzc2lvbiBtYXJnaW4tdG9wLW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGVcIiAqbmdJZj1cIndpZGdldERhdGE/LmNvbnRlbnQ/LmF2Z1JhdGluZ1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1yLTFcIj5zdGFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e3dpZGdldERhdGE/LmNvbnRlbnQ/LmF2Z1JhdGluZ319PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC1tXCI+e3sgJ2NhcmRjb250ZW50djIubW9zdEVucm9sbGVkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXREYXRhPy5jb250ZW50Py5hZGRpdGlvbmFsVGFncyAmJiB3aWRnZXREYXRhPy5jb250ZW50Py5hZGRpdGlvbmFsVGFncy5pbmNsdWRlcygnbW9zdEVucm9sbGVkJylcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vc3QtZW5yb2xsZWQtdGV4dCBtYXJnaW4tbGVmdC14c1wiPlxuICAgICAgICAgICAgICAgICAgPCEtLSB7eyAnY2FyZGNvbnRlbnR2Mi5tb3N0RW5yb2xsZWQnIHwgdHJhbnNsYXRlIH19IC0tPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MgJiYgd2lkZ2V0RGF0YT8uY29udGVudD8uYWRkaXRpb25hbFRhZ3MuaW5jbHVkZXMoJ21vc3RUcmVuZGluZycpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtb3N0LWVucm9sbGVkLXRleHQgbWFyZ2luLWxlZnQteHNcIj5cbiAgICAgICAgICAgICAgICAgIDwhLS0ge3sgJ2NhcmRjb250ZW50djIubW9zdFRyZW5kaW5nJyB8IHRyYW5zbGF0ZSB9fSAtLT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NhcmRGbGlwcGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDwhLS0gPGgyIGNsYXNzPVwibWF0LXN1YmhlYWRpbmctMiBmbGV4LTEgbWluLXctMCBtYXJnaW4tcmVtb3ZlLWJvdHRvbVwiIGkxOG4+e3snY2FyZGNvbnRlbnR2Mi5yZWFzb24nIHwgdHJhbnNsYXRlfX08L2gyPiAtLT5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXNDYXJkRmxpcHBlZCA9IGZhbHNlXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWp1c3RpZnkgbWF0LWJvZHktMVwiPlxuICAgICAgICAgIHt7IHdpZGdldERhdGE/LmNvbnRlbnQ/LnJlYXNvbiB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWNhcmQ+XG4gIDwvbmctY29udGFpbmVyPlxuICBcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ2FyZExvYWRpbmdcIj5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJjYXJkLXN0YW5kYXJkLWNvbnRhaW5lciBtci01IHBhZGRpbmctcmVtb3ZlXCIgPlxuICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXktY29udGVudHNcIiA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDYXJkRmxpcHBlZFwiPlxuICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwibWluLXRvcFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzEwMCUnXCIgW2hlaWdodF09XCInMTQwcHgnXCIgW2JpbmRpbmdDbGFzc109XCInZmxleCByb3VuZGVkJ1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLW1cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdXJzZV93aWRnZXQgZmxleCBtYXJnaW4tcmVtb3ZlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1lbmRcIj5cbiAgICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNjVweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBici04J1wiPjwvc2ItdWljLXNrZWxldG9uLWxvYWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0xIHRpdGxlLXRleHQgd3MtbWF0LXRleHQtYmxvY2stZmFkZS1ncmFkaWVudFwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInMTAwJSdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCdcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMTFweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBtYXJnaW4tdG9wLXMnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGZsZXgtd3JhcCBmbGV4LW1pZGRsZSBtYXJnaW4tdG9wLW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICA8c2ItdWljLXNrZWxldG9uLWxvYWRlciBbd2lkdGhdPVwiJzI4cHgnXCIgW2hlaWdodF09XCInMjhweCdcIiBbYmluZGluZ0NsYXNzXT1cIidmbGV4IHJvdW5kZWQnXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3JnLXRleHRcIj4gPHNiLXVpYy1za2VsZXRvbi1sb2FkZXIgW3dpZHRoXT1cIicxMTFweCdcIiBbaGVpZ2h0XT1cIicxNnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCdcIj48L3NiLXVpYy1za2VsZXRvbi1sb2FkZXI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgcmF0aW5nLXNlc3Npb24gbWFyZ2luLXRvcC1tXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGVcIj5cbiAgICAgICAgICAgICAgICAgIDxzYi11aWMtc2tlbGV0b24tbG9hZGVyIFt3aWR0aF09XCInNDVweCdcIiBbaGVpZ2h0XT1cIicxMnB4J1wiIFtiaW5kaW5nQ2xhc3NdPVwiJ2ZsZXggcm91bmRlZCBtYXJnaW4tdG9wLW0nXCI+PC9zYi11aWMtc2tlbGV0b24tbG9hZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gIDxuZy10ZW1wbGF0ZSAjY2JwUGxhbiAgbGV0LWRhdGE9XCJkYXRhXCI+XG4gICAgPGRpdiBjbGFzcz1cImNicC1tYXJrIGxlZnQtMCBib3JkZXItdG9wLXJhZGl1c1wiPlxuICAgICAgPHAgKm5nSWY9XCJkYXRhLmNicERhdGEucGxhbkR1cmF0aW9uID09PSBhY2JwQ29uc3RhbnRzPy5VUENPTUlOR1wiICBjbGFzcz1cImNicC13YXJuaW5nXCI+e3tkYXRhLmNicERhdGEuZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgIDxwICpuZ0lmPVwiZGF0YS5jYnBEYXRhLnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uU1VDQ0VTU1wiICBjbGFzcz1cImNicC1zdWNjZXNzXCI+e3tkYXRhLmNicERhdGEuZW5kRGF0ZSB8IGRhdGU6ICdkIE1NTSwgeSd9fTwvcD5cbiAgICAgIDxwICpuZ0lmPVwiZGF0YS5jYnBEYXRhLnBsYW5EdXJhdGlvbiA9PT0gYWNicENvbnN0YW50cz8uT1ZFUkRVRVwiIGNsYXNzPVwiY2JwLWRhbmdlclwiPnt7J092ZXJEdWUnIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPiJdfQ==
|