Socket
Socket
Sign inDemoInstall

@aastrika_npmjs/comptency

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aastrika_npmjs/comptency - npm Package Compare versions

Comparing version 0.0.48 to 0.0.49

core/pipe/remove-duplicates.pipe.d.ts

2

aastrika_npmjs-comptency.metadata.json

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"EntryModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":15,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"providers":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["configContext"],"value":{"ngModule":{"__symbolic":"reference","name":"EntryModule"},"providers":[{"__symbolic":"reference","name":"ɵc"},{"provide":"config","useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"configContext"},"member":"config"}}]}}}},"SelfAssessmentModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":15,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":16,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":17,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}]}],"members":{}},"CompetencyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":32,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentModule","line":33,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":34,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-slef-assessment-entry","template":"<button class=\"mat-primary-background \"\n (click)=\"navigateTo()\" i18n> {{'SELF_ASSESSMENTS' | translate}}\n</button>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;background:#1c5d95!important;border-radius:50px;color:#fff;border:none;gap:8px;width:310px;cursor:pointer}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":9,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-competency-entry","template":"<button class=\"mat-primary-background \"\n (click)=\"navigateTo()\" i18n> {{'COMPETENCY_DASHBOARD' | translate}}\n</button>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;background:#1c5d95!important;border-radius:50px;color:#fff;border:none;gap:8px;width:310px;cursor:pointer}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":27},"arguments":["config"]}]],"parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"setConfig":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"clearConfig":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-self-assessment-card","template":"<div class=\"card_box\">\n <ng-container *ngIf=\"cardData?.title\">\n <div class=\"title\">{{ cardData?.title }}</div>\n </ng-container>\n <!-- <ng-container *ngIf=\"cardData?.description\">\n <div class=\"description\">{{ cardData?.description }}</div>\n </ng-container> -->\n <div class=\"flex flex-row gap-3 mt-3\">\n <!-- <button class=\"assess-btn\">Assess</button> -->\n <ng-container *ngFor=\"let btn of btnType\">\n <ng-container *ngIf=\"btn.courseId == cardData.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container>\n </ng-container>\n\n <button class=\"btn-long\" i18n (click)=\"viewCourses(cardData)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card_box{margin:7px 2px 15px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:7px}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.startBtn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-style:italic;font-size:14px;line-height:17px;cursor:pointer;margin-top:4px}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 30px;cursor:pointer}"]}]}],"members":{"cardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"btnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":15,"character":20},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":10,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":11,"character":54}]}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}],"fetchHiearchyDetails":[{"__symbolic":"method"}],"fetchPrgressDetails":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-self-assessment","template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<div class=\"content\" *ngIf=\"selfAssessmentData\">\n <ng-container *ngIf=\"selfAssessmentData.length > 0; else noData \">\n <ng-container *ngFor=\"let cardData of selfAssessmentData\">\n <ng-container *ngIf=\"cardData\">\n <lib-self-assessment-card [cardData]=\"cardData\" [btnType]=\"btnType\"></lib-self-assessment-card>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngIf=\"!loading\">\n <lib-no-result [data]=\"noResultData\"></lib-no-result>\n </ng-container>\n </ng-template>\n</div>\n","styles":[""]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":28,"character":22},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":30,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"getCompetencyFilter":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-required-comptency-card","template":"<lib-self-assessment [language]=\"seletectedLang\" [position]=\"position\"></lib-self-assessment>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gained-comptency-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex\">\n <ng-container *ngIf=\"log.header\">\n <span class=\"\"\n i18n>{{'LEVEL' | translate}} </span> <span> {{ log.level }}: {{ log.header }}</span\n >\n <span class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":26,"character":26},{"__symbolic":"reference","name":"ɵk"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAllUserPassbook":[{"__symbolic":"method"}],"getAllEntity":[{"__symbolic":"method"}],"selectLevel":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":15,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":21,"character":53}]}],"fetchUserPassbook":[{"__symbolic":"method"}],"fetchAllEntity":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":14,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":16,"character":53}]}],"getActivityById":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}],"getRolesMapping":[{"__symbolic":"method"}],"getRolesWiseCompetency":[{"__symbolic":"method"}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-competency-dashboard","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":17},"member":"None"},"template":"<div [ngClass]=\"isMobileApp ? 'content-mobile' : 'content'\">\n <mat-icon (click)=\"navigateBack()\" class=\"cursor-pointer mb-3\"\n >chevron_left</mat-icon\n >\n\n <h1 class=\"pl-2 mb-0\" i18n>{{'COMPETENCY_DASHBOARD' | translate}}</h1>\n\n <div class=\"pl-2 tab-container\">\n <mat-tab-group\n [ngClass]=\"{ 'header-width-icon': tabIndex === 1 }\"\n class=\"remove-border-bottom\"\n animationDuration=\"0ms\"\n [selectedIndex]=\"tabIndex\"\n (selectedTabChange)=\"changeTab($event)\"\n >\n <!-- Active Summary as Job Description -->\n <mat-tab i18n-label label=\"{{'JOB_DESCRIPTION' | translate}}\">\n <h4 class=\"mt-4 mb-1\" i18n>{{'ROLES' | translate}}</h4>\n <lib-active-summary [language]=\"language\" [isMobileApp]=\"isMobileApp\" [desigination]=\"role\" *ngIf=\"tabIndex === 0\"></lib-active-summary>\n </mat-tab>\n\n <!-- gained as Passbook -->\n <mat-tab i18n-label label=\"{{'PASSBOOK' | translate}}\">\n <div class=\"legend-container\">\n <div class=\"legend legend-blue\"></div>\n <h5 class=\"mb-0\" i18n>{{'EXTERNAL' | translate}}</h5>\n <div class=\"legend legend-green\"></div>\n <h5 class=\"mb-0\" i18n>{{'SELF' | translate}}</h5>\n <div class=\"legend legend-yellow\"></div>\n <h5 class=\"mb-0\" i18n>{{'CRS_TRK_FRMELEMNTS_LBL_TRAINING' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]=\"language\"\n *ngIf=\"tabIndex === 1\"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n <!-- required -->\n <mat-tab i18n-label label=\"{{'REQUIRED' | translate}}\">\n <div class=\"required-comperencies\">\n <div class=\"mt-2 tab-badge\" i18n>{{'SELF_ASSESSMENTS' | translate}}</div>\n <lib-required-comptency-card\n [language]=\"language\"\n [role]=\"role\"\n *ngIf=\"tabIndex === 2\"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":18,"character":31},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":19,"character":26},{"__symbolic":"reference","name":"ɵk"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}],"changeTab":[{"__symbolic":"method"}],"startSelfAssessment":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-active-summary","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of role?.activities; let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"desigination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":38,"character":26},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentService","line":40,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"getAssessmentBtnType":[{"__symbolic":"method"}],"getAssessmentProgress":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getRolesWiseCompetencyData":[{"__symbolic":"method"}],"getActivityByRole":[{"__symbolic":"method"}],"designationMap":[{"__symbolic":"method"}],"getActivityByRoleId":[{"__symbolic":"method"}],"getEntityById":[{"__symbolic":"method"}],"getAveragepercentage":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-competency-accordion","template":"<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<ng-container *ngFor=\"let competency of competencyList; let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</ng-container>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"competencyList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"assessmentData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"assessBtnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":14,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}]}}},"origins":{"EntryModule":"./entry-module/entry-module","SelfAssessmentModule":"./self-assessment/self-assessment.module","CompetencyModule":"./competency/competency.module","ɵa":"./entry-module/components/slef-assessment-entry/slef-assessment-entry.component","ɵb":"./entry-module/components/competency-entry/competency-entry.component","ɵc":"./entry-module/services/config.service","ɵd":"./entry-module/services/configuration-context","ɵe":"./self-assessment/components/self-assessment-card/self-assessment-card.component","ɵf":"./self-assessment/service/self-assessment.service","ɵg":"./self-assessment/components/self-assessment/self-assessment.component","ɵh":"./competency/components/required-comptency-card/required-comptency-card.component","ɵi":"./competency/components/gained-comptency-card/gained-comptency-card.component","ɵj":"./competency/services/gained.service","ɵk":"./competency/services/active-summary.service","ɵl":"./competency/components/competency-dashboard/competency-dashboard.component","ɵm":"./competency/components/active-summary/active-summary.component","ɵn":"./competency/components/competency-accordion/competency-accordion.component"},"importAs":"@aastrika_npmjs/comptency"}
{"__symbolic":"module","version":4,"metadata":{"EntryModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":15,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"providers":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["configContext"],"value":{"ngModule":{"__symbolic":"reference","name":"EntryModule"},"providers":[{"__symbolic":"reference","name":"ɵc"},{"provide":"config","useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"configContext"},"member":"config"}}]}}}},"SelfAssessmentModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":15,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":16,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":17,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}]}],"members":{}},"CompetencyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":32,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentModule","line":33,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":34,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-slef-assessment-entry","template":"<button class=\"mat-primary-background \"\n (click)=\"navigateTo()\" i18n> {{'SELF_ASSESSMENTS' | translate}}\n</button>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;background:#1c5d95!important;border-radius:50px;color:#fff;border:none;gap:8px;width:310px;cursor:pointer}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":9,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-competency-entry","template":"<button class=\"mat-primary-background \"\n (click)=\"navigateTo()\" i18n> {{'COMPETENCY_DASHBOARD' | translate}}\n</button>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;background:#1c5d95!important;border-radius:50px;color:#fff;border:none;gap:8px;width:310px;cursor:pointer}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"navigateTo":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":11,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":27},"arguments":["config"]}]],"parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"setConfig":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"clearConfig":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","members":{}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-self-assessment-card","template":"<div class=\"card_box\">\n <ng-container *ngIf=\"cardData?.title\">\n <div class=\"title\">{{ cardData?.title }}</div>\n </ng-container>\n <!-- <ng-container *ngIf=\"cardData?.description\">\n <div class=\"description\">{{ cardData?.description }}</div>\n </ng-container> -->\n <div class=\"flex flex-row gap-3 mt-3\">\n <!-- <button class=\"assess-btn\">Assess</button> -->\n <ng-container *ngFor=\"let btn of btnType\">\n <ng-container *ngIf=\"btn.courseId == cardData.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(cardData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container>\n </ng-container>\n\n <button class=\"btn-long\" i18n (click)=\"viewCourses(cardData)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card_box{margin:7px 2px 15px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:7px}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.startBtn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-style:italic;font-size:14px;line-height:17px;cursor:pointer;margin-top:4px}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 30px;cursor:pointer}"]}]}],"members":{"cardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"btnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":15,"character":20},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":10,"character":43},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":11,"character":54}]}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}],"fetchHiearchyDetails":[{"__symbolic":"method"}],"fetchPrgressDetails":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-self-assessment","template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<div class=\"content\" *ngIf=\"selfAssessmentData\">\n <ng-container *ngIf=\"selfAssessmentData.length > 0; else noData \">\n <ng-container *ngFor=\"let cardData of selfAssessmentData\">\n <ng-container *ngIf=\"cardData\">\n <lib-self-assessment-card [cardData]=\"cardData\" [btnType]=\"btnType\"></lib-self-assessment-card>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #noData>\n <ng-container *ngIf=\"!loading\">\n <lib-no-result [data]=\"noResultData\"></lib-no-result>\n </ng-container>\n </ng-template>\n</div>\n","styles":[""]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"position":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":28,"character":22},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":30,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"getCompetencyFilter":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-required-comptency-card","template":"<lib-self-assessment [language]=\"seletectedLang\" [position]=\"position\"></lib-self-assessment>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gained-comptency-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex w-full\">\n <ng-container *ngIf=\"log.header\">\n <div class=\"log-level-id\"\n i18n>{{'LEVEL' | translate}}{{ log.level }} </div> \n <div class=\"log-level-details\"> {{ log.header }}</div\n >\n <div class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-level-details,.log-level-id{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":26,"character":26},{"__symbolic":"reference","name":"ɵk"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAllUserPassbook":[{"__symbolic":"method"}],"getAllEntity":[{"__symbolic":"method"}],"selectLevel":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":15,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":21,"character":53}]}],"fetchUserPassbook":[{"__symbolic":"method"}],"fetchAllEntity":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":14,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":16,"character":53}]}],"getActivityById":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}],"getRolesMapping":[{"__symbolic":"method"}],"getRolesWiseCompetency":[{"__symbolic":"method"}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-competency-dashboard","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":17},"member":"None"},"template":"<div [ngClass]=\"isMobileApp ? 'content-mobile' : 'content'\">\n <mat-icon (click)=\"navigateBack()\" class=\"cursor-pointer mb-3\"\n >chevron_left</mat-icon\n >\n\n <h1 class=\"pl-2 mb-0\" i18n>{{'COMPETENCY_DASHBOARD' | translate}}</h1>\n\n <div class=\"pl-2 tab-container\">\n <mat-tab-group\n [ngClass]=\"{ 'header-width-icon': tabIndex === 1 }\"\n class=\"remove-border-bottom\"\n animationDuration=\"0ms\"\n [selectedIndex]=\"tabIndex\"\n (selectedTabChange)=\"changeTab($event)\"\n >\n <!-- Active Summary as Job Description -->\n <mat-tab i18n-label label=\"{{'JOB_DESCRIPTION' | translate}}\">\n <h4 class=\"mt-4 mb-1\" i18n>{{'ROLES' | translate}}</h4>\n <lib-active-summary [language]=\"language\" [isMobileApp]=\"isMobileApp\" [desigination]=\"role\" *ngIf=\"tabIndex === 0\"></lib-active-summary>\n </mat-tab>\n\n <!-- gained as Passbook -->\n <mat-tab i18n-label label=\"{{'PASSBOOK' | translate}}\">\n <div class=\"legend-container\">\n <div class=\"legend legend-blue\"></div>\n <h5 class=\"mb-0\" i18n>{{'EXTERNAL' | translate}}</h5>\n <div class=\"legend legend-green\"></div>\n <h5 class=\"mb-0\" i18n>{{'SELF' | translate}}</h5>\n <div class=\"legend legend-yellow\"></div>\n <h5 class=\"mb-0\" i18n>{{'CRS_TRK_FRMELEMNTS_LBL_TRAINING' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]=\"language\"\n *ngIf=\"tabIndex === 1\"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n <!-- required -->\n <mat-tab i18n-label label=\"{{'REQUIRED' | translate}}\">\n <div class=\"required-comperencies\">\n <div class=\"mt-2 tab-badge\" i18n>{{'SELF_ASSESSMENTS' | translate}}</div>\n <lib-required-comptency-card\n [language]=\"language\"\n [role]=\"role\"\n *ngIf=\"tabIndex === 2\"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":18,"character":31},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":19,"character":26},{"__symbolic":"reference","name":"ɵk"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}],"changeTab":[{"__symbolic":"method"}],"startSelfAssessment":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-active-summary","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of (role?.activities| removeDuplicatesPipe:['cid', 'name'] ); let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"desigination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":38,"character":26},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentService","line":40,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"getAssessmentBtnType":[{"__symbolic":"method"}],"getAssessmentProgress":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getRolesWiseCompetencyData":[{"__symbolic":"method"}],"getActivityByRole":[{"__symbolic":"method"}],"designationMap":[{"__symbolic":"method"}],"getActivityByRoleId":[{"__symbolic":"method"}],"getEntityById":[{"__symbolic":"method"}],"getAveragepercentage":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-competency-accordion","template":"<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<div *ngFor=\"let competency of (competencyList | removeDuplicatesPipe:['id', 'name']); let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</div>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"competencyList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"assessmentData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"assessBtnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":14,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}]}}},"origins":{"EntryModule":"./entry-module/entry-module","SelfAssessmentModule":"./self-assessment/self-assessment.module","CompetencyModule":"./competency/competency.module","ɵa":"./entry-module/components/slef-assessment-entry/slef-assessment-entry.component","ɵb":"./entry-module/components/competency-entry/competency-entry.component","ɵc":"./entry-module/services/config.service","ɵd":"./entry-module/services/configuration-context","ɵe":"./self-assessment/components/self-assessment-card/self-assessment-card.component","ɵf":"./self-assessment/service/self-assessment.service","ɵg":"./self-assessment/components/self-assessment/self-assessment.component","ɵh":"./competency/components/required-comptency-card/required-comptency-card.component","ɵi":"./competency/components/gained-comptency-card/gained-comptency-card.component","ɵj":"./competency/services/gained.service","ɵk":"./competency/services/active-summary.service","ɵl":"./competency/components/competency-dashboard/competency-dashboard.component","ɵm":"./competency/components/active-summary/active-summary.component","ɵn":"./competency/components/competency-accordion/competency-accordion.component"},"importAs":"@aastrika_npmjs/comptency"}

@@ -15,3 +15,3 @@ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@aastrika_npmjs/comptency/core"),require("@angular/common/http"),require("@aastrika_npmjs/comptency/entry-module"),require("lodash-es"),require("rxjs/operators"),require("@angular/router"),require("@angular/common"),require("@aastrika_npmjs/comptency/self-assessment"),require("@angular/material"),require("@ngx-translate/core")):"function"==typeof define&&define.amd?define("@aastrika_npmjs/comptency/competency",["exports","@angular/core","rxjs","@aastrika_npmjs/comptency/core","@angular/common/http","@aastrika_npmjs/comptency/entry-module","lodash-es","rxjs/operators","@angular/router","@angular/common","@aastrika_npmjs/comptency/self-assessment","@angular/material","@ngx-translate/core"],t):t(((e=e||self).aastrika_npmjs=e.aastrika_npmjs||{},e.aastrika_npmjs.comptency=e.aastrika_npmjs.comptency||{},e.aastrika_npmjs.comptency.competency={}),e.ng.core,e.rxjs,e.aastrika_npmjs.comptency.core,e.ng.common.http,e.aastrika_npmjs.comptency["entry-module"],e.lodashEs,e.rxjs.operators,e.ng.router,e.ng.common,e.aastrika_npmjs.comptency["self-assessment"],e.ng.material,e.core$2)}(this,(function(e,t,n,i,o,a,r,c,s,l,p,d,g){"use strict";

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e,t,n,i){var o,a=arguments.length,r=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(r=(a<3?o(r):a>3?o(t,n,r):o(t,n))||r);return a>3&&r&&Object.defineProperty(t,n,r),r}function y(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,a=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)r.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return r}function v(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}var h=function(){function e(){}return e.prototype.ngOnInit=function(){this.seletectedLang=this.language,this.position=this.role},e.prototype.ngOnDestroy=function(){},f([t.Input()],e.prototype,"language",void 0),f([t.Input()],e.prototype,"isMobileApp",void 0),f([t.Input()],e.prototype,"role",void 0),e=f([t.Component({selector:"lib-required-comptency-card",template:'<lib-self-assessment [language]="seletectedLang" [position]="position"></lib-self-assessment>',styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]})],e)}(),b=function(e){function r(t,i){var o=e.call(this,t,i)||this;return o.configService=i,o.competencyData=new n.BehaviorSubject(void 0),o.competencyData$=o.competencyData.asObservable(),o}return u(r,e),r.prototype.fetchUserPassbook=function(e,t){var n=this.configService.getConfig(),o={url:n.isMobileApp?i.urlConfig.getUserPassbookMobile():i.urlConfig.getUserPassbook(),data:e,header:n.isMobileApp?{"x-authenticated-userid":t}:""};return this.post(o)},r.prototype.fetchAllEntity=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getAllEntityMobile():i.urlConfig.getAllEntity(),data:e};return this.post(t)},r.ctorParameters=function(){return[{type:o.HttpClient},{type:a.ConfigService}]},r.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new r(t.ɵɵinject(o.HttpClient),t.ɵɵinject(a.ConfigService))},token:r,providedIn:"root"}),r=f([t.Injectable({providedIn:"root"})],r)}(i.DataService),x=function(){function e(){var e=this;this.formatedActivities=function(e){if(!r.isEmpty(e))return e},this.formatedActivitityByPostion=function(t,n,i,o){var a=[],c=r.get(t,"activity");if(r.get(t,"roles"))return r.forEach(t.roles,(function(t){var s=r.values(t)[0],l=s.children,p=r.reduce(l,(function(t,a){var s=r.get(a,"id"),l=r.filter(c,(function(e){return r.has(e,s)})),p=r.flatMap(l,(function(t){var c=r.get(t,s+".children");return c.length>0||Object.keys(c).length>0?r.map(c,(function(t){return{title:"hi"==n?e.getHiName(a):r.get(a,"name"),cid:r.get(a,"id"),description:r.get(a,"description"),code:r.get(a.additionalProperties,"Code"),levels:e.getLevels(r.get(t,"id"),o,n),competency:"hi"==n?e.getHiName(a):r.get(t,"name"),id:r.get(t,"id"),lastLevel:e.getheighestLevel(r.get(t,"id"),o),completionPercentage:e.getCompeletionPercentage(r.get(t,"id"),o),levelDescription:r.get(t.additionalProperties,"competencyLevelDescription")?e.getLevelDescription(r.get(t.additionalProperties,"competencyLevelDescription"),o,r.get(t,"id"),n):"",assessmentData:e.setAssessmentData(r.get(t,"id"),i)}})):[{title:"hi"==n?e.getHiName(a):r.get(a,"name"),cid:r.get(a,"id"),description:r.get(a,"description"),code:r.get(a.additionalProperties,"Code")}]}));return r.some(p,"id")?t.concat(r.uniqBy(p,"id")&&r.uniqBy(p,"cid")):t.concat(r.uniqBy(p,"cid"))}),[]);a.push({roles:"hi"==n?e.getHiName(s):r.get(s,"name"),id:r.get(s,"id"),description:r.get(s,"description"),averagePercentage:e.getAveragepercentage(p),code:r.get(s.additionalProperties,"Code"),activities:p})})),a},this.formatedActivitityByRoleId=function(t,n,i,o,a){var c;if(t.length>0){var s=r.reduce(t,(function(t,s){var l=r.filter(i,(function(e){return r.has(e,r.get(s,"id"))}));return console.log("filteredData",l),l.length>0&&r.forEach(l,(function(t){var i=r.get(t,r.get(s,"id")+".children");c=e.formatedCompetency(i,o,n,a,r.get(s,"id"))})),t.push({title:"hi"==n?e.getHiName(s):r.get(s,"name"),cid:r.get(s,"id"),description:r.get(s,"description"),code:r.get(s.additionalProperties,"Code")}),v(t,c)}),[]);return r.sortBy(s,[function(e){return e.code}])}},this.formatedCompetency=function(t,n,i,o,a){var c=[];return t.length>0&&r.forEach(t,(function(t){c.push({levels:e.getLevels(r.get(t,"id"),n,i),competency:"hi"==i?e.getHiName(t):r.get(t,"name"),id:r.get(t,"id"),description:r.get(t,"description"),cid:a,lastLevel:e.getheighestLevel(r.get(t,"id"),n),completionPercentage:e.getCompeletionPercentage(r.get(t,"id"),n),code:r.get(t.additionalProperties,"Code"),levelDescription:r.get(t.additionalProperties,"competencyLevelDescription")?e.getLevelDescription(r.get(t.additionalProperties,"competencyLevelDescription"),n,r.get(t,"id"),i):"",assessmentData:e.setAssessmentData(r.get(t,"id"),o)})})),c=r.sortBy(c,[function(e){return e.code}]),r.uniqBy(c,"id")}}return e.prototype.getAveragepercentage=function(e){var t=e.length,n=[];return r.forEach(e,(function(e){n.push(e.completionPercentage)})),r.round(r.sum(n)/t)||0},e.prototype.getHiName=function(e){return r.get(e.additionalProperties,"lang-hi-name")?r.get(e.additionalProperties,"lang-hi-name"):r.get(e,"name")},e.prototype.getLevelDescription=function(e,t,n,i){var o=[];r.forEach(JSON.parse(e),(function(e){e&&o.push({levelId:r.get(e,"level"),name:"hi"==i?r.get(e,"lang-hi-name"):r.get(e,"name"),description:"hi"==i?r.get(e,"lang-hi-description"):r.get(e,"description"),"description-hi":r.get(e,"lang-hi-description"),achived:!1})}));var a=null;return r.forEach(t,(function(e){r.toNumber(e.competencyId)===n&&(a=r.uniq(e.levelsAchieve))})),r.forEach(o,(function(e){r.forEach(a,(function(t){t==e.levelId&&(e.achived=!0)}))})),o},e.prototype.getLevels=function(e,t,n){var i=[{name:"hi"==n?"स्तर 1":"Level 1",achived:!1,level:"1"},{name:"hi"==n?"स्तर 2":"Level 2",achived:!1,level:"2"},{name:"hi"==n?"स्तर 3":"Level 3",achived:!1,level:"3"},{name:"hi"==n?"स्तर 4":"Level 4",achived:!1,level:"4"},{name:"hi"==n?"स्तर 5":"Level 5",achived:!1,level:"5"}],o=null;return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(o=r.uniq(t.levelsAchieve))})),r.forEach(i,(function(e){r.forEach(o,(function(t){t==e.level&&(e.achived=!0)}))})),i},e.prototype.getheighestLevel=function(e,t){var n="";return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(n=t.levelId.competencyLevelId)})),n},e.prototype.getCompeletionPercentage=function(e,t){var n=0;return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(n=r.toNumber(t.levelId.competencyLevelId))})),n=100*n/5},e.prototype.setAssessmentData=function(e,t){var n;return r.forEach(t,(function(t){e==t.competencyID&&(n=t)})),n},e.prototype.formatedGainedCompetency=function(e,t,n){var i=this,o=[];return r.forEach(e,(function(a){var c=r.get(a,"id");r.forEach(t,(function(t){if(t.competencies.hasOwnProperty(c)){var a=t.competencies[c];o.push({title:"hi"==n?i.getHiTitle(c,e,a):r.get(a,"additionalParams.competencyName"),logs:i.acquiredPassbookLogs(r.get(a,"acquiredDetails"),n),proficiencyLevels:i.acauiredChannelColourCode(r.get(a,"acquiredDetails")),competencyStoreData:i.competencyStoreDataFomat(a),titleHi:i.getHiTitle(c,e,a)})}}))})),o},e.prototype.getHiTitle=function(e,t,n){var i;return r.forEach(t,(function(t){t.id==e&&(i=r.get(t.additionalProperties,"lang-hi-name")?r.get(t.additionalProperties,"lang-hi-name"):r.get(n,"additionalParams.competencyName"))})),i},e.prototype.acquiredPassbookLogs=function(e,t){var n=this,i=[];return e.length>0&&r.forEach(e,(function(e){i.push({header:r.get(e,"courseName")?r.get(e,"courseName"):"hi"==t?n.getHindiName(r.get(e,"acquiredChannel")):r.get(e,"acquiredChannel"),date:r.get(e,"createdDate"),description:r.get(e,"additionalParams.description"),keyboardArrowUp:!0,level:r.toNumber(r.get(e,"competencyLevelId"))})})),i},e.prototype.getHindiName=function(e){var t;switch(e){case"selfAssessment":t="आत्म मूल्यांकन";case"admin":t="व्यवस्थापक"}return t},e.prototype.acauiredChannelColourCode=function(e){var t=[{color:"#FFFBB0",displayLevel:1,selected:!1},{color:"#FFFBB0",displayLevel:2,selected:!1},{color:"#FFFBB0",displayLevel:3,selected:!1},{color:"#FFFBB0",displayLevel:4,selected:!1},{color:"#FFFBB0",displayLevel:5,selected:!1}];return r.forEach(e,(function(e){switch(r.get(e,"acquiredChannel")){case"course":case"Course":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#FFFBB0",t.selected=!0)}));break;case"selfAssessment":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#A4DFCA",t.selected=!0)}));break;case"admin":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#7cb5e6",t.selected=!0)}));break;default:r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#FFFBB0",t.selected=!1)}))}})),t},e.prototype.competencyStoreDataFomat=function(e){var t=[];return e.acquiredDetails&&r.forEach(e.acquiredDetails,(function(e){e.competencyLevelId&&t.push(e.competencyLevelId)})),{competencyId:e.competencyId,competencyName:e.additionalParams.competencyName,levelId:r.maxBy(e.acquiredDetails,"competencyLevelId"),levelsAchieve:t}},e.prototype.formatedCompetencyCourseData=function(e){var t=this,n=[];if(r.get(e,"result")){var i=r.get(e,"result.content");i&&r.forEach(i,(function(e){n.push({title:r.get(e,"name"),contentId:r.get(e,"identifier"),contentType:r.get(e,"contentType"),subTitle:r.get(e,"subTitle"),description:r.get(e,"description"),creator:r.get(e,"creator"),duration:r.get(e,"duration"),batchId:t.getBatchData(e),childContent:r.get(e,"childNodes").length,competencyID:t.getCompetencyData(e.competencies_v1)})}))}return n},e.prototype.getCompetencyData=function(e){if(e)return JSON.parse(e)[0].competencyId},e.prototype.getBatchData=function(e){var t="";return e.batches&&r.forEach(e.batches,(function(e){t=r.get(e,"batchId")})),t},e}(),I=function(e){function n(t,n){var i=e.call(this,t,n)||this;return i.configService=n,i}return u(n,e),n.prototype.getActivityById=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getEntityByIdMobile(e.id):i.urlConfig.getEntityById(e.id),data:e};return this.post(t)},n.prototype.getUserdetailsFromRegistry=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getUserdetailsMobile(e.id):i.urlConfig.getUserdetailsFromRegistry(e.id)};return this.get(t).pipe(c.map((function(e){return e.result.response})))},n.prototype.getRolesMapping=function(){var e={url:i.urlConfig.getRoleMapping()};return this.getwithouTAuthorization(e)},n.prototype.getRolesWiseCompetency=function(){var e={url:i.urlConfig.getRoleWiseCompetency()};return this.getwithouTAuthorization(e)},n.prototype.getCompetencyCourseIdentifier=function(e){var t={request:{filters:{primaryCategory:["Course"],contentType:["Course"],status:["Live"],competency:[!0],lang:"hi"==e?"hi":"en"}},sort:[{lastUpdatedOn:"desc"}]},n={url:this.configService.getConfig().isMobileApp?i.urlConfig.getSearchMobile():i.urlConfig.getSearch(),data:t};return this.post(n)},n.ctorParameters=function(){return[{type:o.HttpClient},{type:a.ConfigService}]},n.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new n(t.ɵɵinject(o.HttpClient),t.ɵɵinject(a.ConfigService))},token:n,providedIn:"root"}),n=f([t.Injectable({providedIn:"root"})],n)}(i.DataService),D=function(){function e(e,t,n){this.gainedService=e,this.configService=t,this.activeSummaryService=n,this.loading=!1,this.panelOpenState=!1,this.selectedProficiencyIndex=-1,this.selectedDisplayLevel=-1,this.requestUtil=new x}return e.prototype.ngOnInit=function(){var e=this;this.language||this.getUserDetails().subscribe((function(t){e.language=t.profileDetails.preferences?t.profileDetails.preferences.language:"en"})),this.loading=!0;var t=this.getAllEntity(),i=this.getAllUserPassbook();n.forkJoin([t,i]).subscribe((function(t){var n=e.requestUtil.formatedGainedCompetency(t[0].result.response,t[1].result.content,e.language);if(e.gainedproficencyData=n,e.gainedproficencyData){var i=[];r.forEach(e.gainedproficencyData,(function(e){e.competencyStoreData&&i.push(e.competencyStoreData)})),e.gainedService.competencyData.next(i)}e.loading=!1}))},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.getAllUserPassbook=function(){var e=this.configService.getConfig().id;return this.gainedService.fetchUserPassbook({request:{typeName:"competency"}},e)},e.prototype.getAllEntity=function(){return this.gainedService.fetchAllEntity({search:{type:"Competency"}})},e.prototype.selectLevel=function(e,t){e!==this.selectedProficiencyIndex||-1!==t&&t!==this.selectedDisplayLevel?this.selectedProficiencyIndex=e:this.selectedProficiencyIndex=-1,this.selectedDisplayLevel=t},e.ctorParameters=function(){return[{type:b},{type:a.ConfigService},{type:I}]},f([t.Input()],e.prototype,"language",void 0),e=f([t.Component({selector:"lib-gained-comptency-card",template:'<lib-app-loader *ngIf="loading === true"></lib-app-loader>\n<ng-container *ngFor="let proficency of gainedproficencyData; let i = index">\n <div class="card-container example-container container-balanced">\n <ng-container *ngIf="proficency?.title">\n <div class="title">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class="levelsTitle" i18n>{{\'LEVELS\' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]="i === selectedProficiencyIndex"\n class="w-full panel"\n hideToggle\n >\n <mat-expansion-panel-header\n class="flex-between items-center panel-header w-full"\n >\n <mat-panel-description class="panel-header-description">\n <ng-container\n *ngFor="let proficiencyLevel of proficency?.proficiencyLevels"\n >\n <ng-container *ngIf="proficiencyLevel.selected; else addLevel">\n <div\n (click)="\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n "\n class="level mb-1"\n [ngStyle]="{ \'background-color\': proficiencyLevel.color }"\n [ngClass]="{\n \'individual-select\':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)="$event.stopPropagation()" class="level mb-1">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class="level mb-1"\n (click)="$event.stopPropagation(); selectLevel(i, -1)"\n >\n <mat-icon\n [ngClass]="{ arrowReverse: selectedProficiencyIndex === i }"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class="log-header" i18n>{{\'LOG\' | translate}}</span>\n <ng-container\n *ngFor="let log of proficency?.logs; let logIndex = index; let last = last; "\n >\n <ng-container\n *ngIf="\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n "\n >\n <div class="log" [ngClass]="{\'border-bottom-0\': last}">\n <div class="flex">\n <ng-container *ngIf="log.header">\n <span class=""\n i18n>{{\'LEVEL\' | translate}} </span> <span> {{ log.level }}: {{ log.header }}</span\n >\n <span class="log-date mr-2">{{\n log?.date | date : "dd/MM/yyyy"\n }}</span>\n </ng-container>\n </div>\n <ng-container *ngIf="log.description">\n <div\n class="mt-2"\n [ngClass]="{ \'hide-content\': !log.keyboardArrowUp }"\n >\n {{ log.description }}\n </div>\n <div class="justify-end">\n <mat-icon\n (click)="log.keyboardArrowUp = !log.keyboardArrowUp"\n class="mr-3"\n [ngClass]="{ arrowReverse: log.keyboardArrowUp }"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n \x3c!-- <hr> --\x3e\n</ng-container>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]})],e)}(),C=function(){function e(e,n,i){this.router=e,this.configService=n,this.activeSummaryService=i,this.stateChange=new t.EventEmitter,this.tabIndex=1}return e.prototype.ngOnInit=function(){var e=this;this.tabIndex=1,this.isMobileApp=this.configService.getConfig().isMobileApp,this.role=this.configService.getConfig().profileData[0].designation,this.language=this.configService.getConfig().language,this.getUserDetails().subscribe((function(t){e.language=e.configService.getConfig().language==t.profileDetails.preferences.language?e.configService.getConfig().language:t.profileDetails.preferences.language,e.role=e.configService.getConfig().profileData[0].designation==t.profileDetails.profileReq.professionalDetails[0].designation?e.configService.getConfig().profileData[0].designation:t.profileDetails.profileReq.professionalDetails[0].designation}))},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.navigateBack=function(){this.router.navigate(["/page/home"])},e.prototype.changeTab=function(e){this.tabIndex=e.index},e.prototype.startSelfAssessment=function(){this.stateChange.emit({navigation:!0})},e.ctorParameters=function(){return[{type:s.Router},{type:a.ConfigService},{type:I}]},f([t.Output()],e.prototype,"stateChange",void 0),e=f([t.Component({selector:"lib-competency-dashboard",template:'<div [ngClass]="isMobileApp ? \'content-mobile\' : \'content\'">\n <mat-icon (click)="navigateBack()" class="cursor-pointer mb-3"\n >chevron_left</mat-icon\n >\n\n <h1 class="pl-2 mb-0" i18n>{{\'COMPETENCY_DASHBOARD\' | translate}}</h1>\n\n <div class="pl-2 tab-container">\n <mat-tab-group\n [ngClass]="{ \'header-width-icon\': tabIndex === 1 }"\n class="remove-border-bottom"\n animationDuration="0ms"\n [selectedIndex]="tabIndex"\n (selectedTabChange)="changeTab($event)"\n >\n \x3c!-- Active Summary as Job Description --\x3e\n <mat-tab i18n-label label="{{\'JOB_DESCRIPTION\' | translate}}">\n <h4 class="mt-4 mb-1" i18n>{{\'ROLES\' | translate}}</h4>\n <lib-active-summary [language]="language" [isMobileApp]="isMobileApp" [desigination]="role" *ngIf="tabIndex === 0"></lib-active-summary>\n </mat-tab>\n\n \x3c!-- gained as Passbook --\x3e\n <mat-tab i18n-label label="{{\'PASSBOOK\' | translate}}">\n <div class="legend-container">\n <div class="legend legend-blue"></div>\n <h5 class="mb-0" i18n>{{\'EXTERNAL\' | translate}}</h5>\n <div class="legend legend-green"></div>\n <h5 class="mb-0" i18n>{{\'SELF\' | translate}}</h5>\n <div class="legend legend-yellow"></div>\n <h5 class="mb-0" i18n>{{\'CRS_TRK_FRMELEMNTS_LBL_TRAINING\' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]="language"\n *ngIf="tabIndex === 1"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n \x3c!-- required --\x3e\n <mat-tab i18n-label label="{{\'REQUIRED\' | translate}}">\n <div class="required-comperencies">\n <div class="mt-2 tab-badge" i18n>{{\'SELF_ASSESSMENTS\' | translate}}</div>\n <lib-required-comptency-card\n [language]="language"\n [role]="role"\n *ngIf="tabIndex === 2"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]})],e)}(),S=function(){function e(e,t,n,i){this.activeSummaryService=e,this.configService=t,this.gainedService=n,this.selfAssessmentService=i,this.panelOpenState=!0,this.loading=!1,this.acordianLoading=!1,this.btnType=[],this.requestUtil=new x}return e.prototype.ngOnInit=function(){var e=this;this.designationMap(this.desigination),this.getProgress(),this.loading=!0,this.getUserDetails().pipe(c.mergeMap((function(t){if(e.profileData=t.profileDetails.profileReq,e.language||(e.language=t.profileDetails.preferences?t.profileDetails.preferences.language:"en"),e.desigination||(e.desigination=t.profileDetails.profileReq.professionalDetails[0].designation,e.designationMap(e.desigination)),e.profileData){var i=e.getRolesWiseCompetencyData(),o=e.getCompetencyCourse();return n.forkJoin([i,o])}}))).subscribe((function(t){console.log(t);var n=r.find(t[0].response,{position:e.desigination});console.log(n),e.assessmentData=e.requestUtil.formatedCompetencyCourseData(t[1]),e.getAssessmentBtnType(e.assessmentData);var i=e.requestUtil.formatedActivitityByPostion(n,e.language,e.assessmentData,e.competencyProgress);e.roleactivitySummaries=i,e.loading=!1,console.log("data after the activity",e.roleactivitySummaries)})),console.log("data after the activity",this.roleactivitySummaries)},e.prototype.getProgress=function(){var e=this;this.gainedService.competencyData$.subscribe((function(t){e.competencyProgress=t}))},e.prototype.getAssessmentBtnType=function(e){var t=this;r.forEach(e,(function(e){t.getAssessmentProgress(e).subscribe((function(n){if(n.result&&n.result.contentList.length>0)if(n.result.contentList.length>0&&e.childContent===n.result.contentList.length){var i="";r.forEach(n.result.contentList,(function(e){i=100===e.completionPercentage&&0!==e.completionPercentage?"DONE":"RESUME"})),t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:i})}else t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:"RESUME"});0==n.result.contentList.length&&t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:"START"})}))}))},e.prototype.getAssessmentProgress=function(e){var t={request:{userId:this.configService.getConfig().id,batchId:e.batchId,courseId:e.contentId,contentIds:[],fields:["progressdetails"]}};return this.selfAssessmentService.fetchPrgressDetails(t)},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.getRolesWiseCompetencyData=function(){return this.profileData.professionalDetails&&this.profileData.professionalDetails[0].designation,this.activeSummaryService.getRolesWiseCompetency()},e.prototype.getActivityByRole=function(e){this.profileData.professionalDetails&&this.profileData.professionalDetails[0].designation;var t={filter:{isDetail:!0},id:e};return this.activeSummaryService.getActivityById(t)},e.prototype.designationMap=function(e){var t,n=this;this.activeSummaryService.getRolesMapping().pipe().subscribe((function(i){return console.log(i),(t=i.response).hasOwnProperty(e)?(n.roleId=t[e],n.roleId):(n.roleId=1,1)}),(function(i){return console.log("error",i),(t=i).hasOwnProperty(e)?(n.roleId=t[e],n.roleId):(n.roleId=1,1)}))},e.prototype.getActivityByRoleId=function(e){var t=this;this.acordianLoading=!0;var i=r.findIndex(this.roleactivitySummaries,{id:e});this.roleactivitySummaries[i].activities=[],this.getEntityById(e).pipe(c.mergeMap((function(e){var o=t.requestUtil.formatedActivitityByRoleId(e,t.language);t.roleactivitySummaries[i].activities=o;var a=r.map(t.roleactivitySummaries[i].activities,"cid"),c=[];return r.forEach(a,(function(e){c.push(t.getEntityById(e))})),t.acordianLoading=!1,n.forkJoin(v(c))}))).subscribe((function(e){var n=t.requestUtil.formatedCompetency(e,t.competencyProgress,t.language,t.assessmentData);t.roleactivitySummaries[i].activities=r.values(r.merge(r.keyBy(n,"id"),r.keyBy(t.roleactivitySummaries[i].activities,"cid"))),t.roleactivitySummaries[i].averagePercentage=[];var o=t.getAveragepercentage(n);t.roleactivitySummaries[i].averagePercentage=o,t.loading=!1}))},e.prototype.getEntityById=function(e){var t={filter:{isDetail:!0},id:e};return this.activeSummaryService.getActivityById(t)},e.prototype.getAveragepercentage=function(e){var t=e.length,n=[];return r.forEach(e,(function(e){n.push(e.completionPercentage)})),r.round(r.sum(n)/t)},e.prototype.getCompetencyCourse=function(){return this.activeSummaryService.getCompetencyCourseIdentifier(this.language)},e.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe.unsubscribe()},e.ctorParameters=function(){return[{type:I},{type:a.ConfigService},{type:b},{type:p.SelfAssessmentService}]},f([t.Input()],e.prototype,"language",void 0),f([t.Input()],e.prototype,"isMobileApp",void 0),f([t.Input()],e.prototype,"desigination",void 0),e=f([t.Component({selector:"lib-active-summary",template:'<lib-app-loader *ngIf="loading === true"></lib-app-loader>\n<ng-container *ngFor="let role of roleactivitySummaries">\n <div class="activity-card-container">\n <mat-accordion>\n <mat-expansion-panel\n class=""\n (opened)="panelOpenState = true"\n (closed)="panelOpenState = false"\n >\n <mat-expansion-panel-header\n id="activity-header"\n class="flex-between items-center w-full"\n collapsedHeight="auto"\n expandedHeight="auto"\n >\n\n <mat-panel-description class="panel-header-description">\n <ng-container *ngIf="role?.roles">\n <div class="flex flex-column w-full">\n <div class="role-title">{{ role?.roles }}</div>\n <div class="progress-status-none" *ngIf="role?.averagePercentage == 0"></div>\n <div class="progress-status" *ngIf="role?.averagePercentage < 100 && role?.averagePercentage != 0" i18n>{{\'IN_PROGRESS\' | translate }}</div>\n <div class="progress-status" *ngIf="role?.averagePercentage == 100" i18n>{{\'COMPLETED\' | translate}}</div>\n <ng-container >\n <div [ngClass]="{\'green-bar\': role?.averagePercentage == 100 , \'warn-bar\': role?.averagePercentage < 100 && role?.averagePercentage != 0 }">\n <mat-progress-bar mode="determinate" value={{role?.averagePercentage}} class="mt-1"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf="acordianLoading === true"></lib-app-loader>\n <div class="expand-container" *ngIf="roleactivitySummaries.length>0">\n \x3c!-- list of activity --\x3e\n <div class="activity-badge" i18n>{{\'ACTIVITIES\' | translate}}</div>\n <ng-container\n *ngFor="let activity of role?.activities; let i = index"\n >\n <div class="activity-title" *ngIf="activity.title">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf="role?.activities">\n <lib-competency-accordion [competencyList]="role?.activities" [assessmentData]="assessmentData" [assessBtnType]="btnType"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]})],e)}(),w=function(){function e(e){this.router=e}return e.prototype.ngOnInit=function(){console.log("list",this.competencyList)},e.prototype.viewCourses=function(e){if(e){var t=e.id?e.id:e.assessmentData.competencyID;this.router.navigate(["/app/search"],{queryParams:{q:[t+"-1",t+"-2",t+"-3",t+"-4",t+"-5"],competency:!0,redirect:"app/user/competency"},queryParamsHandling:"merge"})}},e.prototype.startSelfAssesment=function(e){this.router.navigate(["app/user/self-assessment"],{queryParams:e})},e.ctorParameters=function(){return[{type:s.Router}]},f([t.Input()],e.prototype,"competencyList",void 0),f([t.Input()],e.prototype,"assessmentData",void 0),f([t.Input()],e.prototype,"assessBtnType",void 0),e=f([t.Component({selector:"lib-competency-accordion",template:'<div class="competency-badge" i18n>{{\'COMPETENCIES\' | translate}} :</div>\n<ng-container *ngFor="let competency of competencyList; let i = index; let last = last;">\n <ng-container *ngIf="competency.competency">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class="flex-between items-center w-full" collapsedHeight="auto"\n expandedHeight="auto">\n <mat-panel-description class="panel-header-description" (click)="$event.stopPropagation();">\n <ng-container *ngIf="competency.competency">\n <div class="flex flex-col">\n <div class="flex flex-row align-items-center gap-2">\n <div>\n <ng-container *ngIf="competency.completionPercentage == 100">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="competency.completionPercentage < 100">\n <mat-progress-spinner diameter="20" strokeWidth="2" mode="determinate"\n [value]="competency.completionPercentage"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class="competency-title">{{ competency.competency }}</div>\n </div>\n <div class="flex flex-row gap-3 mt-3">\n <ng-container *ngFor="let btn of assessBtnType">\n <ng-container *ngIf="btn.courseId == competency?.assessmentData?.contentId">\n <button\n *ngIf="btn.type === \'START\'"\n mat-button\n class="assess-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'ASSESS\' | translate}}\n </button>\n <button\n *ngIf="btn.type === \'RESUME\'"\n mat-button\n class="reassess-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'RE-ASSESS\' | translate}}\n </button>\n <button\n *ngIf="btn.type === \'DONE\'"\n mat-button\n disabled\n class="done-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'DONE\' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class="btn-long" i18n (click)="viewCourses(competency)">{{\'VIEW_COURSES\' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n \x3c!-- <lib-app-loader *ngIf="acordianLoading === true"></lib-app-loader> --\x3e\n <div class="expand-container">\n \x3c!-- list of levels --\x3e\n <div class="Levels-badge" i18n>{{\'LEVELS\' | translate}}</div>\n <ng-container *ngIf="competency.levelDescription !== \'\'; else manualLevel">\n <ng-container *ngFor="let level of competency.levelDescription; let i = index">\n <div class="flex flex-row gap-2">\n <div>\n <ng-container *ngIf="level.achived">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="!level.achived">\n <mat-icon class="non-progress cursor-pointer">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class="Levels-title"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor="let level of competency.levels; let i = index">\n <div class="flex flex-row align-items-center gap-2">\n <div>\n <ng-container *ngIf="level.achived">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="!level.achived">\n <mat-icon class="non-progress cursor-pointer">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class="Levels-title">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class="mt-3 mb-3" [ngClass]="{\'d-none\' : last}" />\n </ng-container>\n</ng-container>',styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]})],e)}(),k=function(){function e(){}return e=f([t.NgModule({declarations:[h,D,C,S,w],imports:[l.CommonModule,d.MatTabsModule,d.MatIconModule,d.MatExpansionModule,d.MatProgressBarModule,d.MatProgressSpinnerModule,o.HttpClientModule,i.CoreModule,p.SelfAssessmentModule,g.TranslateModule],exports:[h,D,C,S]})],e)}();e.CompetencyDashboardComponent=C,e.CompetencyModule=k,e.GainedComptencyCardComponent=D,e.RequestUtil=x,e.RequiredComptencyCardComponent=h,e.ɵa=b,e.ɵb=I,e.ɵc=S,e.ɵd=w,Object.defineProperty(e,"__esModule",{value:!0})}));
***************************************************************************** */var m=function(e,t){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){function n(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e,t,n,i){var o,a=arguments.length,r=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(r=(a<3?o(r):a>3?o(t,n,r):o(t,n))||r);return a>3&&r&&Object.defineProperty(t,n,r),r}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,a=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)r.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return r}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}var h=function(){function e(){}return e.prototype.ngOnInit=function(){this.seletectedLang=this.language,this.position=this.role},e.prototype.ngOnDestroy=function(){},f([t.Input()],e.prototype,"language",void 0),f([t.Input()],e.prototype,"isMobileApp",void 0),f([t.Input()],e.prototype,"role",void 0),e=f([t.Component({selector:"lib-required-comptency-card",template:'<lib-self-assessment [language]="seletectedLang" [position]="position"></lib-self-assessment>',styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]})],e)}(),b=function(e){function r(t,i){var o=e.call(this,t,i)||this;return o.configService=i,o.competencyData=new n.BehaviorSubject(void 0),o.competencyData$=o.competencyData.asObservable(),o}return u(r,e),r.prototype.fetchUserPassbook=function(e,t){var n=this.configService.getConfig(),o={url:n.isMobileApp?i.urlConfig.getUserPassbookMobile():i.urlConfig.getUserPassbook(),data:e,header:n.isMobileApp?{"x-authenticated-userid":t}:""};return this.post(o)},r.prototype.fetchAllEntity=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getAllEntityMobile():i.urlConfig.getAllEntity(),data:e};return this.post(t)},r.ctorParameters=function(){return[{type:o.HttpClient},{type:a.ConfigService}]},r.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new r(t.ɵɵinject(o.HttpClient),t.ɵɵinject(a.ConfigService))},token:r,providedIn:"root"}),r=f([t.Injectable({providedIn:"root"})],r)}(i.DataService),x=function(){function e(){var e=this;this.formatedActivities=function(e){if(!r.isEmpty(e))return e},this.formatedActivitityByPostion=function(t,n,i,o){var a=[],c=r.get(t,"activity");if(r.get(t,"roles"))return r.forEach(t.roles,(function(t){var s=r.values(t)[0],l=s.children,p=r.reduce(l,(function(t,a){var s=r.get(a,"id"),l=r.filter(c,(function(e){return r.has(e,s)})),p=r.flatMap(l,(function(t){var c=r.get(t,s+".children");return c.length>0||Object.keys(c).length>0?r.map(c,(function(t){return{title:"hi"==n?e.getHiName(a):r.get(a,"name"),cid:r.get(a,"id"),description:r.get(a,"description"),code:r.get(a.additionalProperties,"Code"),levels:e.getLevels(r.get(t,"id"),o,n),competency:"hi"==n?e.getHiName(t):r.get(t,"name"),id:r.get(t,"id"),lastLevel:e.getheighestLevel(r.get(t,"id"),o),completionPercentage:e.getCompeletionPercentage(r.get(t,"id"),o),levelDescription:r.get(t.additionalProperties,"competencyLevelDescription")?e.getLevelDescription(r.get(t.additionalProperties,"competencyLevelDescription"),o,r.get(t,"id"),n):"",assessmentData:e.setAssessmentData(r.get(t,"id"),i)}})):[{title:"hi"==n?e.getHiName(a):r.get(a,"name"),cid:r.get(a,"id"),description:r.get(a,"description"),code:r.get(a.additionalProperties,"Code")}]}));return r.some(p,"id")?t.concat(p):t.concat(r.uniqBy(p,"cid"))}),[]);a.push({roles:"hi"==n?e.getHiName(s):r.get(s,"name"),id:r.get(s,"id"),description:r.get(s,"description"),averagePercentage:e.getAveragepercentage(p),code:r.get(s.additionalProperties,"Code"),activities:p})})),a},this.formatedActivitityByRoleId=function(t,n,i,o,a){var c;if(t.length>0){var s=r.reduce(t,(function(t,s){var l=r.filter(i,(function(e){return r.has(e,r.get(s,"id"))}));return console.log("filteredData",l),l.length>0&&r.forEach(l,(function(t){var i=r.get(t,r.get(s,"id")+".children");c=e.formatedCompetency(i,o,n,a,r.get(s,"id"))})),t.push({title:"hi"==n?e.getHiName(s):r.get(s,"name"),cid:r.get(s,"id"),description:r.get(s,"description"),code:r.get(s.additionalProperties,"Code")}),y(t,c)}),[]);return r.sortBy(s,[function(e){return e.code}])}},this.formatedCompetency=function(t,n,i,o,a){var c=[];return t.length>0&&r.forEach(t,(function(t){c.push({levels:e.getLevels(r.get(t,"id"),n,i),competency:"hi"==i?e.getHiName(t):r.get(t,"name"),id:r.get(t,"id"),description:r.get(t,"description"),cid:a,lastLevel:e.getheighestLevel(r.get(t,"id"),n),completionPercentage:e.getCompeletionPercentage(r.get(t,"id"),n),code:r.get(t.additionalProperties,"Code"),levelDescription:r.get(t.additionalProperties,"competencyLevelDescription")?e.getLevelDescription(r.get(t.additionalProperties,"competencyLevelDescription"),n,r.get(t,"id"),i):"",assessmentData:e.setAssessmentData(r.get(t,"id"),o)})})),c=r.sortBy(c,[function(e){return e.code}]),r.uniqBy(c,"id")}}return e.prototype.getAveragepercentage=function(e){var t=e.length,n=[];return r.forEach(e,(function(e){n.push(e.completionPercentage)})),r.round(r.sum(n)/t)||0},e.prototype.getHiName=function(e){return r.get(e.additionalProperties,"lang-hi-name")?r.get(e.additionalProperties,"lang-hi-name"):r.get(e,"name")},e.prototype.getLevelDescription=function(e,t,n,i){var o=[];r.forEach(JSON.parse(e),(function(e){e&&o.push({levelId:r.get(e,"level"),name:"hi"==i?r.get(e,"lang-hi-name"):r.get(e,"name"),description:"hi"==i?r.get(e,"lang-hi-description"):r.get(e,"description"),"description-hi":r.get(e,"lang-hi-description"),achived:!1})}));var a=null;return r.forEach(t,(function(e){r.toNumber(e.competencyId)===n&&(a=r.uniq(e.levelsAchieve))})),r.forEach(o,(function(e){r.forEach(a,(function(t){t==e.levelId&&(e.achived=!0)}))})),o},e.prototype.getLevels=function(e,t,n){var i=[{name:"hi"==n?"स्तर 1":"Level 1",achived:!1,level:"1"},{name:"hi"==n?"स्तर 2":"Level 2",achived:!1,level:"2"},{name:"hi"==n?"स्तर 3":"Level 3",achived:!1,level:"3"},{name:"hi"==n?"स्तर 4":"Level 4",achived:!1,level:"4"},{name:"hi"==n?"स्तर 5":"Level 5",achived:!1,level:"5"}],o=null;return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(o=r.uniq(t.levelsAchieve))})),r.forEach(i,(function(e){r.forEach(o,(function(t){t==e.level&&(e.achived=!0)}))})),i},e.prototype.getheighestLevel=function(e,t){var n="";return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(n=t.levelId.competencyLevelId)})),n},e.prototype.getCompeletionPercentage=function(e,t){var n=0;return r.forEach(t,(function(t){r.toNumber(t.competencyId)===e&&(n=r.toNumber(t.levelId.competencyLevelId))})),n=100*n/5},e.prototype.setAssessmentData=function(e,t){var n;return r.forEach(t,(function(t){e==t.competencyID&&(n=t)})),n},e.prototype.formatedGainedCompetency=function(e,t,n){var i=this,o=[];return r.forEach(e,(function(a){var c=r.get(a,"id");r.forEach(t,(function(t){if(t.competencies.hasOwnProperty(c)){var a=t.competencies[c];o.push({title:"hi"==n?i.getHiTitle(c,e,a):r.get(a,"additionalParams.competencyName"),logs:i.acquiredPassbookLogs(r.get(a,"acquiredDetails"),n),proficiencyLevels:i.acauiredChannelColourCode(r.get(a,"acquiredDetails")),competencyStoreData:i.competencyStoreDataFomat(a),titleHi:i.getHiTitle(c,e,a)})}}))})),o},e.prototype.getHiTitle=function(e,t,n){var i;return r.forEach(t,(function(t){t.id==e&&(i=r.get(t.additionalProperties,"lang-hi-name")?r.get(t.additionalProperties,"lang-hi-name"):r.get(n,"additionalParams.competencyName"))})),i},e.prototype.acquiredPassbookLogs=function(e,t){var n=this,i=[];return e.length>0&&r.forEach(e,(function(e){i.push({header:r.get(e,"courseName")?r.get(e,"courseName"):"hi"==t?n.getHindiName(r.get(e,"acquiredChannel")):r.get(e,"acquiredChannel"),date:r.get(e,"createdDate"),description:r.get(e,"additionalParams.description"),keyboardArrowUp:!0,level:r.toNumber(r.get(e,"competencyLevelId"))})})),i},e.prototype.getHindiName=function(e){var t;switch(e){case"selfAssessment":t="आत्म मूल्यांकन";case"admin":t="व्यवस्थापक"}return t},e.prototype.acauiredChannelColourCode=function(e){var t=[{color:"#FFFBB0",displayLevel:1,selected:!1},{color:"#FFFBB0",displayLevel:2,selected:!1},{color:"#FFFBB0",displayLevel:3,selected:!1},{color:"#FFFBB0",displayLevel:4,selected:!1},{color:"#FFFBB0",displayLevel:5,selected:!1}];return r.forEach(e,(function(e){switch(r.get(e,"acquiredChannel")){case"course":case"Course":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#FFFBB0",t.selected=!0)}));break;case"selfAssessment":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#A4DFCA",t.selected=!0)}));break;case"admin":r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#7cb5e6",t.selected=!0)}));break;default:r.forEach(t,(function(t){t.displayLevel==r.get(e,"competencyLevelId")&&(t.color="#FFFBB0",t.selected=!1)}))}})),t},e.prototype.competencyStoreDataFomat=function(e){var t=[];return e.acquiredDetails&&r.forEach(e.acquiredDetails,(function(e){e.competencyLevelId&&t.push(e.competencyLevelId)})),{competencyId:e.competencyId,competencyName:e.additionalParams.competencyName,levelId:r.maxBy(e.acquiredDetails,"competencyLevelId"),levelsAchieve:t}},e.prototype.formatedCompetencyCourseData=function(e){var t=this,n=[];if(r.get(e,"result")){var i=r.get(e,"result.content");i&&r.forEach(i,(function(e){n.push({title:r.get(e,"name"),contentId:r.get(e,"identifier"),contentType:r.get(e,"contentType"),subTitle:r.get(e,"subTitle"),description:r.get(e,"description"),creator:r.get(e,"creator"),duration:r.get(e,"duration"),batchId:t.getBatchData(e),childContent:r.get(e,"childNodes").length,competencyID:t.getCompetencyData(e.competencies_v1)})}))}return n},e.prototype.getCompetencyData=function(e){if(e)return JSON.parse(e)[0].competencyId},e.prototype.getBatchData=function(e){var t="";return e.batches&&(t=e.batches[0].batchId),t},e}(),I=function(e){function n(t,n){var i=e.call(this,t,n)||this;return i.configService=n,i}return u(n,e),n.prototype.getActivityById=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getEntityByIdMobile(e.id):i.urlConfig.getEntityById(e.id),data:e};return this.post(t)},n.prototype.getUserdetailsFromRegistry=function(e){var t={url:this.configService.getConfig().isMobileApp?i.urlConfig.getUserdetailsMobile(e.id):i.urlConfig.getUserdetailsFromRegistry(e.id)};return this.get(t).pipe(c.map((function(e){return e.result.response})))},n.prototype.getRolesMapping=function(){var e={url:i.urlConfig.getRoleMapping()};return this.getwithouTAuthorization(e)},n.prototype.getRolesWiseCompetency=function(){var e={url:i.urlConfig.getRoleWiseCompetency()};return this.getwithouTAuthorization(e)},n.prototype.getCompetencyCourseIdentifier=function(e){var t={request:{filters:{primaryCategory:["Course"],contentType:["Course"],status:["Live"],competency:[!0],lang:"hi"==e?"hi":"en"}},sort:[{lastUpdatedOn:"desc"}]},n={url:this.configService.getConfig().isMobileApp?i.urlConfig.getSearchMobile():i.urlConfig.getSearch(),data:t};return this.post(n)},n.ctorParameters=function(){return[{type:o.HttpClient},{type:a.ConfigService}]},n.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new n(t.ɵɵinject(o.HttpClient),t.ɵɵinject(a.ConfigService))},token:n,providedIn:"root"}),n=f([t.Injectable({providedIn:"root"})],n)}(i.DataService),D=function(){function e(e,t,n){this.gainedService=e,this.configService=t,this.activeSummaryService=n,this.loading=!1,this.panelOpenState=!1,this.selectedProficiencyIndex=-1,this.selectedDisplayLevel=-1,this.requestUtil=new x}return e.prototype.ngOnInit=function(){var e=this;this.language||this.getUserDetails().subscribe((function(t){e.language=t.profileDetails.preferences?t.profileDetails.preferences.language:"en"})),this.loading=!0;var t=this.getAllEntity(),i=this.getAllUserPassbook();n.forkJoin([t,i]).subscribe((function(t){var n=e.requestUtil.formatedGainedCompetency(t[0].result.response,t[1].result.content,e.language);if(e.gainedproficencyData=n,e.gainedproficencyData){var i=[];r.forEach(e.gainedproficencyData,(function(e){e.competencyStoreData&&i.push(e.competencyStoreData)})),e.gainedService.competencyData.next(i)}e.loading=!1}))},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.getAllUserPassbook=function(){var e=this.configService.getConfig().id;return this.gainedService.fetchUserPassbook({request:{typeName:"competency"}},e)},e.prototype.getAllEntity=function(){return this.gainedService.fetchAllEntity({search:{type:"Competency"}})},e.prototype.selectLevel=function(e,t){e!==this.selectedProficiencyIndex||-1!==t&&t!==this.selectedDisplayLevel?this.selectedProficiencyIndex=e:this.selectedProficiencyIndex=-1,this.selectedDisplayLevel=t},e.ctorParameters=function(){return[{type:b},{type:a.ConfigService},{type:I}]},f([t.Input()],e.prototype,"language",void 0),e=f([t.Component({selector:"lib-gained-comptency-card",template:'<lib-app-loader *ngIf="loading === true"></lib-app-loader>\n<ng-container *ngFor="let proficency of gainedproficencyData; let i = index">\n <div class="card-container example-container container-balanced">\n <ng-container *ngIf="proficency?.title">\n <div class="title">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class="levelsTitle" i18n>{{\'LEVELS\' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]="i === selectedProficiencyIndex"\n class="w-full panel"\n hideToggle\n >\n <mat-expansion-panel-header\n class="flex-between items-center panel-header w-full"\n >\n <mat-panel-description class="panel-header-description">\n <ng-container\n *ngFor="let proficiencyLevel of proficency?.proficiencyLevels"\n >\n <ng-container *ngIf="proficiencyLevel.selected; else addLevel">\n <div\n (click)="\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n "\n class="level mb-1"\n [ngStyle]="{ \'background-color\': proficiencyLevel.color }"\n [ngClass]="{\n \'individual-select\':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)="$event.stopPropagation()" class="level mb-1">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class="level mb-1"\n (click)="$event.stopPropagation(); selectLevel(i, -1)"\n >\n <mat-icon\n [ngClass]="{ arrowReverse: selectedProficiencyIndex === i }"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class="log-header" i18n>{{\'LOG\' | translate}}</span>\n <ng-container\n *ngFor="let log of proficency?.logs; let logIndex = index; let last = last; "\n >\n <ng-container\n *ngIf="\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n "\n >\n <div class="log" [ngClass]="{\'border-bottom-0\': last}">\n <div class="flex w-full">\n <ng-container *ngIf="log.header">\n <div class="log-level-id"\n i18n>{{\'LEVEL\' | translate}}{{ log.level }} </div> \n <div class="log-level-details"> {{ log.header }}</div\n >\n <div class="log-date mr-2">{{\n log?.date | date : "dd/MM/yyyy"\n }}</div>\n </ng-container>\n </div>\n <ng-container *ngIf="log.description">\n <div\n class="mt-2"\n [ngClass]="{ \'hide-content\': !log.keyboardArrowUp }"\n >\n {{ log.description }}\n </div>\n <div class="justify-end">\n <mat-icon\n (click)="log.keyboardArrowUp = !log.keyboardArrowUp"\n class="mr-3"\n [ngClass]="{ arrowReverse: log.keyboardArrowUp }"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n \x3c!-- <hr> --\x3e\n</ng-container>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-level-details,.log-level-id{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]})],e)}(),C=function(){function e(e,n,i){this.router=e,this.configService=n,this.activeSummaryService=i,this.stateChange=new t.EventEmitter,this.tabIndex=1}return e.prototype.ngOnInit=function(){var e=this;this.tabIndex=1,this.isMobileApp=this.configService.getConfig().isMobileApp,this.role=this.configService.getConfig().profileData[0].designation,this.language=this.configService.getConfig().language,this.getUserDetails().subscribe((function(t){e.language=e.configService.getConfig().language==t.profileDetails.preferences.language?e.configService.getConfig().language:t.profileDetails.preferences.language,e.role=e.configService.getConfig().profileData[0].designation==t.profileDetails.profileReq.professionalDetails[0].designation?e.configService.getConfig().profileData[0].designation:t.profileDetails.profileReq.professionalDetails[0].designation}))},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.navigateBack=function(){this.router.navigate(["/page/home"])},e.prototype.changeTab=function(e){this.tabIndex=e.index},e.prototype.startSelfAssessment=function(){this.stateChange.emit({navigation:!0})},e.ctorParameters=function(){return[{type:s.Router},{type:a.ConfigService},{type:I}]},f([t.Output()],e.prototype,"stateChange",void 0),e=f([t.Component({selector:"lib-competency-dashboard",template:'<div [ngClass]="isMobileApp ? \'content-mobile\' : \'content\'">\n <mat-icon (click)="navigateBack()" class="cursor-pointer mb-3"\n >chevron_left</mat-icon\n >\n\n <h1 class="pl-2 mb-0" i18n>{{\'COMPETENCY_DASHBOARD\' | translate}}</h1>\n\n <div class="pl-2 tab-container">\n <mat-tab-group\n [ngClass]="{ \'header-width-icon\': tabIndex === 1 }"\n class="remove-border-bottom"\n animationDuration="0ms"\n [selectedIndex]="tabIndex"\n (selectedTabChange)="changeTab($event)"\n >\n \x3c!-- Active Summary as Job Description --\x3e\n <mat-tab i18n-label label="{{\'JOB_DESCRIPTION\' | translate}}">\n <h4 class="mt-4 mb-1" i18n>{{\'ROLES\' | translate}}</h4>\n <lib-active-summary [language]="language" [isMobileApp]="isMobileApp" [desigination]="role" *ngIf="tabIndex === 0"></lib-active-summary>\n </mat-tab>\n\n \x3c!-- gained as Passbook --\x3e\n <mat-tab i18n-label label="{{\'PASSBOOK\' | translate}}">\n <div class="legend-container">\n <div class="legend legend-blue"></div>\n <h5 class="mb-0" i18n>{{\'EXTERNAL\' | translate}}</h5>\n <div class="legend legend-green"></div>\n <h5 class="mb-0" i18n>{{\'SELF\' | translate}}</h5>\n <div class="legend legend-yellow"></div>\n <h5 class="mb-0" i18n>{{\'CRS_TRK_FRMELEMNTS_LBL_TRAINING\' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]="language"\n *ngIf="tabIndex === 1"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n \x3c!-- required --\x3e\n <mat-tab i18n-label label="{{\'REQUIRED\' | translate}}">\n <div class="required-comperencies">\n <div class="mt-2 tab-badge" i18n>{{\'SELF_ASSESSMENTS\' | translate}}</div>\n <lib-required-comptency-card\n [language]="language"\n [role]="role"\n *ngIf="tabIndex === 2"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]})],e)}(),w=function(){function e(e,t,n,i){this.activeSummaryService=e,this.configService=t,this.gainedService=n,this.selfAssessmentService=i,this.panelOpenState=!0,this.loading=!1,this.acordianLoading=!1,this.btnType=[],this.requestUtil=new x}return e.prototype.ngOnInit=function(){var e=this;this.designationMap(this.desigination),this.getProgress(),this.loading=!0,this.getUserDetails().pipe(c.mergeMap((function(t){if(e.profileData=t.profileDetails.profileReq,e.language||(e.language=t.profileDetails.preferences?t.profileDetails.preferences.language:"en"),e.desigination||(e.desigination=t.profileDetails.profileReq.professionalDetails[0].designation,e.designationMap(e.desigination)),e.profileData){var i=e.getRolesWiseCompetencyData(),o=e.getCompetencyCourse();return n.forkJoin([i,o])}}))).subscribe((function(t){console.log(t);var n=r.find(t[0].response,{position:e.desigination});console.log(n),e.assessmentData=e.requestUtil.formatedCompetencyCourseData(t[1]),e.getAssessmentBtnType(e.assessmentData);var i=e.requestUtil.formatedActivitityByPostion(n,e.language,e.assessmentData,e.competencyProgress);e.roleactivitySummaries=i,e.loading=!1,console.log("data after the activity",e.roleactivitySummaries)})),console.log("data after the activity",this.roleactivitySummaries)},e.prototype.getProgress=function(){var e=this;this.gainedService.competencyData$.subscribe((function(t){e.competencyProgress=t}))},e.prototype.getAssessmentBtnType=function(e){var t=this;r.forEach(e,(function(e){t.getAssessmentProgress(e).subscribe((function(n){if(n.result&&n.result.contentList.length>0)if(n.result.contentList.length>0&&e.childContent===n.result.contentList.length){var i="";r.forEach(n.result.contentList,(function(e){i=100===e.completionPercentage&&0!==e.completionPercentage?"DONE":"RESUME"})),t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:i})}else t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:"RESUME"});0==n.result.contentList.length&&t.btnType.push({competencyId:e.competencyID,courseId:e.contentId,type:"START"})}))}))},e.prototype.getAssessmentProgress=function(e){var t={request:{userId:this.configService.getConfig().id,batchId:e.batchId,courseId:e.contentId,contentIds:[],fields:["progressdetails"]}};return this.selfAssessmentService.fetchPrgressDetails(t)},e.prototype.getUserDetails=function(){var e={id:this.configService.getConfig().id};return this.activeSummaryService.getUserdetailsFromRegistry(e)},e.prototype.getRolesWiseCompetencyData=function(){return this.profileData.professionalDetails&&this.profileData.professionalDetails[0].designation,this.activeSummaryService.getRolesWiseCompetency()},e.prototype.getActivityByRole=function(e){this.profileData.professionalDetails&&this.profileData.professionalDetails[0].designation;var t={filter:{isDetail:!0},id:e};return this.activeSummaryService.getActivityById(t)},e.prototype.designationMap=function(e){var t,n=this;this.activeSummaryService.getRolesMapping().pipe().subscribe((function(i){return console.log(i),(t=i.response).hasOwnProperty(e)?(n.roleId=t[e],n.roleId):(n.roleId=1,1)}),(function(i){return console.log("error",i),(t=i).hasOwnProperty(e)?(n.roleId=t[e],n.roleId):(n.roleId=1,1)}))},e.prototype.getActivityByRoleId=function(e){var t=this;this.acordianLoading=!0;var i=r.findIndex(this.roleactivitySummaries,{id:e});this.roleactivitySummaries[i].activities=[],this.getEntityById(e).pipe(c.mergeMap((function(e){var o=t.requestUtil.formatedActivitityByRoleId(e,t.language);t.roleactivitySummaries[i].activities=o;var a=r.map(t.roleactivitySummaries[i].activities,"cid"),c=[];return r.forEach(a,(function(e){c.push(t.getEntityById(e))})),t.acordianLoading=!1,n.forkJoin(y(c))}))).subscribe((function(e){var n=t.requestUtil.formatedCompetency(e,t.competencyProgress,t.language,t.assessmentData);t.roleactivitySummaries[i].activities=r.values(r.merge(r.keyBy(n,"id"),r.keyBy(t.roleactivitySummaries[i].activities,"cid"))),t.roleactivitySummaries[i].averagePercentage=[];var o=t.getAveragepercentage(n);t.roleactivitySummaries[i].averagePercentage=o,t.loading=!1}))},e.prototype.getEntityById=function(e){var t={filter:{isDetail:!0},id:e};return this.activeSummaryService.getActivityById(t)},e.prototype.getAveragepercentage=function(e){var t=e.length,n=[];return r.forEach(e,(function(e){n.push(e.completionPercentage)})),r.round(r.sum(n)/t)},e.prototype.getCompetencyCourse=function(){return this.activeSummaryService.getCompetencyCourseIdentifier(this.language)},e.prototype.ngOnDestroy=function(){this.unsubscribe&&this.unsubscribe.unsubscribe()},e.ctorParameters=function(){return[{type:I},{type:a.ConfigService},{type:b},{type:p.SelfAssessmentService}]},f([t.Input()],e.prototype,"language",void 0),f([t.Input()],e.prototype,"isMobileApp",void 0),f([t.Input()],e.prototype,"desigination",void 0),e=f([t.Component({selector:"lib-active-summary",template:'<lib-app-loader *ngIf="loading === true"></lib-app-loader>\n<ng-container *ngFor="let role of roleactivitySummaries">\n <div class="activity-card-container">\n <mat-accordion>\n <mat-expansion-panel\n class=""\n (opened)="panelOpenState = true"\n (closed)="panelOpenState = false"\n >\n <mat-expansion-panel-header\n id="activity-header"\n class="flex-between items-center w-full"\n collapsedHeight="auto"\n expandedHeight="auto"\n >\n\n <mat-panel-description class="panel-header-description">\n <ng-container *ngIf="role?.roles">\n <div class="flex flex-column w-full">\n <div class="role-title">{{ role?.roles }}</div>\n <div class="progress-status-none" *ngIf="role?.averagePercentage == 0"></div>\n <div class="progress-status" *ngIf="role?.averagePercentage < 100 && role?.averagePercentage != 0" i18n>{{\'IN_PROGRESS\' | translate }}</div>\n <div class="progress-status" *ngIf="role?.averagePercentage == 100" i18n>{{\'COMPLETED\' | translate}}</div>\n <ng-container >\n <div [ngClass]="{\'green-bar\': role?.averagePercentage == 100 , \'warn-bar\': role?.averagePercentage < 100 && role?.averagePercentage != 0 }">\n <mat-progress-bar mode="determinate" value={{role?.averagePercentage}} class="mt-1"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf="acordianLoading === true"></lib-app-loader>\n <div class="expand-container" *ngIf="roleactivitySummaries.length>0">\n \x3c!-- list of activity --\x3e\n <div class="activity-badge" i18n>{{\'ACTIVITIES\' | translate}}</div>\n <ng-container\n *ngFor="let activity of (role?.activities| removeDuplicatesPipe:[\'cid\', \'name\'] ); let i = index"\n >\n <div class="activity-title" *ngIf="activity.title">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf="role?.activities">\n <lib-competency-accordion [competencyList]="role?.activities" [assessmentData]="assessmentData" [assessBtnType]="btnType"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n',encapsulation:t.ViewEncapsulation.None,styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]})],e)}(),S=function(){function e(e){this.router=e}return e.prototype.ngOnInit=function(){console.log("list",this.competencyList)},e.prototype.viewCourses=function(e){if(e){var t=e.id?e.id:e.assessmentData.competencyID;this.router.navigate(["/app/search"],{queryParams:{q:[t+"-1",t+"-2",t+"-3",t+"-4",t+"-5"],competency:!0,redirect:"app/user/competency"},queryParamsHandling:"merge"})}},e.prototype.startSelfAssesment=function(e){this.router.navigate(["app/user/self-assessment"],{queryParams:e})},e.ctorParameters=function(){return[{type:s.Router}]},f([t.Input()],e.prototype,"competencyList",void 0),f([t.Input()],e.prototype,"assessmentData",void 0),f([t.Input()],e.prototype,"assessBtnType",void 0),e=f([t.Component({selector:"lib-competency-accordion",template:'<div class="competency-badge" i18n>{{\'COMPETENCIES\' | translate}} :</div>\n<div *ngFor="let competency of (competencyList | removeDuplicatesPipe:[\'id\', \'name\']); let i = index; let last = last;">\n <ng-container *ngIf="competency.competency">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class="flex-between items-center w-full" collapsedHeight="auto"\n expandedHeight="auto">\n <mat-panel-description class="panel-header-description" (click)="$event.stopPropagation();">\n <ng-container *ngIf="competency.competency">\n <div class="flex flex-col">\n <div class="flex flex-row align-items-center gap-2">\n <div>\n <ng-container *ngIf="competency.completionPercentage == 100">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="competency.completionPercentage < 100">\n <mat-progress-spinner diameter="20" strokeWidth="2" mode="determinate"\n [value]="competency.completionPercentage"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class="competency-title">{{ competency.competency }}</div>\n </div>\n <div class="flex flex-row gap-3 mt-3">\n <ng-container *ngFor="let btn of assessBtnType">\n <ng-container *ngIf="btn.courseId == competency?.assessmentData?.contentId">\n <button\n *ngIf="btn.type === \'START\'"\n mat-button\n class="assess-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'ASSESS\' | translate}}\n </button>\n <button\n *ngIf="btn.type === \'RESUME\'"\n mat-button\n class="reassess-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'RE-ASSESS\' | translate}}\n </button>\n <button\n *ngIf="btn.type === \'DONE\'"\n mat-button\n disabled\n class="done-btn btn-small"\n (click)="startSelfAssesment(competency.assessmentData)"\n i18n\n >\n {{\'DONE\' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class="btn-long" i18n (click)="viewCourses(competency)">{{\'VIEW_COURSES\' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n \x3c!-- <lib-app-loader *ngIf="acordianLoading === true"></lib-app-loader> --\x3e\n <div class="expand-container">\n \x3c!-- list of levels --\x3e\n <div class="Levels-badge" i18n>{{\'LEVELS\' | translate}}</div>\n <ng-container *ngIf="competency.levelDescription !== \'\'; else manualLevel">\n <ng-container *ngFor="let level of competency.levelDescription; let i = index">\n <div class="flex flex-row gap-2">\n <div>\n <ng-container *ngIf="level.achived">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="!level.achived">\n <mat-icon class="non-progress cursor-pointer">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class="Levels-title"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor="let level of competency.levels; let i = index">\n <div class="flex flex-row align-items-center gap-2">\n <div>\n <ng-container *ngIf="level.achived">\n <mat-icon class="circle-tick cursor-pointer">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf="!level.achived">\n <mat-icon class="non-progress cursor-pointer">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class="Levels-title">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class="mt-3 mb-3" [ngClass]="{\'d-none\' : last}" />\n </ng-container>\n</div>',styles:[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]})],e)}(),k=function(){function e(){}return e=f([t.NgModule({declarations:[h,D,C,w,S],imports:[l.CommonModule,d.MatTabsModule,d.MatIconModule,d.MatExpansionModule,d.MatProgressBarModule,d.MatProgressSpinnerModule,o.HttpClientModule,i.CoreModule,p.SelfAssessmentModule,g.TranslateModule],exports:[h,D,C,w]})],e)}();e.CompetencyDashboardComponent=C,e.CompetencyModule=k,e.GainedComptencyCardComponent=D,e.RequestUtil=x,e.RequiredComptencyCardComponent=h,e.ɵa=b,e.ɵb=I,e.ɵc=w,e.ɵd=S,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=aastrika_npmjs-comptency-competency.umd.min.js.map

@@ -411,2 +411,25 @@ (function (global, factory) {

var RemoveDuplicatesPipe = /** @class */ (function () {
function RemoveDuplicatesPipe() {
}
RemoveDuplicatesPipe.prototype.transform = function (value, properties) {
if (!value || value.length === 0) {
return value;
}
return value.filter(function (item, index) {
var currentIndex = value.findIndex(function (el) {
// Check all specified properties for duplicate comparison
return properties.every(function (prop) { return el[prop] === item[prop]; });
});
return currentIndex === index;
});
};
RemoveDuplicatesPipe = __decorate([
core.Pipe({
name: 'removeDuplicatesPipe'
})
], RemoveDuplicatesPipe);
return RemoveDuplicatesPipe;
}());
/**

@@ -428,7 +451,9 @@ * Core Module

AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],
exports: [
AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],

@@ -464,2 +489,3 @@ providers: [DataService]

exports.ɵa = NoResultComponent;
exports.ɵb = RemoveDuplicatesPipe;

@@ -466,0 +492,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@aastrika_npmjs/comptency/entry-module"),require("lodash-es"),require("@angular/common"),require("lodash")):"function"==typeof define&&define.amd?define("@aastrika_npmjs/comptency/core",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@aastrika_npmjs/comptency/entry-module","lodash-es","@angular/common","lodash"],t):t(((e=e||self).aastrika_npmjs=e.aastrika_npmjs||{},e.aastrika_npmjs.comptency=e.aastrika_npmjs.comptency||{},e.aastrika_npmjs.comptency.core={}),e.ng.core,e.ng.common.http,e.rxjs.operators,e.rxjs,e.aastrika_npmjs.comptency["entry-module"],e.lodashEs,e.ng.common,e.lodash)}(this,(function(e,t,r,o,n,i,a,s,p){"use strict";
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@aastrika_npmjs/comptency/entry-module"),require("lodash-es"),require("@angular/common"),require("lodash")):"function"==typeof define&&define.amd?define("@aastrika_npmjs/comptency/core",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@aastrika_npmjs/comptency/entry-module","lodash-es","@angular/common","lodash"],t):t(((e=e||self).aastrika_npmjs=e.aastrika_npmjs||{},e.aastrika_npmjs.comptency=e.aastrika_npmjs.comptency||{},e.aastrika_npmjs.comptency.core={}),e.ng.core,e.ng.common.http,e.rxjs.operators,e.rxjs,e.aastrika_npmjs.comptency["entry-module"],e.lodashEs,e.ng.common,e.lodash)}(this,(function(e,t,r,n,o,i,a,s,p){"use strict";
/*! *****************************************************************************

@@ -15,3 +15,3 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var c=function(){return(c=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function u(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}var l=function(){return""+B.host+B.apiSlug},d=function(){return""+B.host+B.apiProxy},g=function(){return""+B.host+B.apiPublic},f=function(e){return B.apiBasePath()+"/entityCompetency/getEntityById/"+e},h=function(){return B.apiBasePath()+"/entityCompetency/getAllEntity"},m=function(){return B.apiBaseProxy()+"/user/v1/passbook"},y=function(){return B.apiBasePublic()+"/publicSearch/getCourses"},b=function(e,t){return B.apiBaseProxy()+"/action/content/v3/hierarchy/"+e+"?hierarchyType="+t},v=function(e){return B.apiBaseProxy()+"/api/user/v2/read/"+e},x=function(e){return B.apiBaseProxy()+"/read/content-progres/"+e},j=function(){return""+B.mobileHost+B.apiPublic+"/mobileApp/getAllEntity"},k=function(){return B.mobileHost+"/api/user/v1/passbook"},P=function(e){return B.mobileHost+"/api/user/v2/read/"+e},C=function(e){return""+B.mobileHost+B.apiPublic+"/mobileApp/getEntityById/"+e},M=function(){return""+B.mobileHost+B.apiPublic+"/publicSearch/getCourses"},w=function(){return B.mobileHost+"/api/course/v1/content/state/read"},H=function(){return""+B.mobileHost+B.apiPublic+"/competencyAssets/rolesMappingData"},I=function(){return""+B.mobileHost+B.apiPublic+"/competencyAssets/roleWiseCompetencyData"},B={host:window.location.protocol+"//"+window.location.host||"https://sphere.aastrika.org",mobileHost:"https://sphere.aastrika.org",apiSlug:"/apis/protected/v8",apiProxy:"/apis/proxies/v8",apiPublic:"/apis/public/v8",apiBasePath:l,apiBaseProxy:d,apiBasePublic:g,getEntityById:f,getAllEntity:h,getUserPassbook:m,getSearch:y,getHierachyDetails:b,getUserdetailsFromRegistry:v,getContentProgress:x,getAllEntityMobile:j,getUserPassbookMobile:k,getUserdetailsMobile:P,getEntityByIdMobile:C,getSearchMobile:M,getContentProgressMobile:w,getRoleMapping:H,getRoleWiseCompetency:I},O=function(){function e(e,t){this.configService=t,this.http=e}return e.prototype.get=function(e){var t=this.configService.getConfig(),r={headers:t.session?this.setHeader(t.session):e.header?e.header:this.getHeader(),params:e.param,observe:"response"};return this.http.get(e.url,r).pipe(o.mergeMap((function(e){var t=e.body;e.headers;return"OK"!==t.responseCode?n.throwError(t):n.of(t)})))},e.prototype.getwithouTAuthorization=function(e){this.configService.getConfig();var t={headers:this.getHeader(),params:e.param,observe:"response"};return this.http.get(e.url,t).pipe(o.mergeMap((function(e){var t=e.body;e.headers;return 200===t.status?n.of(t):n.throwError(t)})))},e.prototype.post=function(e){var t=this.configService.getConfig(),r={headers:t.session?this.setHeader(t.session,e.header?e.header:""):e.header?e.header:this.getHeader(),params:e.param};return this.http.post(e.url,e.data,r).pipe(o.mergeMap((function(e){return 200===e.responseCode||"OK"===e.responseCode?n.of(e):n.throwError(e)})))},e.prototype.getHeader=function(e){var t={Accept:"application/json"};return e?c({},t,e):c({},t)},e.prototype.setHeader=function(e,t){var r={Authorization:"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJTNHNNVFdjZUZqYkxUWGxiczkzUzk4dmFtODBhdkRPUiJ9.nPOCY0-bVX28iNcxxnYbGpihY3ZzfNwx0-SFCnJwjas","X-authenticated-user-token":e?e.access_token:""};return t?c({},r,t):c({},r)},e.ctorParameters=function(){return[{type:r.HttpClient},{type:i.ConfigService}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(r.HttpClient),t.ɵɵinject(i.ConfigService))},token:e,providedIn:"root"}),e=u([t.Injectable({providedIn:"root"})],e)}(),S=function(){function e(){}return e.prototype.ngOnInit=function(){this.headerMessage="Please wait",this.loaderMessage="We are fetching details",this.data&&(this.headerMessage=a.get(this.data,"headerMessage")||this.headerMessage,this.loaderMessage=a.get(this.data,"loaderMessage")||this.loaderMessage)},u([t.Input()],e.prototype,"data",void 0),e=u([t.Component({selector:"lib-app-loader",template:'<ng-container>\n <div class="loader-content">\n <p class="loader"></p>\n </div>\n</ng-container>\n ',styles:[".sbt-app-loader-container{background:var(--sbt-compt-bg);width:94%!important;margin:0 auto;border-radius:1.5rem;border:0}.loader-content{display:flex;justify-content:center;align-items:center;margin-top:38px}.message{margin:0;font-size:16px;color:#919191}.loader{width:30px;height:30px;margin:-76px 0 0 -76px;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid #555;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]})],e)}(),A=function(){function e(){}return e.prototype.ngOnInit=function(){this.setMessage()},e.prototype.setMessage=function(){this.message=p.get(this.data,"message")?p.get(this.data,"message"):" No result found"},u([t.Input()],e.prototype,"data",void 0),e=u([t.Component({selector:"lib-no-result",template:'<div class="no-data-container" >\n <ng-container >\n <div class="no-data-text">{{message}}</div>\n </ng-container>\n</div>\n',styles:[".no-data-container{width:100%;height:200px;text-align:center;justify-content:center;display:flex;background-color:#f8f8f8;align-items:center;border-radius:10px}.no-data-container .no-data-text{font-size:24px;font-weight:900;color:#848886b3}"]})],e)}(),E=function(){function e(){}return e=u([t.NgModule({imports:[s.CommonModule,r.HttpClientModule],declarations:[S,A],exports:[S,A],providers:[O]})],e)}();e.AppLoaderComponent=S,e.CoreModule=E,e.DataService=O,e.urlConfig=B,e.ɵ0=l,e.ɵ1=d,e.ɵ10=j,e.ɵ11=k,e.ɵ12=P,e.ɵ13=C,e.ɵ14=M,e.ɵ15=w,e.ɵ16=H,e.ɵ17=I,e.ɵ2=g,e.ɵ3=f,e.ɵ4=h,e.ɵ5=m,e.ɵ6=y,e.ɵ7=b,e.ɵ8=v,e.ɵ9=x,e.ɵa=A,Object.defineProperty(e,"__esModule",{value:!0})}));
***************************************************************************** */var c=function(){return(c=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function u(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}var l=function(){return""+B.host+B.apiSlug},d=function(){return""+B.host+B.apiProxy},f=function(){return""+B.host+B.apiPublic},g=function(e){return B.apiBasePath()+"/entityCompetency/getEntityById/"+e},h=function(){return B.apiBasePath()+"/entityCompetency/getAllEntity"},m=function(){return B.apiBaseProxy()+"/user/v1/passbook"},y=function(){return B.apiBasePublic()+"/publicSearch/getCourses"},b=function(e,t){return B.apiBaseProxy()+"/action/content/v3/hierarchy/"+e+"?hierarchyType="+t},v=function(e){return B.apiBaseProxy()+"/api/user/v2/read/"+e},x=function(e){return B.apiBaseProxy()+"/read/content-progres/"+e},P=function(){return""+B.mobileHost+B.apiPublic+"/mobileApp/getAllEntity"},j=function(){return B.mobileHost+"/api/user/v1/passbook"},k=function(e){return B.mobileHost+"/api/user/v2/read/"+e},C=function(e){return""+B.mobileHost+B.apiPublic+"/mobileApp/getEntityById/"+e},M=function(){return""+B.mobileHost+B.apiPublic+"/publicSearch/getCourses"},w=function(){return B.mobileHost+"/api/course/v1/content/state/read"},H=function(){return""+B.mobileHost+B.apiPublic+"/competencyAssets/rolesMappingData"},I=function(){return""+B.mobileHost+B.apiPublic+"/competencyAssets/roleWiseCompetencyData"},B={host:window.location.protocol+"//"+window.location.host||"https://sphere.aastrika.org",mobileHost:"https://sphere.aastrika.org",apiSlug:"/apis/protected/v8",apiProxy:"/apis/proxies/v8",apiPublic:"/apis/public/v8",apiBasePath:l,apiBaseProxy:d,apiBasePublic:f,getEntityById:g,getAllEntity:h,getUserPassbook:m,getSearch:y,getHierachyDetails:b,getUserdetailsFromRegistry:v,getContentProgress:x,getAllEntityMobile:P,getUserPassbookMobile:j,getUserdetailsMobile:k,getEntityByIdMobile:C,getSearchMobile:M,getContentProgressMobile:w,getRoleMapping:H,getRoleWiseCompetency:I},O=function(){function e(e,t){this.configService=t,this.http=e}return e.prototype.get=function(e){var t=this.configService.getConfig(),r={headers:t.session?this.setHeader(t.session):e.header?e.header:this.getHeader(),params:e.param,observe:"response"};return this.http.get(e.url,r).pipe(n.mergeMap((function(e){var t=e.body;e.headers;return"OK"!==t.responseCode?o.throwError(t):o.of(t)})))},e.prototype.getwithouTAuthorization=function(e){this.configService.getConfig();var t={headers:this.getHeader(),params:e.param,observe:"response"};return this.http.get(e.url,t).pipe(n.mergeMap((function(e){var t=e.body;e.headers;return 200===t.status?o.of(t):o.throwError(t)})))},e.prototype.post=function(e){var t=this.configService.getConfig(),r={headers:t.session?this.setHeader(t.session,e.header?e.header:""):e.header?e.header:this.getHeader(),params:e.param};return this.http.post(e.url,e.data,r).pipe(n.mergeMap((function(e){return 200===e.responseCode||"OK"===e.responseCode?o.of(e):o.throwError(e)})))},e.prototype.getHeader=function(e){var t={Accept:"application/json"};return e?c({},t,e):c({},t)},e.prototype.setHeader=function(e,t){var r={Authorization:"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJTNHNNVFdjZUZqYkxUWGxiczkzUzk4dmFtODBhdkRPUiJ9.nPOCY0-bVX28iNcxxnYbGpihY3ZzfNwx0-SFCnJwjas","X-authenticated-user-token":e?e.access_token:""};return t?c({},r,t):c({},r)},e.ctorParameters=function(){return[{type:r.HttpClient},{type:i.ConfigService}]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e(t.ɵɵinject(r.HttpClient),t.ɵɵinject(i.ConfigService))},token:e,providedIn:"root"}),e=u([t.Injectable({providedIn:"root"})],e)}(),S=function(){function e(){}return e.prototype.ngOnInit=function(){this.headerMessage="Please wait",this.loaderMessage="We are fetching details",this.data&&(this.headerMessage=a.get(this.data,"headerMessage")||this.headerMessage,this.loaderMessage=a.get(this.data,"loaderMessage")||this.loaderMessage)},u([t.Input()],e.prototype,"data",void 0),e=u([t.Component({selector:"lib-app-loader",template:'<ng-container>\n <div class="loader-content">\n <p class="loader"></p>\n </div>\n</ng-container>\n ',styles:[".sbt-app-loader-container{background:var(--sbt-compt-bg);width:94%!important;margin:0 auto;border-radius:1.5rem;border:0}.loader-content{display:flex;justify-content:center;align-items:center;margin-top:38px}.message{margin:0;font-size:16px;color:#919191}.loader{width:30px;height:30px;margin:-76px 0 0 -76px;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid #555;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]})],e)}(),A=function(){function e(){}return e.prototype.ngOnInit=function(){this.setMessage()},e.prototype.setMessage=function(){this.message=p.get(this.data,"message")?p.get(this.data,"message"):" No result found"},u([t.Input()],e.prototype,"data",void 0),e=u([t.Component({selector:"lib-no-result",template:'<div class="no-data-container" >\n <ng-container >\n <div class="no-data-text">{{message}}</div>\n </ng-container>\n</div>\n',styles:[".no-data-container{width:100%;height:200px;text-align:center;justify-content:center;display:flex;background-color:#f8f8f8;align-items:center;border-radius:10px}.no-data-container .no-data-text{font-size:24px;font-weight:900;color:#848886b3}"]})],e)}(),E=function(){function e(){}return e.prototype.transform=function(e,t){return e&&0!==e.length?e.filter((function(r,n){return e.findIndex((function(e){return t.every((function(t){return e[t]===r[t]}))}))===n})):e},e=u([t.Pipe({name:"removeDuplicatesPipe"})],e)}(),_=function(){function e(){}return e=u([t.NgModule({imports:[s.CommonModule,r.HttpClientModule],declarations:[S,A,E],exports:[S,A,E],providers:[O]})],e)}();e.AppLoaderComponent=S,e.CoreModule=_,e.DataService=O,e.urlConfig=B,e.ɵ0=l,e.ɵ1=d,e.ɵ10=P,e.ɵ11=j,e.ɵ12=k,e.ɵ13=C,e.ɵ14=M,e.ɵ15=w,e.ɵ16=H,e.ɵ17=I,e.ɵ2=f,e.ɵ3=g,e.ɵ4=h,e.ɵ5=m,e.ɵ6=y,e.ɵ7=b,e.ɵ8=v,e.ɵ9=x,e.ɵa=A,e.ɵb=E,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=aastrika_npmjs-comptency-core.umd.min.js.map

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"RequiredComptencyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-required-comptency-card","template":"<lib-self-assessment [language]=\"seletectedLang\" [position]=\"position\"></lib-self-assessment>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"GainedComptencyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gained-comptency-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex\">\n <ng-container *ngIf=\"log.header\">\n <span class=\"\"\n i18n>{{'LEVEL' | translate}} </span> <span> {{ log.level }}: {{ log.header }}</span\n >\n <span class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":26,"character":26},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAllUserPassbook":[{"__symbolic":"method"}],"getAllEntity":[{"__symbolic":"method"}],"selectLevel":[{"__symbolic":"method"}]}},"CompetencyDashboardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-competency-dashboard","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":17},"member":"None"},"template":"<div [ngClass]=\"isMobileApp ? 'content-mobile' : 'content'\">\n <mat-icon (click)=\"navigateBack()\" class=\"cursor-pointer mb-3\"\n >chevron_left</mat-icon\n >\n\n <h1 class=\"pl-2 mb-0\" i18n>{{'COMPETENCY_DASHBOARD' | translate}}</h1>\n\n <div class=\"pl-2 tab-container\">\n <mat-tab-group\n [ngClass]=\"{ 'header-width-icon': tabIndex === 1 }\"\n class=\"remove-border-bottom\"\n animationDuration=\"0ms\"\n [selectedIndex]=\"tabIndex\"\n (selectedTabChange)=\"changeTab($event)\"\n >\n <!-- Active Summary as Job Description -->\n <mat-tab i18n-label label=\"{{'JOB_DESCRIPTION' | translate}}\">\n <h4 class=\"mt-4 mb-1\" i18n>{{'ROLES' | translate}}</h4>\n <lib-active-summary [language]=\"language\" [isMobileApp]=\"isMobileApp\" [desigination]=\"role\" *ngIf=\"tabIndex === 0\"></lib-active-summary>\n </mat-tab>\n\n <!-- gained as Passbook -->\n <mat-tab i18n-label label=\"{{'PASSBOOK' | translate}}\">\n <div class=\"legend-container\">\n <div class=\"legend legend-blue\"></div>\n <h5 class=\"mb-0\" i18n>{{'EXTERNAL' | translate}}</h5>\n <div class=\"legend legend-green\"></div>\n <h5 class=\"mb-0\" i18n>{{'SELF' | translate}}</h5>\n <div class=\"legend legend-yellow\"></div>\n <h5 class=\"mb-0\" i18n>{{'CRS_TRK_FRMELEMNTS_LBL_TRAINING' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]=\"language\"\n *ngIf=\"tabIndex === 1\"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n <!-- required -->\n <mat-tab i18n-label label=\"{{'REQUIRED' | translate}}\">\n <div class=\"required-comperencies\">\n <div class=\"mt-2 tab-badge\" i18n>{{'SELF_ASSESSMENTS' | translate}}</div>\n <lib-required-comptency-card\n [language]=\"language\"\n [role]=\"role\"\n *ngIf=\"tabIndex === 2\"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":18,"character":31},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":19,"character":26},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}],"changeTab":[{"__symbolic":"method"}],"startSelfAssessment":[{"__symbolic":"method"}]}},"CompetencyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RequiredComptencyCardComponent"},{"__symbolic":"reference","name":"GainedComptencyCardComponent"},{"__symbolic":"reference","name":"CompetencyDashboardComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":32,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentModule","line":33,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":34,"character":4}],"exports":[{"__symbolic":"reference","name":"RequiredComptencyCardComponent"},{"__symbolic":"reference","name":"GainedComptencyCardComponent"},{"__symbolic":"reference","name":"CompetencyDashboardComponent"},{"__symbolic":"reference","name":"ɵc"}]}]}],"members":{}},"RequestUtil":{"__symbolic":"class","members":{"getAveragepercentage":[{"__symbolic":"method"}],"getHiName":[{"__symbolic":"method"}],"getLevelDescription":[{"__symbolic":"method"}],"getLevels":[{"__symbolic":"method"}],"getheighestLevel":[{"__symbolic":"method"}],"getCompeletionPercentage":[{"__symbolic":"method"}],"setAssessmentData":[{"__symbolic":"method"}],"formatedGainedCompetency":[{"__symbolic":"method"}],"getHiTitle":[{"__symbolic":"method"}],"acquiredPassbookLogs":[{"__symbolic":"method"}],"getHindiName":[{"__symbolic":"method"}],"acauiredChannelColourCode":[{"__symbolic":"method"}],"competencyStoreDataFomat":[{"__symbolic":"method"}],"formatedCompetencyCourseData":[{"__symbolic":"method"}],"getCompetencyData":[{"__symbolic":"method"}],"getBatchData":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":15,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":21,"character":53}]}],"fetchUserPassbook":[{"__symbolic":"method"}],"fetchAllEntity":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":14,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":16,"character":53}]}],"getActivityById":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}],"getRolesMapping":[{"__symbolic":"method"}],"getRolesWiseCompetency":[{"__symbolic":"method"}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-active-summary","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of role?.activities; let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"desigination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":38,"character":26},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentService","line":40,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"getAssessmentBtnType":[{"__symbolic":"method"}],"getAssessmentProgress":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getRolesWiseCompetencyData":[{"__symbolic":"method"}],"getActivityByRole":[{"__symbolic":"method"}],"designationMap":[{"__symbolic":"method"}],"getActivityByRoleId":[{"__symbolic":"method"}],"getEntityById":[{"__symbolic":"method"}],"getAveragepercentage":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-competency-accordion","template":"<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<ng-container *ngFor=\"let competency of competencyList; let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</ng-container>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"competencyList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"assessmentData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"assessBtnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":14,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}]}}},"origins":{"RequiredComptencyCardComponent":"./components/required-comptency-card/required-comptency-card.component","GainedComptencyCardComponent":"./components/gained-comptency-card/gained-comptency-card.component","CompetencyDashboardComponent":"./components/competency-dashboard/competency-dashboard.component","CompetencyModule":"./competency.module","RequestUtil":"./services/request-util","ɵa":"./services/gained.service","ɵb":"./services/active-summary.service","ɵc":"./components/active-summary/active-summary.component","ɵd":"./components/competency-accordion/competency-accordion.component"},"importAs":"@aastrika_npmjs/comptency/competency"}
{"__symbolic":"module","version":4,"metadata":{"RequiredComptencyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-required-comptency-card","template":"<lib-self-assessment [language]=\"seletectedLang\" [position]=\"position\"></lib-self-assessment>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.card-container{margin:15px 2px;padding:16px 10px 20px 14px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;background:#fff}.title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}.description{font-size:14px;line-height:17px;letter-spacing:-.02em}.start-btn{background-color:#1c5d95!important;border-radius:50px;padding:8px 32px;gap:8px;font-size:16px;line-height:19px;color:#fff!important;margin-top:10px;border:none}.proficiency{color:#1c5d96;font-size:20px;cursor:pointer;margin-top:15px}.log-title{font-size:14px;line-height:24px;letter-spacing:-.02em;color:#1c5d95}.log{border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.logs{padding:5px}.log-items{font-size:16px;line-height:19px;letter-spacing:-.02em;color:#000}:host ::ng-deep .mat-expansion-panel-header:hover{background:rgba(255,255,255,.98)!important}:host ::ng-deep .mat-content{display:flex!important}.level{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"GainedComptencyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gained-comptency-card","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":11,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex w-full\">\n <ng-container *ngIf=\"log.header\">\n <div class=\"log-level-id\"\n i18n>{{'LEVEL' | translate}}{{ log.level }} </div> \n <div class=\"log-level-details\"> {{ log.header }}</div\n >\n <div class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-level-details,.log-level-id{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":26,"character":26},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getAllUserPassbook":[{"__symbolic":"method"}],"getAllEntity":[{"__symbolic":"method"}],"selectLevel":[{"__symbolic":"method"}]}},"CompetencyDashboardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-competency-dashboard","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":17},"member":"None"},"template":"<div [ngClass]=\"isMobileApp ? 'content-mobile' : 'content'\">\n <mat-icon (click)=\"navigateBack()\" class=\"cursor-pointer mb-3\"\n >chevron_left</mat-icon\n >\n\n <h1 class=\"pl-2 mb-0\" i18n>{{'COMPETENCY_DASHBOARD' | translate}}</h1>\n\n <div class=\"pl-2 tab-container\">\n <mat-tab-group\n [ngClass]=\"{ 'header-width-icon': tabIndex === 1 }\"\n class=\"remove-border-bottom\"\n animationDuration=\"0ms\"\n [selectedIndex]=\"tabIndex\"\n (selectedTabChange)=\"changeTab($event)\"\n >\n <!-- Active Summary as Job Description -->\n <mat-tab i18n-label label=\"{{'JOB_DESCRIPTION' | translate}}\">\n <h4 class=\"mt-4 mb-1\" i18n>{{'ROLES' | translate}}</h4>\n <lib-active-summary [language]=\"language\" [isMobileApp]=\"isMobileApp\" [desigination]=\"role\" *ngIf=\"tabIndex === 0\"></lib-active-summary>\n </mat-tab>\n\n <!-- gained as Passbook -->\n <mat-tab i18n-label label=\"{{'PASSBOOK' | translate}}\">\n <div class=\"legend-container\">\n <div class=\"legend legend-blue\"></div>\n <h5 class=\"mb-0\" i18n>{{'EXTERNAL' | translate}}</h5>\n <div class=\"legend legend-green\"></div>\n <h5 class=\"mb-0\" i18n>{{'SELF' | translate}}</h5>\n <div class=\"legend legend-yellow\"></div>\n <h5 class=\"mb-0\" i18n>{{'CRS_TRK_FRMELEMNTS_LBL_TRAINING' | translate}}</h5>\n </div>\n <lib-gained-comptency-card\n [language]=\"language\"\n *ngIf=\"tabIndex === 1\"\n ></lib-gained-comptency-card>\n </mat-tab>\n\n <!-- required -->\n <mat-tab i18n-label label=\"{{'REQUIRED' | translate}}\">\n <div class=\"required-comperencies\">\n <div class=\"mt-2 tab-badge\" i18n>{{'SELF_ASSESSMENTS' | translate}}</div>\n <lib-required-comptency-card\n [language]=\"language\"\n [role]=\"role\"\n *ngIf=\"tabIndex === 2\"\n ></lib-required-comptency-card>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n</div>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.content{padding:60px 0 50px;margin:auto}@media only screen and (min-width:960px){.content{max-width:30%;padding:20px 20px 0}}@media only screen and (min-width:1280px){.content{max-width:35%}}@media only screen and (min-width:1920px){.content{max-width:30%}}@media only screen and (min-width:600px) and (max-width:959px){.content{max-width:50%}}@media only screen and (max-width:599px){.content{max-width:90%}}.content-mobile{padding:10px 0 20px;max-width:100%;margin:0 10px}.remove-border-bottom .mat-tab-header{border-bottom:none!important}:host ::ng-deep .remove-border-bottom .mat-tab-header{border-bottom:none!important}::ng-deep .mat-tab-label{padding:0!important;min-width:65px!important;color:var(--gray-200)!important;opacity:1.6!important;font-size:16px!important;margin-right:10px}.theme-sphere.day-mode .mat-tab-label ::ng-deep .mat-tab-label-active{color:var(--blue)!important}.theme-sphere.day-mode .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}:host ::ng-deep .mat-ink-bar{height:3px!important;background:var(--blue)!important;border-radius:5px!important}::ng-deep .theme-igot.day-mode .mat-ink-bar{background-color:var(--blue)!important}::ng-deep .theme-sphere.day-mode .mat-ink-bar{background-color:var(--blue)!important}.legend-container{display:flex;gap:10px;margin-top:20px;align-items:center;margin-bottom:20px}.legend-container h5{margin:0;font-weight:400;font-size:16px}@media only screen and (max-width:599px){.legend-container{gap:5px}.legend-container h5{font-size:12px}}.legend-container .legend{min-width:15px;height:15px;background:#dfedf9;border-radius:50%;border:.5px solid #959595}.legend-container .legend-green{background:var(--teal);margin-left:18px}.legend-container .legend-blue{background:#7cb5e6}.legend-container .legend-yellow{background:#fffbb0;margin-left:18px}.btn-start{width:311px;height:35px;background:var(--blue);border-radius:50px;border:none;color:var(--white)}.tab-container{display:flex;flex-direction:column;gap:10px;position:relative}.tab-container .btn-container{display:flex;justify-content:center}.tab-container .sortIcon{position:absolute;right:0;top:13px;width:20px}.header-width-icon ::ng-deep .mat-tab-header{width:calc(100% - 25px)}.tab-badge{font-weight:400;font-size:16px;color:#000}"]}]}],"members":{"stateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":18,"character":31},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":19,"character":26},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"navigateBack":[{"__symbolic":"method"}],"changeTab":[{"__symbolic":"method"}],"startSelfAssessment":[{"__symbolic":"method"}]}},"CompetencyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RequiredComptencyCardComponent"},{"__symbolic":"reference","name":"GainedComptencyCardComponent"},{"__symbolic":"reference","name":"CompetencyDashboardComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTabsModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatExpansionModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressBarModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatProgressSpinnerModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":31,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"CoreModule","line":32,"character":4},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentModule","line":33,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":34,"character":4}],"exports":[{"__symbolic":"reference","name":"RequiredComptencyCardComponent"},{"__symbolic":"reference","name":"GainedComptencyCardComponent"},{"__symbolic":"reference","name":"CompetencyDashboardComponent"},{"__symbolic":"reference","name":"ɵc"}]}]}],"members":{}},"RequestUtil":{"__symbolic":"class","members":{"getAveragepercentage":[{"__symbolic":"method"}],"getHiName":[{"__symbolic":"method"}],"getLevelDescription":[{"__symbolic":"method"}],"getLevels":[{"__symbolic":"method"}],"getheighestLevel":[{"__symbolic":"method"}],"getCompeletionPercentage":[{"__symbolic":"method"}],"setAssessmentData":[{"__symbolic":"method"}],"formatedGainedCompetency":[{"__symbolic":"method"}],"getHiTitle":[{"__symbolic":"method"}],"acquiredPassbookLogs":[{"__symbolic":"method"}],"getHindiName":[{"__symbolic":"method"}],"acauiredChannelColourCode":[{"__symbolic":"method"}],"competencyStoreDataFomat":[{"__symbolic":"method"}],"formatedCompetencyCourseData":[{"__symbolic":"method"}],"getCompetencyData":[{"__symbolic":"method"}],"getBatchData":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":15,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":21,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":21,"character":53}]}],"fetchUserPassbook":[{"__symbolic":"method"}],"fetchAllEntity":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/core","name":"DataService","line":14,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":19},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":16,"character":53}]}],"getActivityById":[{"__symbolic":"method"}],"getUserdetailsFromRegistry":[{"__symbolic":"method"}],"getRolesMapping":[{"__symbolic":"method"}],"getRolesWiseCompetency":[{"__symbolic":"method"}],"getCompetencyCourseIdentifier":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-active-summary","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of (role?.activities| removeDuplicatesPipe:['cid', 'name'] ); let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]}]}],"members":{"language":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isMobileApp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"desigination":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":38,"character":26},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/self-assessment","name":"SelfAssessmentService","line":40,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"getProgress":[{"__symbolic":"method"}],"getAssessmentBtnType":[{"__symbolic":"method"}],"getAssessmentProgress":[{"__symbolic":"method"}],"getUserDetails":[{"__symbolic":"method"}],"getRolesWiseCompetencyData":[{"__symbolic":"method"}],"getActivityByRole":[{"__symbolic":"method"}],"designationMap":[{"__symbolic":"method"}],"getActivityByRoleId":[{"__symbolic":"method"}],"getEntityById":[{"__symbolic":"method"}],"getAveragepercentage":[{"__symbolic":"method"}],"getCompetencyCourse":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-competency-accordion","template":"<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<div *ngFor=\"let competency of (competencyList | removeDuplicatesPipe:['id', 'name']); let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</div>","styles":[":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"competencyList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"assessmentData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"assessBtnType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":14,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"viewCourses":[{"__symbolic":"method"}],"startSelfAssesment":[{"__symbolic":"method"}]}}},"origins":{"RequiredComptencyCardComponent":"./components/required-comptency-card/required-comptency-card.component","GainedComptencyCardComponent":"./components/gained-comptency-card/gained-comptency-card.component","CompetencyDashboardComponent":"./components/competency-dashboard/competency-dashboard.component","CompetencyModule":"./competency.module","RequestUtil":"./services/request-util","ɵa":"./services/gained.service","ɵb":"./services/active-summary.service","ɵc":"./components/active-summary/active-summary.component","ɵd":"./components/competency-accordion/competency-accordion.component"},"importAs":"@aastrika_npmjs/comptency/competency"}

@@ -6,1 +6,2 @@ /**

export { NoResultComponent as ɵa } from './components/no-result/no-result.component';
export { RemoveDuplicatesPipe as ɵb } from './pipe/remove-duplicates.pipe';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"urlConfig":{"__symbolic":"error","message":"Lambda not supported","line":11,"character":15,"module":"./config/url.config"},"DataService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":22,"character":20},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":22,"character":54}]}],"get":[{"__symbolic":"method"}],"getwithouTAuthorization":[{"__symbolic":"method"}],"post":[{"__symbolic":"method"}],"getHeader":[{"__symbolic":"method"}],"setHeader":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"AppLoaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-app-loader","template":"<ng-container>\n <div class=\"loader-content\">\n <p class=\"loader\"></p>\n </div>\n</ng-container>\n ","styles":[".sbt-app-loader-container{background:var(--sbt-compt-bg);width:94%!important;margin:0 auto;border-radius:1.5rem;border:0}.loader-content{display:flex;justify-content:center;align-items:center;margin-top:38px}.message{margin:0;font-size:16px;color:#919191}.loader{width:30px;height:30px;margin:-76px 0 0 -76px;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid #555;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":14,"character":4}],"declarations":[{"__symbolic":"reference","name":"AppLoaderComponent"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"AppLoaderComponent"},{"__symbolic":"reference","name":"ɵa"}],"providers":[{"__symbolic":"reference","name":"DataService"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-no-result","template":"<div class=\"no-data-container\" >\n <ng-container >\n <div class=\"no-data-text\">{{message}}</div>\n </ng-container>\n</div>\n","styles":[".no-data-container{width:100%;height:200px;text-align:center;justify-content:center;display:flex;background-color:#f8f8f8;align-items:center;border-radius:10px}.no-data-container .no-data-text{font-size:24px;font-weight:900;color:#848886b3}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"setMessage":[{"__symbolic":"method"}]}}},"origins":{"urlConfig":"./config/url.config","DataService":"./services/data.service","AppLoaderComponent":"./components/app-loader/app-loader.component","CoreModule":"./core.module","ɵa":"./components/no-result/no-result.component"},"importAs":"@aastrika_npmjs/comptency/core"}
{"__symbolic":"module","version":4,"metadata":{"urlConfig":{"__symbolic":"error","message":"Lambda not supported","line":11,"character":15,"module":"./config/url.config"},"DataService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":22,"character":20},{"__symbolic":"reference","module":"@aastrika_npmjs/comptency/entry-module","name":"ConfigService","line":22,"character":54}]}],"get":[{"__symbolic":"method"}],"getwithouTAuthorization":[{"__symbolic":"method"}],"post":[{"__symbolic":"method"}],"getHeader":[{"__symbolic":"method"}],"setHeader":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"AppLoaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-app-loader","template":"<ng-container>\n <div class=\"loader-content\">\n <p class=\"loader\"></p>\n </div>\n</ng-container>\n ","styles":[".sbt-app-loader-container{background:var(--sbt-compt-bg);width:94%!important;margin:0 auto;border-radius:1.5rem;border:0}.loader-content{display:flex;justify-content:center;align-items:center;margin-top:38px}.message{margin:0;font-size:16px;color:#919191}.loader{width:30px;height:30px;margin:-76px 0 0 -76px;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid #555;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"CoreModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":15,"character":4}],"declarations":[{"__symbolic":"reference","name":"AppLoaderComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"AppLoaderComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}],"providers":[{"__symbolic":"reference","name":"DataService"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-no-result","template":"<div class=\"no-data-container\" >\n <ng-container >\n <div class=\"no-data-text\">{{message}}</div>\n </ng-container>\n</div>\n","styles":[".no-data-container{width:100%;height:200px;text-align:center;justify-content:center;display:flex;background-color:#f8f8f8;align-items:center;border-radius:10px}.no-data-container .no-data-text{font-size:24px;font-weight:900;color:#848886b3}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"setMessage":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"removeDuplicatesPipe"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"urlConfig":"./config/url.config","DataService":"./services/data.service","AppLoaderComponent":"./components/app-loader/app-loader.component","CoreModule":"./core.module","ɵa":"./components/no-result/no-result.component","ɵb":"./pipe/remove-duplicates.pipe"},"importAs":"@aastrika_npmjs/comptency/core"}

@@ -233,3 +233,3 @@ import * as tslib_1 from "tslib";

selector: 'lib-active-summary',
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of role?.activities; let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n",
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of (role?.activities| removeDuplicatesPipe:['cid', 'name'] ); let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n",
encapsulation: ViewEncapsulation.None,

@@ -240,2 +240,2 @@ styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]

export { ActiveSummaryComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hY3RpdmUtc3VtbWFyeS9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBb0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9sRixJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQXFCakMsWUFDUyxvQkFBMEMsRUFDMUMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIscUJBQTRDO1FBSDVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWhCckQsbUJBQWMsR0FBWSxJQUFJLENBQUE7UUFNOUIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBR3ZCLFlB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RUFBRTs0REFBYTtBQVJWLHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLCtoRkFBOEM7UUFFOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O0tBQ3RDLENBQUM7R0FDVyxzQkFBc0IsQ0FnUGxDO1NBaFBZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcXVlc3RVdGlsIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVxdWVzdC11dGlsJztcbmltcG9ydCB7IEFjdGl2ZVN1bW1hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aXZlLXN1bW1hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZvcmtKb2luLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9lbnRyeS1tb2R1bGUnO1xuaW1wb3J0IHsgR2FpbmVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dhaW5lZC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGZBc3Nlc3NtZW50U2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvc2VsZi1hc3Nlc3NtZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3RpdmUtc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2ZS1zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZlU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICogQ29yZSBNb2R1bGVcbiAqXG4gKiBAYXV0aG9yIEFtYW4gS3VtYXIgU2hhcm1hIDxhbWFua3VtYXIuc2hhcm1hQHRhcmVudG8uY29tPlxuICovXG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIEBJbnB1dCgpaXNNb2JpbGVBcHA7XG4gIEBJbnB1dCgpZGVzaWdpbmF0aW9uO1xuICBwYW5lbE9wZW5TdGF0ZTogQm9vbGVhbiA9IHRydWVcbiAgcmVxdWVzdFV0aWw6IGFueVxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb247XG4gIHJvbGVhY3Rpdml0eVN1bW1hcmllczogYW55XG4gIGFjdGl2aXR5U3VtbWFyaWVzOiBhbnlcbiAgY29tcGV0ZW5jeVByb2dyZXNzXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBhY29yZGlhbkxvYWRpbmcgPSBmYWxzZVxuICBwcm9maWxlRGF0YTogYW55XG4gIGFzc2Vzc21lbnREYXRhOiBhbnlcbiAgYnRuVHlwZSA9IFtdO1xuICByb2xlSWQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIGdhaW5lZFNlcnZpY2U6IEdhaW5lZFNlcnZpY2UsXG4gICAgcHVibGljIHNlbGZBc3Nlc3NtZW50U2VydmljZTogU2VsZkFzc2Vzc21lbnRTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJlcXVlc3RVdGlsID0gbmV3IFJlcXVlc3RVdGlsKClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGVzaWduYXRpb25NYXAodGhpcy5kZXNpZ2luYXRpb24pXG4gICAgdGhpcy5nZXRQcm9ncmVzcygpXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgIHRoaXMuZ2V0VXNlckRldGFpbHMoKS5waXBlKG1lcmdlTWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5wcm9maWxlRGF0YSA9IHJlcy5wcm9maWxlRGV0YWlscy5wcm9maWxlUmVxXG4gICAgICBpZighdGhpcy5sYW5ndWFnZSl7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzID8gcmVzLnByb2ZpbGVEZXRhaWxzIS5wcmVmZXJlbmNlcyEubGFuZ3VhZ2UgOiAnZW4nO1xuICAgICAgfVxuICAgICAgaWYoIXRoaXMuZGVzaWdpbmF0aW9uKXtcbiAgICAgICAgdGhpcy5kZXNpZ2luYXRpb24gPSByZXMucHJvZmlsZURldGFpbHMhLnByb2ZpbGVSZXEhLnByb2Zlc3Npb25hbERldGFpbHNbMF0hLmRlc2lnbmF0aW9uO1xuICAgICAgICB0aGlzLmRlc2lnbmF0aW9uTWFwKHRoaXMuZGVzaWdpbmF0aW9uKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9maWxlRGF0YSkge1xuICAgICAgICBjb25zdCBnZXRBY3Rpdml0eSA9IHRoaXMuZ2V0Um9sZXNXaXNlQ29tcGV0ZW5jeURhdGEoKVxuICAgICAgICBjb25zdCBnZXRDb3Vyc2VzID0gdGhpcy5nZXRDb21wZXRlbmN5Q291cnNlKCkgICAgICAgIFxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW2dldEFjdGl2aXR5ICwgZ2V0Q291cnNlcyBdKTtcbiAgICAgIH1cbiAgICB9KSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzKVxuICAgICAgbGV0IHJvbGVzQ29tcGV0ZW5jeURhdGEgPSAgXy5maW5kKHJlc1swXS5yZXNwb25zZSwgeydwb3NpdGlvbic6IHRoaXMuZGVzaWdpbmF0aW9uIH0pXG4gICAgICBjb25zb2xlLmxvZyhyb2xlc0NvbXBldGVuY3lEYXRhKVxuICAgICAgdGhpcy5hc3Nlc3NtZW50RGF0YSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRDb21wZXRlbmN5Q291cnNlRGF0YShyZXNbMV0pO1xuICAgICAgdGhpcy5nZXRBc3Nlc3NtZW50QnRuVHlwZSh0aGlzLmFzc2Vzc21lbnREYXRhKTtcbiAgICAgIGNvbnN0IGZvcm1hdGVkUmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5UG9zdGlvbihyb2xlc0NvbXBldGVuY3lEYXRhLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcylcbiAgICAgIC8vIGNvbnN0IGZvcm1hdGVkUmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5UG9zdGlvbihyb2xlc0NvbXBldGVuY3lEYXRhLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcylcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzID0gZm9ybWF0ZWRSZXNwb25zZVxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBhZnRlciB0aGUgYWN0aXZpdHlcIiwgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMpXG4gICAgIFxuICAgIH0pXG4gICAgY29uc29sZS5sb2coXCJkYXRhIGFmdGVyIHRoZSBhY3Rpdml0eVwiLCB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcylcbiAgfVxuXG4gIGdldFByb2dyZXNzKCkge1xuICAgIHRoaXMuZ2FpbmVkU2VydmljZS5jb21wZXRlbmN5RGF0YSQuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5UHJvZ3Jlc3MgPSByZXNcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBnZXRBc3Nlc3NtZW50QnRuVHlwZShkYXRhKXtcbiAgICBfLmZvckVhY2goIGRhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldEFzc2Vzc21lbnRQcm9ncmVzcyh2YWx1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGggPiAwICYmIHZhbHVlLmNoaWxkQ29udGVudCA9PT0gcmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHR5cGUgPSAnJ1xuICAgICAgICAgICAgICAgICAgICBfLmZvckVhY2gocmVzLnJlc3VsdC5jb250ZW50TGlzdCwgKGl0ZW06YW55KT0+e1xuICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0uY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCAmJiBpdGVtLmNvbXBsZXRpb25QZXJjZW50YWdlICE9PSAwICl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ0RPTkUnXG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ1JFU1VNRSdcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICBjb21wZXRlbmN5SWQ6IHZhbHVlLmNvbXBldGVuY3lJRCxcbiAgICAgICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICBjb21wZXRlbmN5SWQ6IHZhbHVlLmNvbXBldGVuY3lJRCxcbiAgICAgICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdSRVNVTUUnXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gIFxuICAgICAgICAgICAgICBpZihyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA9PSAwICkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgY291cnNlSWQ6IHZhbHVlLmNvbnRlbnRJZCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdTVEFSVCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gIH1cbiAgZ2V0QXNzZXNzbWVudFByb2dyZXNzKGRhdGEpIHtcbiAgICBjb25zdCByZXFib2R5ID0ge1xuICAgICAgcmVxdWVzdDoge1xuICAgICAgICB1c2VySWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZCxcbiAgICAgICAgYmF0Y2hJZDogZGF0YS5iYXRjaElkLFxuICAgICAgICBjb3Vyc2VJZDogZGF0YS5jb250ZW50SWQsXG4gICAgICAgIGNvbnRlbnRJZHM6IFtdLFxuICAgICAgICBmaWVsZHM6IFsncHJvZ3Jlc3NkZXRhaWxzJ10sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VsZkFzc2Vzc21lbnRTZXJ2aWNlLmZldGNoUHJncmVzc0RldGFpbHMocmVxYm9keSlcbiAgfVxuXG4gIGdldFVzZXJEZXRhaWxzKCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBpZDogdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFVzZXJkZXRhaWxzRnJvbVJlZ2lzdHJ5KHJlcUJvZHkpXG4gIH1cblxuICBnZXRSb2xlc1dpc2VDb21wZXRlbmN5RGF0YSgpIHtcbiAgICBsZXQgZGVzaWduYXRpb246IGFueVxuICAgIGlmICh0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHMpIHtcbiAgICAgIGRlc2lnbmF0aW9uID0gdGhpcy5wcm9maWxlRGF0YS5wcm9mZXNzaW9uYWxEZXRhaWxzWzBdLmRlc2lnbmF0aW9uXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFJvbGVzV2lzZUNvbXBldGVuY3koKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpdml0eUJ5Um9sZShpZCkge1xuICAgIGxldCBkZXNpZ25hdGlvbjogYW55XG4gICAgaWYgKHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlscykge1xuICAgICAgZGVzaWduYXRpb24gPSB0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHNbMF0uZGVzaWduYXRpb25cbiAgICB9XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBcImlzRGV0YWlsXCI6IHRydWVcbiAgICAgIH0sXG4gICAgICBpZDogaWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldEFjdGl2aXR5QnlJZChyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBkZXNpZ25hdGlvbk1hcChkZXNpZ25hdGlvbjogc3RyaW5nKSB7XG4gICAgbGV0IHBvc2l0aW9uTWFwIDphbnlcbiAgICB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFJvbGVzTWFwcGluZygpLnBpcGUoKS5zdWJzY3JpYmUoKHJlczphbnkpPT57XG4gICAgICBjb25zb2xlLmxvZyhyZXMpXG4gICAgICBwb3NpdGlvbk1hcCA9IHJlcy5yZXNwb25zZVxuICAgICAgaWYgKHBvc2l0aW9uTWFwLmhhc093blByb3BlcnR5KGRlc2lnbmF0aW9uKSkge1xuICAgICAgICB0aGlzLnJvbGVJZCA9IHBvc2l0aW9uTWFwW2Rlc2lnbmF0aW9uXVxuICAgICAgICByZXR1cm4gdGhpcy5yb2xlSWRcbiAgICAgIH1lbHNlXG4gICAgICB0aGlzLnJvbGVJZCA9IDFcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9LFxuICAgIChlcnIpPT57XG4gICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycilcbiAgICAgIHBvc2l0aW9uTWFwID0gZXJyXG4gICAgICBpZiAocG9zaXRpb25NYXAuaGFzT3duUHJvcGVydHkoZGVzaWduYXRpb24pKSB7XG4gICAgICAgIHRoaXMucm9sZUlkID0gcG9zaXRpb25NYXBbZGVzaWduYXRpb25dXG4gICAgICAgIHJldHVybiB0aGlzLnJvbGVJZFxuICAgICAgfWVsc2VcbiAgICAgIHRoaXMucm9sZUlkID0gMVxuICAgICAgICByZXR1cm4gMVxuICAgIH0sXG4gICAgXG5cbiAgICApXG4gIH1cblxuICBwdWJsaWMgZ2V0QWN0aXZpdHlCeVJvbGVJZChpZDogYW55KSB7IFxuICAgIHRoaXMuYWNvcmRpYW5Mb2FkaW5nID0gdHJ1ZVxuICAgIGNvbnN0IGluZGV4ID0gXy5maW5kSW5kZXgodGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMsIHsgJ2lkJzogaWQgfSlcbiAgICB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSA9IFtdXG4gICAgdGhpcy5nZXRFbnRpdHlCeUlkKGlkKS5waXBlKG1lcmdlTWFwKChyZXMpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbmUgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5Um9sZUlkKHJlcywgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gcmVzcG9uZVxuICAgICAgY29uc3QgY2lkQXJyID0gXy5tYXAodGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10sICdjaWQnKVxuICAgICAgbGV0IGNhbGxzID0gW107XG4gICAgICBfLmZvckVhY2goY2lkQXJyLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBjYWxscy5wdXNoKHRoaXMuZ2V0RW50aXR5QnlJZCh2YWx1ZSkpXG4gICAgICB9KVxuICAgICAgdGhpcy5hY29yZGlhbkxvYWRpbmcgPSBmYWxzZVxuXG4gICAgICByZXR1cm4gZm9ya0pvaW4oWy4uLmNhbGxzIF0pXG4gICAgfSkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5yZXF1ZXN0VXRpbC5mb3JtYXRlZENvbXBldGVuY3kocmVzLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcywgdGhpcy5sYW5ndWFnZSwgdGhpcy5hc3Nlc3NtZW50RGF0YSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gXy52YWx1ZXMoXy5tZXJnZShfLmtleUJ5KHJlc3BvbnNlLCAnaWQnKSxcbiAgICAgICAgXy5rZXlCeSh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSwgJ2NpZCcpKSlcblxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhdmVyYWdlUGVyY2VudGFnZSddID0gW11cbiAgICAgIGxldCBjb21wZXRlbmN5TGVuZ3RoID0gdGhpcy5nZXRBdmVyYWdlcGVyY2VudGFnZShyZXNwb25zZSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYXZlcmFnZVBlcmNlbnRhZ2UnXSA9IGNvbXBldGVuY3lMZW5ndGggICAgXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgZ2V0RW50aXR5QnlJZChpZDogYW55KSB7XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBcImlzRGV0YWlsXCI6IHRydWVcbiAgICAgIH0sXG4gICAgICBpZDogaWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldEFjdGl2aXR5QnlJZChyZXFCb2R5KVxuICB9XG4gIGdldEF2ZXJhZ2VwZXJjZW50YWdlKGRhdGEpIHtcbiAgICBsZXQgdG90YWxMZW5ndGggPSBkYXRhLmxlbmd0aFxuICAgIGxldCBwZXJjZW50YWdlID0gW11cbiAgICBsZXQgdG90YWxQZXJjZW50ID0gMFxuICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgcGVyY2VudGFnZS5wdXNoKHZhbHVlLmNvbXBsZXRpb25QZXJjZW50YWdlKVxuICAgIH0pXG4gICAgdG90YWxQZXJjZW50ID0gXy5yb3VuZChfLnN1bShwZXJjZW50YWdlKSAvIHRvdGFsTGVuZ3RoKVxuICAgIHJldHVybiB0b3RhbFBlcmNlbnRcbiAgfVxuXG4gIGdldENvbXBldGVuY3lDb3Vyc2UoKSB7XG4gICAgbGV0IGFzc2Vzc0RhdGE7XG4gICAgYXNzZXNzRGF0YSA9IHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Q29tcGV0ZW5jeUNvdXJzZUlkZW50aWZpZXIodGhpcy5sYW5ndWFnZSlcbiAgICByZXR1cm4gYXNzZXNzRGF0YTtcbiAgfVxuICBcbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hY3RpdmUtc3VtbWFyeS9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBb0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9sRixJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQXFCakMsWUFDUyxvQkFBMEMsRUFDMUMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIscUJBQTRDO1FBSDVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWhCckQsbUJBQWMsR0FBWSxJQUFJLENBQUE7UUFNOUIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBR3ZCLFlB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RUFBRTs0REFBYTtBQVJWLHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLHdrRkFBOEM7UUFFOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O0tBQ3RDLENBQUM7R0FDVyxzQkFBc0IsQ0FnUGxDO1NBaFBZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcXVlc3RVdGlsIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVxdWVzdC11dGlsJztcbmltcG9ydCB7IEFjdGl2ZVN1bW1hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aXZlLXN1bW1hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZvcmtKb2luLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9lbnRyeS1tb2R1bGUnO1xuaW1wb3J0IHsgR2FpbmVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dhaW5lZC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGZBc3Nlc3NtZW50U2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvc2VsZi1hc3Nlc3NtZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3RpdmUtc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2ZS1zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZlU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICogQ29yZSBNb2R1bGVcbiAqXG4gKiBAYXV0aG9yIEFtYW4gS3VtYXIgU2hhcm1hIDxhbWFua3VtYXIuc2hhcm1hQHRhcmVudG8uY29tPlxuICovXG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIEBJbnB1dCgpaXNNb2JpbGVBcHA7XG4gIEBJbnB1dCgpZGVzaWdpbmF0aW9uO1xuICBwYW5lbE9wZW5TdGF0ZTogQm9vbGVhbiA9IHRydWVcbiAgcmVxdWVzdFV0aWw6IGFueVxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb247XG4gIHJvbGVhY3Rpdml0eVN1bW1hcmllczogYW55XG4gIGFjdGl2aXR5U3VtbWFyaWVzOiBhbnlcbiAgY29tcGV0ZW5jeVByb2dyZXNzXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBhY29yZGlhbkxvYWRpbmcgPSBmYWxzZVxuICBwcm9maWxlRGF0YTogYW55XG4gIGFzc2Vzc21lbnREYXRhOiBhbnlcbiAgYnRuVHlwZSA9IFtdO1xuICByb2xlSWQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHVibGljIGdhaW5lZFNlcnZpY2U6IEdhaW5lZFNlcnZpY2UsXG4gICAgcHVibGljIHNlbGZBc3Nlc3NtZW50U2VydmljZTogU2VsZkFzc2Vzc21lbnRTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJlcXVlc3RVdGlsID0gbmV3IFJlcXVlc3RVdGlsKClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGVzaWduYXRpb25NYXAodGhpcy5kZXNpZ2luYXRpb24pXG4gICAgdGhpcy5nZXRQcm9ncmVzcygpXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgIHRoaXMuZ2V0VXNlckRldGFpbHMoKS5waXBlKG1lcmdlTWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5wcm9maWxlRGF0YSA9IHJlcy5wcm9maWxlRGV0YWlscy5wcm9maWxlUmVxXG4gICAgICBpZighdGhpcy5sYW5ndWFnZSl7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzID8gcmVzLnByb2ZpbGVEZXRhaWxzIS5wcmVmZXJlbmNlcyEubGFuZ3VhZ2UgOiAnZW4nO1xuICAgICAgfVxuICAgICAgaWYoIXRoaXMuZGVzaWdpbmF0aW9uKXtcbiAgICAgICAgdGhpcy5kZXNpZ2luYXRpb24gPSByZXMucHJvZmlsZURldGFpbHMhLnByb2ZpbGVSZXEhLnByb2Zlc3Npb25hbERldGFpbHNbMF0hLmRlc2lnbmF0aW9uO1xuICAgICAgICB0aGlzLmRlc2lnbmF0aW9uTWFwKHRoaXMuZGVzaWdpbmF0aW9uKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9maWxlRGF0YSkge1xuICAgICAgICBjb25zdCBnZXRBY3Rpdml0eSA9IHRoaXMuZ2V0Um9sZXNXaXNlQ29tcGV0ZW5jeURhdGEoKVxuICAgICAgICBjb25zdCBnZXRDb3Vyc2VzID0gdGhpcy5nZXRDb21wZXRlbmN5Q291cnNlKCkgICAgICAgIFxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW2dldEFjdGl2aXR5ICwgZ2V0Q291cnNlcyBdKTtcbiAgICAgIH1cbiAgICB9KSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzKVxuICAgICAgbGV0IHJvbGVzQ29tcGV0ZW5jeURhdGEgPSAgXy5maW5kKHJlc1swXS5yZXNwb25zZSwgeydwb3NpdGlvbic6IHRoaXMuZGVzaWdpbmF0aW9uIH0pXG4gICAgICBjb25zb2xlLmxvZyhyb2xlc0NvbXBldGVuY3lEYXRhKVxuICAgICAgdGhpcy5hc3Nlc3NtZW50RGF0YSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRDb21wZXRlbmN5Q291cnNlRGF0YShyZXNbMV0pO1xuICAgICAgdGhpcy5nZXRBc3Nlc3NtZW50QnRuVHlwZSh0aGlzLmFzc2Vzc21lbnREYXRhKTtcbiAgICAgIGNvbnN0IGZvcm1hdGVkUmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5UG9zdGlvbihyb2xlc0NvbXBldGVuY3lEYXRhLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcylcbiAgICAgIC8vIGNvbnN0IGZvcm1hdGVkUmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5UG9zdGlvbihyb2xlc0NvbXBldGVuY3lEYXRhLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcylcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzID0gZm9ybWF0ZWRSZXNwb25zZVxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBhZnRlciB0aGUgYWN0aXZpdHlcIiwgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMpXG4gICAgIFxuICAgIH0pXG4gICAgY29uc29sZS5sb2coXCJkYXRhIGFmdGVyIHRoZSBhY3Rpdml0eVwiLCB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcylcbiAgfVxuXG4gIGdldFByb2dyZXNzKCkge1xuICAgIHRoaXMuZ2FpbmVkU2VydmljZS5jb21wZXRlbmN5RGF0YSQuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5jb21wZXRlbmN5UHJvZ3Jlc3MgPSByZXNcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBnZXRBc3Nlc3NtZW50QnRuVHlwZShkYXRhKXtcbiAgICBfLmZvckVhY2goIGRhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldEFzc2Vzc21lbnRQcm9ncmVzcyh2YWx1ZSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGggPiAwICYmIHZhbHVlLmNoaWxkQ29udGVudCA9PT0gcmVzLnJlc3VsdC5jb250ZW50TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHR5cGUgPSAnJ1xuICAgICAgICAgICAgICAgICAgICBfLmZvckVhY2gocmVzLnJlc3VsdC5jb250ZW50TGlzdCwgKGl0ZW06YW55KT0+e1xuICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0uY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMCAmJiBpdGVtLmNvbXBsZXRpb25QZXJjZW50YWdlICE9PSAwICl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ0RPTkUnXG4gICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gJ1JFU1VNRSdcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICBjb21wZXRlbmN5SWQ6IHZhbHVlLmNvbXBldGVuY3lJRCxcbiAgICAgICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICBjb21wZXRlbmN5SWQ6IHZhbHVlLmNvbXBldGVuY3lJRCxcbiAgICAgICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdSRVNVTUUnXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gIFxuICAgICAgICAgICAgICBpZihyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA9PSAwICkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnRuVHlwZS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgY291cnNlSWQ6IHZhbHVlLmNvbnRlbnRJZCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdTVEFSVCdcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gIH1cbiAgZ2V0QXNzZXNzbWVudFByb2dyZXNzKGRhdGEpIHtcbiAgICBjb25zdCByZXFib2R5ID0ge1xuICAgICAgcmVxdWVzdDoge1xuICAgICAgICB1c2VySWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZCxcbiAgICAgICAgYmF0Y2hJZDogZGF0YS5iYXRjaElkLFxuICAgICAgICBjb3Vyc2VJZDogZGF0YS5jb250ZW50SWQsXG4gICAgICAgIGNvbnRlbnRJZHM6IFtdLFxuICAgICAgICBmaWVsZHM6IFsncHJvZ3Jlc3NkZXRhaWxzJ10sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VsZkFzc2Vzc21lbnRTZXJ2aWNlLmZldGNoUHJncmVzc0RldGFpbHMocmVxYm9keSlcbiAgfVxuXG4gIGdldFVzZXJEZXRhaWxzKCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBpZDogdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFVzZXJkZXRhaWxzRnJvbVJlZ2lzdHJ5KHJlcUJvZHkpXG4gIH1cblxuICBnZXRSb2xlc1dpc2VDb21wZXRlbmN5RGF0YSgpIHtcbiAgICBsZXQgZGVzaWduYXRpb246IGFueVxuICAgIGlmICh0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHMpIHtcbiAgICAgIGRlc2lnbmF0aW9uID0gdGhpcy5wcm9maWxlRGF0YS5wcm9mZXNzaW9uYWxEZXRhaWxzWzBdLmRlc2lnbmF0aW9uXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFJvbGVzV2lzZUNvbXBldGVuY3koKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpdml0eUJ5Um9sZShpZCkge1xuICAgIGxldCBkZXNpZ25hdGlvbjogYW55XG4gICAgaWYgKHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlscykge1xuICAgICAgZGVzaWduYXRpb24gPSB0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHNbMF0uZGVzaWduYXRpb25cbiAgICB9XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBcImlzRGV0YWlsXCI6IHRydWVcbiAgICAgIH0sXG4gICAgICBpZDogaWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldEFjdGl2aXR5QnlJZChyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBkZXNpZ25hdGlvbk1hcChkZXNpZ25hdGlvbjogc3RyaW5nKSB7XG4gICAgbGV0IHBvc2l0aW9uTWFwIDphbnlcbiAgICB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldFJvbGVzTWFwcGluZygpLnBpcGUoKS5zdWJzY3JpYmUoKHJlczphbnkpPT57XG4gICAgICBjb25zb2xlLmxvZyhyZXMpXG4gICAgICBwb3NpdGlvbk1hcCA9IHJlcy5yZXNwb25zZVxuICAgICAgaWYgKHBvc2l0aW9uTWFwLmhhc093blByb3BlcnR5KGRlc2lnbmF0aW9uKSkge1xuICAgICAgICB0aGlzLnJvbGVJZCA9IHBvc2l0aW9uTWFwW2Rlc2lnbmF0aW9uXVxuICAgICAgICByZXR1cm4gdGhpcy5yb2xlSWRcbiAgICAgIH1lbHNlXG4gICAgICB0aGlzLnJvbGVJZCA9IDFcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9LFxuICAgIChlcnIpPT57XG4gICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycilcbiAgICAgIHBvc2l0aW9uTWFwID0gZXJyXG4gICAgICBpZiAocG9zaXRpb25NYXAuaGFzT3duUHJvcGVydHkoZGVzaWduYXRpb24pKSB7XG4gICAgICAgIHRoaXMucm9sZUlkID0gcG9zaXRpb25NYXBbZGVzaWduYXRpb25dXG4gICAgICAgIHJldHVybiB0aGlzLnJvbGVJZFxuICAgICAgfWVsc2VcbiAgICAgIHRoaXMucm9sZUlkID0gMVxuICAgICAgICByZXR1cm4gMVxuICAgIH0sXG4gICAgXG5cbiAgICApXG4gIH1cblxuICBwdWJsaWMgZ2V0QWN0aXZpdHlCeVJvbGVJZChpZDogYW55KSB7IFxuICAgIHRoaXMuYWNvcmRpYW5Mb2FkaW5nID0gdHJ1ZVxuICAgIGNvbnN0IGluZGV4ID0gXy5maW5kSW5kZXgodGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMsIHsgJ2lkJzogaWQgfSlcbiAgICB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSA9IFtdXG4gICAgdGhpcy5nZXRFbnRpdHlCeUlkKGlkKS5waXBlKG1lcmdlTWFwKChyZXMpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbmUgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQWN0aXZpdGl0eUJ5Um9sZUlkKHJlcywgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gcmVzcG9uZVxuICAgICAgY29uc3QgY2lkQXJyID0gXy5tYXAodGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10sICdjaWQnKVxuICAgICAgbGV0IGNhbGxzID0gW107XG4gICAgICBfLmZvckVhY2goY2lkQXJyLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBjYWxscy5wdXNoKHRoaXMuZ2V0RW50aXR5QnlJZCh2YWx1ZSkpXG4gICAgICB9KVxuICAgICAgdGhpcy5hY29yZGlhbkxvYWRpbmcgPSBmYWxzZVxuXG4gICAgICByZXR1cm4gZm9ya0pvaW4oWy4uLmNhbGxzIF0pXG4gICAgfSkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5yZXF1ZXN0VXRpbC5mb3JtYXRlZENvbXBldGVuY3kocmVzLCB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcywgdGhpcy5sYW5ndWFnZSwgdGhpcy5hc3Nlc3NtZW50RGF0YSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gXy52YWx1ZXMoXy5tZXJnZShfLmtleUJ5KHJlc3BvbnNlLCAnaWQnKSxcbiAgICAgICAgXy5rZXlCeSh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSwgJ2NpZCcpKSlcblxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhdmVyYWdlUGVyY2VudGFnZSddID0gW11cbiAgICAgIGxldCBjb21wZXRlbmN5TGVuZ3RoID0gdGhpcy5nZXRBdmVyYWdlcGVyY2VudGFnZShyZXNwb25zZSlcbiAgICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYXZlcmFnZVBlcmNlbnRhZ2UnXSA9IGNvbXBldGVuY3lMZW5ndGggICAgXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cbiAgZ2V0RW50aXR5QnlJZChpZDogYW55KSB7XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBcImlzRGV0YWlsXCI6IHRydWVcbiAgICAgIH0sXG4gICAgICBpZDogaWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN1bW1hcnlTZXJ2aWNlLmdldEFjdGl2aXR5QnlJZChyZXFCb2R5KVxuICB9XG4gIGdldEF2ZXJhZ2VwZXJjZW50YWdlKGRhdGEpIHtcbiAgICBsZXQgdG90YWxMZW5ndGggPSBkYXRhLmxlbmd0aFxuICAgIGxldCBwZXJjZW50YWdlID0gW11cbiAgICBsZXQgdG90YWxQZXJjZW50ID0gMFxuICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgcGVyY2VudGFnZS5wdXNoKHZhbHVlLmNvbXBsZXRpb25QZXJjZW50YWdlKVxuICAgIH0pXG4gICAgdG90YWxQZXJjZW50ID0gXy5yb3VuZChfLnN1bShwZXJjZW50YWdlKSAvIHRvdGFsTGVuZ3RoKVxuICAgIHJldHVybiB0b3RhbFBlcmNlbnRcbiAgfVxuXG4gIGdldENvbXBldGVuY3lDb3Vyc2UoKSB7XG4gICAgbGV0IGFzc2Vzc0RhdGE7XG4gICAgYXNzZXNzRGF0YSA9IHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Q29tcGV0ZW5jeUNvdXJzZUlkZW50aWZpZXIodGhpcy5sYW5ndWFnZSlcbiAgICByZXR1cm4gYXNzZXNzRGF0YTtcbiAgfVxuICBcbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUudW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICB9XG59XG4iXX0=

@@ -50,3 +50,3 @@ import * as tslib_1 from "tslib";

selector: 'lib-competency-accordion',
template: "<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<ng-container *ngFor=\"let competency of competencyList; let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</ng-container>",
template: "<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<div *ngFor=\"let competency of (competencyList | removeDuplicatesPipe:['id', 'name']); let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</div>",
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]

@@ -56,2 +56,2 @@ })

export { CompetencyAccordionComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb21wZXRlbmN5LWFjY29yZGlvbi9jb21wZXRlbmN5LWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQUl2QyxZQUNVLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFTCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNmLG9DQUFvQztRQUVuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFBO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3BDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRTt3QkFDaEIsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7cUJBQ1Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDO2dCQUNDLG1CQUFtQixFQUFFLE9BQU87YUFDN0IsQ0FBQyxDQUFBO1NBRUg7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBSTtRQUNyQixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0UsQ0FBQztDQUNGLENBQUE7O1lBaENtQixNQUFNOztBQUpmO0lBQVIsS0FBSyxFQUFFO29FQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTtvRUFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7bUVBQW1CO0FBSGhCLDRCQUE0QjtJQUx4QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLDhuS0FBb0Q7O0tBRXJELENBQUM7R0FDVyw0QkFBNEIsQ0FxQ3hDO1NBckNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbXBldGVuY3ktYWNjb3JkaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5QWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29tcGV0ZW5jeUxpc3Q6IGFueVxuICBASW5wdXQoKSBhc3Nlc3NtZW50RGF0YTogYW55XG4gIEBJbnB1dCgpIGFzc2Vzc0J0blR5cGU6IGFueVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKFwibGlzdFwiLHRoaXMuY29tcGV0ZW5jeUxpc3QpXG4gIH1cblxuICB2aWV3Q291cnNlcyhkYXRhKXtcbiAgIC8vIGNvbnNvbGUubG9nKFwidmlld2VyIGRhdGEgXCIsIGRhdGEpXG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IGlkID0gZGF0YS5pZCA/IGRhdGEuaWQgOiBkYXRhLmFzc2Vzc21lbnREYXRhLmNvbXBldGVuY3lJRFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL3NlYXJjaCddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IFtcbiAgICAgICAgICBgJHtpZH0tMWAsXG4gICAgICAgICAgYCR7aWR9LTJgLFxuICAgICAgICAgIGAke2lkfS0zYCxcbiAgICAgICAgICBgJHtpZH0tNGAsXG4gICAgICAgICAgYCR7aWR9LTVgXG4gICAgICAgIF0gLCBcbiAgICAgICAgY29tcGV0ZW5jeTogdHJ1ZSxcbiAgICAgICAgcmVkaXJlY3Q6ICdhcHAvdXNlci9jb21wZXRlbmN5J1xuICAgICAgfSxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICBcbiAgICB9XG4gIH1cbiAgc3RhcnRTZWxmQXNzZXNtZW50KGRhdGEpe1xuICAgIC8vIGNvbnNvbGUubG9nKFwicXVlcnkgZGF0YSBcIiwgZGF0YSlcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGFwcC91c2VyL3NlbGYtYXNzZXNzbWVudGBdLCB7IHF1ZXJ5UGFyYW1zOiBkYXRhIH0pIFxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb21wZXRlbmN5LWFjY29yZGlvbi9jb21wZXRlbmN5LWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQUl2QyxZQUNVLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFTCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNmLG9DQUFvQztRQUVuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFBO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3BDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRTt3QkFDaEIsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7d0JBQ1QsR0FBRyxFQUFFLElBQUk7cUJBQ1Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDO2dCQUNDLG1CQUFtQixFQUFFLE9BQU87YUFDN0IsQ0FBQyxDQUFBO1NBRUg7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBSTtRQUNyQixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0UsQ0FBQztDQUNGLENBQUE7O1lBaENtQixNQUFNOztBQUpmO0lBQVIsS0FBSyxFQUFFO29FQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTtvRUFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7bUVBQW1CO0FBSGhCLDRCQUE0QjtJQUx4QyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLG9wS0FBb0Q7O0tBRXJELENBQUM7R0FDVyw0QkFBNEIsQ0FxQ3hDO1NBckNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbXBldGVuY3ktYWNjb3JkaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5QWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29tcGV0ZW5jeUxpc3Q6IGFueVxuICBASW5wdXQoKSBhc3Nlc3NtZW50RGF0YTogYW55XG4gIEBJbnB1dCgpIGFzc2Vzc0J0blR5cGU6IGFueVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKFwibGlzdFwiLHRoaXMuY29tcGV0ZW5jeUxpc3QpXG4gIH1cblxuICB2aWV3Q291cnNlcyhkYXRhKXtcbiAgIC8vIGNvbnNvbGUubG9nKFwidmlld2VyIGRhdGEgXCIsIGRhdGEpXG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IGlkID0gZGF0YS5pZCA/IGRhdGEuaWQgOiBkYXRhLmFzc2Vzc21lbnREYXRhLmNvbXBldGVuY3lJRFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL3NlYXJjaCddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IFtcbiAgICAgICAgICBgJHtpZH0tMWAsXG4gICAgICAgICAgYCR7aWR9LTJgLFxuICAgICAgICAgIGAke2lkfS0zYCxcbiAgICAgICAgICBgJHtpZH0tNGAsXG4gICAgICAgICAgYCR7aWR9LTVgXG4gICAgICAgIF0gLCBcbiAgICAgICAgY29tcGV0ZW5jeTogdHJ1ZSxcbiAgICAgICAgcmVkaXJlY3Q6ICdhcHAvdXNlci9jb21wZXRlbmN5J1xuICAgICAgfSxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICBcbiAgICB9XG4gIH1cbiAgc3RhcnRTZWxmQXNzZXNtZW50KGRhdGEpe1xuICAgIC8vIGNvbnNvbGUubG9nKFwicXVlcnkgZGF0YSBcIiwgZGF0YSlcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGFwcC91c2VyL3NlbGYtYXNzZXNzbWVudGBdLCB7IHF1ZXJ5UGFyYW1zOiBkYXRhIH0pIFxuICB9XG59XG4iXX0=

@@ -93,8 +93,8 @@ import * as tslib_1 from "tslib";

selector: 'lib-gained-comptency-card',
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex\">\n <ng-container *ngIf=\"log.header\">\n <span class=\"\"\n i18n>{{'LEVEL' | translate}} </span> <span> {{ log.level }}: {{ log.header }}</span\n >\n <span class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n",
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex w-full\">\n <ng-container *ngIf=\"log.header\">\n <div class=\"log-level-id\"\n i18n>{{'LEVEL' | translate}}{{ log.level }} </div> \n <div class=\"log-level-details\"> {{ log.header }}</div\n >\n <div class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n",
encapsulation: ViewEncapsulation.None,
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-level-details,.log-level-id{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]
})
], GainedComptencyCardComponent);
export { GainedComptencyCardComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvY29tcGV0ZW5jeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkL2dhaW5lZC1jb21wdGVuY3ktY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFPdkUsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7SUFRdkMsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUVuQixZQUNTLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLG9CQUEwQztRQUYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWG5ELFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw2QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5Qix5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQVV4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUE7SUFDdEMsQ0FBQztJ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Q0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQTtTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFBO0lBQ2xELENBQUM7Q0FDRixDQUFBOztZQXZFeUIsYUFBYTtZQUNiLGFBQWE7WUFDTixvQkFBb0I7O0FBYjNDO0lBQVAsS0FBSyxFQUFFOzhEQUFTO0FBRE4sNEJBQTRCO0lBTnhDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsd2xJQUFxRDtRQUVyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDdEMsQ0FBQztHQUNXLDRCQUE0QixDQW1GeEM7U0FuRlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhaW5lZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWluZWQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0VXRpbCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtdXRpbCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBY3RpdmVTdW1tYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjdGl2ZS1zdW1tYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvZW50cnktbW9kdWxlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWluZWQtY29tcHRlbmN5LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR2FpbmVkQ29tcHRlbmN5Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIHJlcXVlc3RVdGlsOiBhbnlcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGdhaW5lZHByb2ZpY2VuY3lEYXRhOiBhbnlcbiAgc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gLTE7XG4gIHNlbGVjdGVkRGlzcGxheUxldmVsID0gLTE7XG4gIC8vIHB1YmxpYyBwcm9maWxlRGF0YTogYW55XG4gIC8vIGFwcExhbmd1YWdlOiBhbnlcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnYWluZWRTZXJ2aWNlOiBHYWluZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG5cbiAgKSB7XG4gICAgdGhpcy5yZXF1ZXN0VXRpbCA9IG5ldyBSZXF1ZXN0VXRpbCgpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzXG4gICAgaWYoIXRoaXMubGFuZ3VhZ2Upe1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICBjb25zdCBhbGxFbnRpdHkgPSB0aGlzLmdldEFsbEVudGl0eSgpXG4gICAgY29uc3QgdXNlclBhc3Nib29rID0gdGhpcy5nZXRBbGxVc2VyUGFzc2Jvb2soKVxuICAgIGZvcmtKb2luKFthbGxFbnRpdHksIHVzZXJQYXNzYm9va10pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KHJlc1swXS5yZXN1bHQucmVzcG9uc2UsIHJlc1sxXS5yZXN1bHQuY29udGVudCwgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEgPSByZXNwb25zZVxuICAgICAgLy8gdGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSA9IHRoaXMuZHVtbXlEYXRhXG4gICAgICBpZiAodGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSkge1xuICAgICAgICBsZXQgcmVzID0gW11cbiAgICAgICAgXy5mb3JFYWNoKHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEsIChjb21wZXRlbmN5OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoY29tcGV0ZW5jeS5jb21wZXRlbmN5U3RvcmVEYXRhKSB7XG4gICAgICAgICAgICByZXMucHVzaChjb21wZXRlbmN5LmNvbXBldGVuY3lTdG9yZURhdGEpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmdhaW5lZFNlcnZpY2UuY29tcGV0ZW5jeURhdGEubmV4dChyZXMpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyRGV0YWlscygpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgaWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRVc2VyZGV0YWlsc0Zyb21SZWdpc3RyeShyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxVc2VyUGFzc2Jvb2soKSB7XG4gICAgbGV0IGlkID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgIFwidHlwZU5hbWVcIjogXCJjb21wZXRlbmN5XCJcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmdhaW5lZFNlcnZpY2UuZmV0Y2hVc2VyUGFzc2Jvb2socmVxQm9keSxpZClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsRW50aXR5KCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBcInNlYXJjaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIkNvbXBldGVuY3lcIlxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuZ2FpbmVkU2VydmljZS5mZXRjaEFsbEVudGl0eShyZXFCb2R5KVxuICB9XG5cbiAgc2VsZWN0TGV2ZWwoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4LCBzZWxlY3RlZERpc3BsYXlMZXZlbCkge1xuICAgIGlmICgoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID09PSB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCkgJiYgKHNlbGVjdGVkRGlzcGxheUxldmVsID09PSAtMSB8fFxuICAgICAgc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPT09IHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCA9IC0xXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPSBzZWxlY3RlZERpc3BsYXlMZXZlbFxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvY29tcGV0ZW5jeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkL2dhaW5lZC1jb21wdGVuY3ktY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFPdkUsSUFBYSw0QkFBNEIsR0FBekMsTUFBYSw0QkFBNEI7SUFRdkMsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUVuQixZQUNTLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLG9CQUEwQztRQUYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWG5ELFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw2QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5Qix5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQVV4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUE7UUFDSixJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUM3QixDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFlLENBQUMsV0FBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JHLENBQUMsQ0FBQyxDQUFBO1NBQ0w7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFDOUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDeEgsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQTtZQUNwQyw2Q0FBNkM7WUFDN0MsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzdCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQTtnQkFDWixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN2RCxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTt3QkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtxQkFDekM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQzVDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHO1lBQ2QsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRTtTQUN0QyxDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUMxQyxNQUFNLE9BQU8sR0FBRztZQUNkLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsWUFBWTthQUN6QjtTQUNGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxZQUFZO2FBQ3JCO1NBQ0YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxvQkFBb0I7UUFDeEQsSUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEtBQUssQ0FBQyxDQUFDO1lBQzlGLG9CQUFvQixLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQTtTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFBO0lBQ2xELENBQUM7Q0FDRixDQUFBOztZQXZFeUIsYUFBYTtZQUNiLGFBQWE7WUFDTixvQkFBb0I7O0FBYjNDO0lBQVAsS0FBSyxFQUFFOzhEQUFTO0FBRE4sNEJBQTRCO0lBTnhDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsdXBJQUFxRDtRQUVyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDdEMsQ0FBQztHQUNXLDRCQUE0QixDQW1GeEM7U0FuRlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhaW5lZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWluZWQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0VXRpbCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtdXRpbCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBY3RpdmVTdW1tYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjdGl2ZS1zdW1tYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvZW50cnktbW9kdWxlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWluZWQtY29tcHRlbmN5LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR2FpbmVkQ29tcHRlbmN5Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIHJlcXVlc3RVdGlsOiBhbnlcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGdhaW5lZHByb2ZpY2VuY3lEYXRhOiBhbnlcbiAgc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gLTE7XG4gIHNlbGVjdGVkRGlzcGxheUxldmVsID0gLTE7XG4gIC8vIHB1YmxpYyBwcm9maWxlRGF0YTogYW55XG4gIC8vIGFwcExhbmd1YWdlOiBhbnlcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnYWluZWRTZXJ2aWNlOiBHYWluZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG5cbiAgKSB7XG4gICAgdGhpcy5yZXF1ZXN0VXRpbCA9IG5ldyBSZXF1ZXN0VXRpbCgpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzXG4gICAgaWYoIXRoaXMubGFuZ3VhZ2Upe1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICBjb25zdCBhbGxFbnRpdHkgPSB0aGlzLmdldEFsbEVudGl0eSgpXG4gICAgY29uc3QgdXNlclBhc3Nib29rID0gdGhpcy5nZXRBbGxVc2VyUGFzc2Jvb2soKVxuICAgIGZvcmtKb2luKFthbGxFbnRpdHksIHVzZXJQYXNzYm9va10pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KHJlc1swXS5yZXN1bHQucmVzcG9uc2UsIHJlc1sxXS5yZXN1bHQuY29udGVudCwgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEgPSByZXNwb25zZVxuICAgICAgLy8gdGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSA9IHRoaXMuZHVtbXlEYXRhXG4gICAgICBpZiAodGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSkge1xuICAgICAgICBsZXQgcmVzID0gW11cbiAgICAgICAgXy5mb3JFYWNoKHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEsIChjb21wZXRlbmN5OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoY29tcGV0ZW5jeS5jb21wZXRlbmN5U3RvcmVEYXRhKSB7XG4gICAgICAgICAgICByZXMucHVzaChjb21wZXRlbmN5LmNvbXBldGVuY3lTdG9yZURhdGEpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmdhaW5lZFNlcnZpY2UuY29tcGV0ZW5jeURhdGEubmV4dChyZXMpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyRGV0YWlscygpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgaWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRVc2VyZGV0YWlsc0Zyb21SZWdpc3RyeShyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxVc2VyUGFzc2Jvb2soKSB7XG4gICAgbGV0IGlkID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgIFwidHlwZU5hbWVcIjogXCJjb21wZXRlbmN5XCJcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmdhaW5lZFNlcnZpY2UuZmV0Y2hVc2VyUGFzc2Jvb2socmVxQm9keSxpZClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsRW50aXR5KCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBcInNlYXJjaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIkNvbXBldGVuY3lcIlxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuZ2FpbmVkU2VydmljZS5mZXRjaEFsbEVudGl0eShyZXFCb2R5KVxuICB9XG5cbiAgc2VsZWN0TGV2ZWwoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4LCBzZWxlY3RlZERpc3BsYXlMZXZlbCkge1xuICAgIGlmICgoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID09PSB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCkgJiYgKHNlbGVjdGVkRGlzcGxheUxldmVsID09PSAtMSB8fFxuICAgICAgc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPT09IHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCA9IC0xXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPSBzZWxlY3RlZERpc3BsYXlMZXZlbFxuICB9XG59XG4iXX0=

@@ -31,3 +31,3 @@ import * as _ from 'lodash-es';

'levels': this.getLevels(_.get(child, 'id'), progrssData, lang),
'competency': lang == 'hi' ? this.getHiName(value) : _.get(child, 'name'),
'competency': lang == 'hi' ? this.getHiName(child) : _.get(child, 'name'),
'id': _.get(child, 'id'),

@@ -50,3 +50,3 @@ 'lastLevel': this.getheighestLevel(_.get(child, 'id'), progrssData),

if (_.some(childrenActivities, 'id')) {
return activitiesResult.concat(_.uniqBy(childrenActivities, 'id') && _.uniqBy(childrenActivities, 'cid'));
return activitiesResult.concat(childrenActivities);
}

@@ -416,5 +416,6 @@ else {

if (data.batches) {
_.forEach(data.batches, (value) => {
batchId = _.get(value, 'batchId');
});
batchId = data.batches[0].batchId;
// _.forEach(data.batches, (value: any) => {
// batchId = _.get(value, 'batchId')
// })
}

@@ -424,2 +425,2 @@ return batchId;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsic2VydmljZXMvcmVxdWVzdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ0UsdUJBQWtCLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUE7YUFDWjtRQUVILENBQUMsQ0FBQTtRQUNELGdDQUEyQixHQUFHLENBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakQsa0NBQWtDO1lBRWxDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM3QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUNyQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFO3dCQUM5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFB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QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO3dCQUNsQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO3dCQUNwQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7d0JBQ25DLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNO3dCQUNqRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7cUJBRTlELENBQUMsQ0FBQTtnQkFDSixDQUFDLENBQUMsQ0FBQTthQUVIO1NBR0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBZTtRQUMvQixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ25DLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5leHBvcnQgY2xhc3MgUmVxdWVzdFV0aWwge1xuICBmb3JtYXRlZEFjdGl2aXRpZXMgPSAoZGF0YTogYW55KSA9PiB7XG4gICAgaWYgKCFfLmlzRW1wdHkoZGF0YSkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gIH1cbiAgZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uID0gKGRhdGE6IGFueSwgbGFuZzogYW55LCBhc3Nlc3NtZW50RGF0YSwgcHJvZ3Jzc0RhdGEpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgbGV0IGFjdGl2aXR5TWFzdGVyRGF0YSA9IF8uZ2V0KGRhdGEsICdhY3Rpdml0eScpO1xuICAgIC8vY29uc29sZS5sb2coYWN0aXZpdHlNYXN0ZXJEYXRhKTtcblxuICAgIGlmIChfLmdldChkYXRhLCAncm9sZXMnKSkge1xuICAgICAgXy5mb3JFYWNoKGRhdGEucm9sZXMsIChyb2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGVPYmplY3QgPSBfLnZhbHVlcyhyb2xlKVswXTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSByb2xlT2JqZWN0LmNoaWxkcmVuO1xuICAgICAgICBsZXQgYWN0aXZpdGllcyA9IF8ucmVkdWNlKGNoaWxkcmVuLCAoYWN0aXZpdGllc1Jlc3VsdCwgdmFsdWUpID0+IHtcbiAgICAgICAgICBjb25zdCBjaWQgPSBfLmdldCh2YWx1ZSwgJ2lkJyk7XG4gICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gXy5maWx0ZXIoYWN0aXZpdHlNYXN0ZXJEYXRhLCAob2JqKSA9PiBfLmhhcyhvYmosIGNpZCkpO1xuICAgICAgICAgIC8vY29uc29sZS5sb2coZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuQWN0aXZpdGllcyA9IF8uZmxhdE1hcChmaWx0ZXJlZERhdGEsIG9iaiA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhY2hpbGRyZW4gPSBfLmdldChvYmosIGNpZCArICcuY2hpbGRyZW4nKTtcbiAgICAgICAgICAgLy8gY29uc29sZS5sb2coZmlsdGVyRGF0YWNoaWxkcmVuLmxlbmd0aCA+IDApXG4gICAgICAgICAgICBpZiAoZmlsdGVyRGF0YWNoaWxkcmVuLmxlbmd0aCA+IDAgIHx8IE9iamVjdC5rZXlzKGZpbHRlckRhdGFjaGlsZHJlbikubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICByZXR1cm4gXy5tYXAoZmlsdGVyRGF0YWNoaWxkcmVuLCBjaGlsZCA9PiAoe1xuICAgICAgICAgICAgICAgICd0aXRsZSc6IGxhbmcgPT0gJ2hpJyA/IHRoaXMuZ2V0SGlOYW1lKHZhbHVlKSA6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgICAgICdjaWQnOiBfLmdldCh2YWx1ZSwgJ2lkJyksXG4gICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgICAgICdjb2RlJzogXy5nZXQodmFsdWUuYWRkaXRpb25hbFByb3BlcnRpZXMsICdDb2RlJyksXG4gICAgICAgICAgICAgICAgJ2xldmVscyc6IHRoaXMuZ2V0TGV2ZWxzKF8uZ2V0KGNoaWxkLCAnaWQnKSwgcHJvZ3Jzc0RhdGEsIGxhbmcpLFxuICAgICAgICAgICAgICAgICdjb21wZXRlbmN5JzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQoY2hpbGQsICduYW1lJyksXG4gICAgICAgICAgICAgICAgJ2lkJzogXy5nZXQoY2hpbGQsICdpZCcpLFxuICAgICAgICAgICAgICAgICdsYXN0TGV2ZWwnOiB0aGlzLmdldGhlaWdoZXN0TGV2ZWwoXy5nZXQoY2hpbGQsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgICAgICAgJ2NvbXBsZXRpb25QZXJjZW50YWdlJzogdGhpcy5nZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoXy5nZXQoY2hpbGQsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgICAgICAgJ2xldmVsRGVzY3JpcHRpb24nOiBfLmdldChjaGlsZC5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJykgPyB0aGlzLmdldExldmVsRGVzY3JpcHRpb24oXy5nZXQoY2hpbGQuYWRkaXRpb25hbFByb3BlcnRpZXMsICdjb21wZXRlbmN5TGV2ZWxEZXNjcmlwdGlvbicpLCBwcm9ncnNzRGF0YSwgXy5nZXQoY2hpbGQsICdpZCcpLCBsYW5nKSA6ICcnLFxuICAgICAgICAgICAgICAgICdhc3Nlc3NtZW50RGF0YSc6IHRoaXMuc2V0QXNzZXNzbWVudERhdGEoXy5nZXQoY2hpbGQsICdpZCcpLCBhc3Nlc3NtZW50RGF0YSlcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFt7XG4gICAgICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgICAgICAgJ2NpZCc6IF8uZ2V0KHZhbHVlLCAnaWQnKSxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBfLmdldCh2YWx1ZSwgJ2Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAgICAgfV07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoXy5zb21lKGNoaWxkcmVuQWN0aXZpdGllcywgJ2lkJykpIHtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXRpZXNSZXN1bHQuY29uY2F0KF8udW5pcUJ5KGNoaWxkcmVuQWN0aXZpdGllcywgJ2lkJykgJiYgXy51bmlxQnkoY2hpbGRyZW5BY3Rpdml0aWVzLCAnY2lkJykgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXRpZXNSZXN1bHQuY29uY2F0KCBfLnVuaXFCeShjaGlsZHJlbkFjdGl2aXRpZXMsICdjaWQnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgLy9jb25zb2xlLmxvZyhhY3Rpdml0aWVzKTtcblxuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ3JvbGVzJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUocm9sZU9iamVjdCkgOiBfLmdldChyb2xlT2JqZWN0LCAnbmFtZScpLFxuICAgICAgICAgICdpZCc6IF8uZ2V0KHJvbGVPYmplY3QsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHJvbGVPYmplY3QsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdhdmVyYWdlUGVyY2VudGFnZSc6IHRoaXMuZ2V0QXZlcmFnZXBlcmNlbnRhZ2UoYWN0aXZpdGllcyksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldChyb2xlT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICdhY3Rpdml0aWVzJzogYWN0aXZpdGllc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAvL2NvbnNvbGUubG9nKHJlc3VsdCk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cblxuICBnZXRBdmVyYWdlcGVyY2VudGFnZShkYXRhKSB7XG4gICAgbGV0IHRvdGFsTGVuZ3RoID0gZGF0YS5sZW5ndGhcbiAgICBsZXQgcGVyY2VudGFnZSA9IFtdXG4gICAgbGV0IHRvdGFsUGVyY2VudCA9IDBcbiAgICBfLmZvckVhY2goZGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIHBlcmNlbnRhZ2UucHVzaCh2YWx1ZS5jb21wbGV0aW9uUGVyY2VudGFnZSlcbiAgICB9KVxuICAgIHRvdGFsUGVyY2VudCA9IF8ucm91bmQoXy5zdW0ocGVyY2VudGFnZSkgLyB0b3RhbExlbmd0aClcbiAgICByZXR1cm4gdG90YWxQZXJjZW50ID8gdG90YWxQZXJjZW50IDogMFxuICB9XG5cblxuICBnZXRIaU5hbWUoZGF0YSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIGlmIChfLmdldChkYXRhLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcbiAgICAgIHJlcyA9IF8uZ2V0KGRhdGEuYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXMgPSBfLmdldChkYXRhLCAnbmFtZScpXG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfVxuICBmb3JtYXRlZEFjdGl2aXRpdHlCeVJvbGVJZCA9IChkYXRhOiBhbnksIGxhbmc6IGFueSwgYWN0aXZpdHlNYXN0ZXJEYXRhLCBwcmdyZXNzRGF0YSwgYXNzZXNzRGF0YSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGxldCBjb21wZXRlbmN5ZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBfLnJlZHVjZShkYXRhLCAocmVzdWx0LCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBfLmZpbHRlcihhY3Rpdml0eU1hc3RlckRhdGEsIChvYmopID0+XG4gICAgICAgICAgXy5oYXMob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdmaWx0ZXJlZERhdGEnLCBmaWx0ZXJlZERhdGEpO1xuICAgICAgICBpZiAoZmlsdGVyZWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBfLmZvckVhY2goZmlsdGVyZWREYXRhLCBvYmogPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5GaWx0ZXJEYXRhID0gXy5nZXQob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykgKyAnLmNoaWxkcmVuJyk7XG4gICAgICAgICAgICBjb21wZXRlbmN5ZGF0YSA9IHRoaXMuZm9ybWF0ZWRDb21wZXRlbmN5KGNoaWxkcmVuRmlsdGVyRGF0YSwgcHJncmVzc0RhdGEsIGxhbmcsIGFzc2Vzc0RhdGEsIF8uZ2V0KHZhbHVlLCAnaWQnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnY2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpXG4gICAgICAgIH0pXG4gICAgICAgIC8vY29uc29sZS5sb2coY29tcGV0ZW5jeWRhdGEpXG4gICAgICAgIHJldHVybiBbLi4ucmVzdWx0LCAuLi5jb21wZXRlbmN5ZGF0YV1cbiAgICAgIH0sIFtdKVxuICAgICAvLyBjb25zb2xlLmxvZyhyZXN1bHQpXG4gICAgICByZXR1cm4gXy5zb3J0QnkocmVzdWx0LCBbZnVuY3Rpb24gKG8pIHsgcmV0dXJuIG8uY29kZTsgfV0pO1xuICAgIH1cbiAgfVxuXG5cbiAgZm9ybWF0ZWRDb21wZXRlbmN5ID0gKGRhdGE6IGFueSwgcHJvZ3Jzc0RhdGEsIGxhbmcsIGFzc2Vzc21lbnREYXRhLCBjaWQpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW11cbiAgICAvLyBfLmZvckVhY2goZGF0YSwgKGRhdGE6IGFueSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ2xldmVscyc6IHRoaXMuZ2V0TGV2ZWxzKF8uZ2V0KHZhbHVlLCAnaWQnKSwgcHJvZ3Jzc0RhdGEsIGxhbmcpLFxuICAgICAgICAgICdjb21wZXRlbmN5JzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgJ2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY2lkJzogY2lkLFxuICAgICAgICAgICdsYXN0TGV2ZWwnOiB0aGlzLmdldGhlaWdoZXN0TGV2ZWwoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvbXBsZXRpb25QZXJjZW50YWdlJzogdGhpcy5nZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAnbGV2ZWxEZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSA/IHRoaXMuZ2V0TGV2ZWxEZXNjcmlwdGlvbihfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJyksIHByb2dyc3NEYXRhLCBfLmdldCh2YWx1ZSwgJ2lkJyksIGxhbmcpIDogJycsXG4gICAgICAgICAgJ2Fzc2Vzc21lbnREYXRhJzogdGhpcy5zZXRBc3Nlc3NtZW50RGF0YShfLmdldCh2YWx1ZSwgJ2lkJyksIGFzc2Vzc21lbnREYXRhKVxuICAgICAgICB9KVxuXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyB9XG4gICAgLy8gfSlcbiAgICByZXN1bHQgPSBfLnNvcnRCeShyZXN1bHQsIFtmdW5jdGlvbiAobykgeyByZXR1cm4gby5jb2RlOyB9XSk7XG4gICAgLy9jb25zb2xlLmxvZyhcImNvbXBldGVuY3lcIiwgcmVzdWx0KVxuICAgIHJldHVybiBfLnVuaXFCeShyZXN1bHQsICdpZCcpO1xuICB9XG5cbiAgZ2V0TGV2ZWxEZXNjcmlwdGlvbihkYXRhLCBwcm9ncnNzRGF0YSwgY29tcGV0ZW5jeUlkLCBsYW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9IFtdXG4gICAgXy5mb3JFYWNoKEpTT04ucGFyc2UoZGF0YSksICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAnbGV2ZWxJZCc6IF8uZ2V0KHZhbHVlLCAnbGV2ZWwnKSxcbiAgICAgICAgICAnbmFtZSc6IGxhbmcgPT0gJ2hpJyA/IF8uZ2V0KHZhbHVlLCAnbGFuZy1oaS1uYW1lJykgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24nOiBsYW5nID09ICdoaScgPyBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSA6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24taGknOiBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnYWNoaXZlZCc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXN1bHQsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBfLmZvckVhY2goYWNoaWV2ZWRMZXZlbHMsIChsZXZlbHM6IGFueSkgPT4ge1xuICAgICAgICBpZiAobGV2ZWxzID09IHZhbHVlLmxldmVsSWQpIHtcbiAgICAgICAgICB2YWx1ZS5hY2hpdmVkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0TGV2ZWxzKGNvbXBldGVuY3lJZCwgcHJvZ3Jzc0RhdGEsIGxhbmcpIHtcbiAgICBsZXQgcmVzcG9uZSA9IFtcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAxJyA6ICdMZXZlbCAxJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMScgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAyJyA6ICdMZXZlbCAyJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMicgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAzJyA6ICdMZXZlbCAzJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMycgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA0JyA6ICdMZXZlbCA0JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNCcgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA1JyA6ICdMZXZlbCA1JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNScgfV1cbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXNwb25lLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgXy5mb3JFYWNoKGFjaGlldmVkTGV2ZWxzLCAobGV2ZWxzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGxldmVscyA9PSB2YWx1ZS5sZXZlbCkge1xuICAgICAgICAgIHZhbHVlLmFjaGl2ZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHJldHVybiByZXNwb25lXG5cbiAgfVxuXG4gIGdldGhlaWdoZXN0TGV2ZWwoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gJydcbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcbiAgICAgICAgcmVzcG9uZSA9IHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWRcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNwb25lXG4gIH1cblxuICBnZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gMFxuXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG4gICAgICAgIHJlc3BvbmUgPSBfLnRvTnVtYmVyKHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWQpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXNwb25lID0gKHJlc3BvbmUgKiAxMDApIC8gNVxuXG4gICAgcmV0dXJuIHJlc3BvbmVcbiAgfVxuXG4gIHNldEFzc2Vzc21lbnREYXRhKGNvbXBldGVuY3lJZCwgYXNzZXNzRGF0YSkge1xuICAgIGxldCByZXN1bHQ7XG4gICAgXy5mb3JFYWNoKGFzc2Vzc0RhdGEsICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGNvbXBldGVuY3lJZCA9PSB2YWx1ZS5jb21wZXRlbmN5SUQpIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWVcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAqIHV0aWwgbWV0aG9kIHRvIGZvcm1hdGUgdGhlIGdhaW5lZCBjb21wZXRlbmN5ICBcbiAqIGZvciB1c2VyIFxuICovXG5cbiAgZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KGVudGl0eTogYW55LCBwYXNzYm9vazogYW55LCBsYW5nOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXVxuICAgIF8uZm9yRWFjaChlbnRpdHksICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjaWQgPSBfLmdldCh2YWx1ZSwgJ2lkJylcbiAgICAgIF8uZm9yRWFjaChwYXNzYm9vaywgKHBhc3Nib29rVmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAocGFzc2Jvb2tWYWx1ZS5jb21wZXRlbmNpZXMuaGFzT3duUHJvcGVydHkoY2lkKSkge1xuICAgICAgICAgIGNvbnN0IGNvbXBldGVuY3kgPSBwYXNzYm9va1ZhbHVlLmNvbXBldGVuY2llc1tjaWRdXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhjb21wZXRlbmN5KVxuICAgICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KSA6IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJyksXG4gICAgICAgICAgICAnbG9ncyc6IHRoaXMuYWNxdWlyZWRQYXNzYm9va0xvZ3MoXy5nZXQoY29tcGV0ZW5jeSwgJ2FjcXVpcmVkRGV0YWlscycpLCBsYW5nKSxcbiAgICAgICAgICAgICdwcm9maWNpZW5jeUxldmVscyc6IHRoaXMuYWNhdWlyZWRDaGFubmVsQ29sb3VyQ29kZShfLmdldChjb21wZXRlbmN5LCAnYWNxdWlyZWREZXRhaWxzJykpLFxuICAgICAgICAgICAgJ2NvbXBldGVuY3lTdG9yZURhdGEnOiB0aGlzLmNvbXBldGVuY3lTdG9yZURhdGFGb21hdChjb21wZXRlbmN5KSxcbiAgICAgICAgICAgICd0aXRsZUhpJzogdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIGdldEhpVGl0bGUoaWQsIGVudGl0eSwgY29tcGV0ZW5jeSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIF8uZm9yRWFjaChlbnRpdHksIChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmIChpdGVtLmlkID09IGlkKSB7XG4gICAgICAgIGlmIChfLmdldChpdGVtLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcblxuICAgICAgICAgIHJlcyA9IF8uZ2V0KGl0ZW0uYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcyA9IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJylcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNcbiAgfVxuXG4gIGFjcXVpcmVkUGFzc2Jvb2tMb2dzKGFjcXVpcmVkRGV0YWlsczogYW55LCBsYW5nKSB7XG4gICAgbGV0IHJlc3BvbnNlID0gW11cbiAgICBpZiAoYWNxdWlyZWREZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChhY3F1aXJlZERldGFpbHMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICdoZWFkZXInOiBfLmdldCh2YWx1ZSwgJ2NvdXJzZU5hbWUnKSA/IF8uZ2V0KHZhbHVlLCAnY291cnNlTmFtZScpIDogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaW5kaU5hbWUoXy5nZXQodmFsdWUsICdhY3F1aXJlZENoYW5uZWwnKSkgOiBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpLFxuICAgICAgICAgICdkYXRlJzogXy5nZXQodmFsdWUsICdjcmVhdGVkRGF0ZScpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnYWRkaXRpb25hbFBhcmFtcy5kZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdrZXlib2FyZEFycm93VXAnOiB0cnVlLFxuICAgICAgICAgICdsZXZlbCc6IF8udG9OdW1iZXIoXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuICBnZXRIaW5kaU5hbWUoY2hhbm5lbE5hbWUpIHtcbiAgICBsZXQgbmFtZTtcbiAgICBzd2l0Y2ggKGNoYW5uZWxOYW1lKSB7XG4gICAgICBjYXNlICdzZWxmQXNzZXNzbWVudCc6IG5hbWUgPSAn4KSG4KSk4KWN4KSuIOCkruClguCksuCljeCkr+CkvuCkguCkleCkqCdcbiAgICAgIGNhc2UgJ2FkbWluJzogbmFtZSA9ICfgpLXgpY3gpK/gpLXgpLjgpY3gpKXgpL7gpKrgpJUnXG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuXG4gIGFjYXVpcmVkQ2hhbm5lbENvbG91ckNvZGUoYWNxdWlyZWREZXRhaWxzOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDEsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogMixcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnY29sb3InOiAnI0ZGRkJCMCcsXG4gICAgICAgICdkaXNwbGF5TGV2ZWwnOiAzLFxuICAgICAgICAnc2VsZWN0ZWQnOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDQsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogNSxcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9XG4gICAgXVxuXG4gICAgXy5mb3JFYWNoKGFjcXVpcmVkRGV0YWlscywgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNoYW5uZWwgPSBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpXG4gICAgICBzd2l0Y2ggKGNoYW5uZWwpIHtcbiAgICAgICAgY2FzZSAnY291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnQ291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2VsZkFzc2Vzc21lbnQnOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0E0REZDQSc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2FkbWluJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyM3Y2I1ZTYnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cbiAgY29tcGV0ZW5jeVN0b3JlRGF0YUZvbWF0KGRhdGEpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSB7fVxuICAgIGxldCBsZXZlbHMgPSBbXVxuICAgIGlmIChkYXRhLmFjcXVpcmVkRGV0YWlscykge1xuICAgICAgXy5mb3JFYWNoKGRhdGEuYWNxdWlyZWREZXRhaWxzLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuY29tcGV0ZW5jeUxldmVsSWQpIHtcbiAgICAgICAgICBsZXZlbHMucHVzaCh2YWx1ZS5jb21wZXRlbmN5TGV2ZWxJZClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgcmVzcG9uc2UgPSB7XG4gICAgICAnY29tcGV0ZW5jeUlkJzogZGF0YS5jb21wZXRlbmN5SWQsXG4gICAgICAnY29tcGV0ZW5jeU5hbWUnOiBkYXRhLmFkZGl0aW9uYWxQYXJhbXMuY29tcGV0ZW5jeU5hbWUsXG4gICAgICAnbGV2ZWxJZCc6IF8ubWF4QnkoZGF0YS5hY3F1aXJlZERldGFpbHMsICdjb21wZXRlbmN5TGV2ZWxJZCcpLFxuICAgICAgJ2xldmVsc0FjaGlldmUnOiBsZXZlbHNcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuXG4gIGZvcm1hdGVkQ29tcGV0ZW5jeUNvdXJzZURhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW11cbiAgICBpZiAoXy5nZXQoZGF0YSwgJ3Jlc3VsdCcpKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gXy5nZXQoZGF0YSwgJ3Jlc3VsdC5jb250ZW50JylcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIF8uZm9yRWFjaChjb250ZW50LCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICd0aXRsZSc6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgJ2NvbnRlbnRJZCc6IF8uZ2V0KHZhbHVlLCAnaWRlbnRpZmllcicpLFxuICAgICAgICAgICAgJ2NvbnRlbnRUeXBlJzogXy5nZXQodmFsdWUsICdjb250ZW50VHlwZScpLFxuICAgICAgICAgICAgJ3N1YlRpdGxlJzogXy5nZXQodmFsdWUsICdzdWJUaXRsZScpLFxuICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgJ2NyZWF0b3InOiBfLmdldCh2YWx1ZSwgJ2NyZWF0b3InKSxcbiAgICAgICAgICAgICdkdXJhdGlvbic6IF8uZ2V0KHZhbHVlLCAnZHVyYXRpb24nKSxcbiAgICAgICAgICAgICdiYXRjaElkJzogdGhpcy5nZXRCYXRjaERhdGEodmFsdWUpLFxuICAgICAgICAgICAgJ2NoaWxkQ29udGVudCc6IF8uZ2V0KHZhbHVlLCAnY2hpbGROb2RlcycpLmxlbmd0aCxcbiAgICAgICAgICAgICdjb21wZXRlbmN5SUQnOiB0aGlzLmdldENvbXBldGVuY3lEYXRhKHZhbHVlLmNvbXBldGVuY2llc192MSlcblxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldENvbXBldGVuY3lEYXRhKGNvbXBldGVuY3k6IGFueSkge1xuICAgIGlmIChjb21wZXRlbmN5KSB7XG4gICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoY29tcGV0ZW5jeSlcbiAgICAgIHJldHVybiBkYXRhWzBdLmNvbXBldGVuY3lJZFxuICAgIH1cbiAgfVxuXG4gIGdldEJhdGNoRGF0YShkYXRhKSB7XG4gICAgbGV0IGJhdGNoSWQgPSAnJ1xuICAgIGlmIChkYXRhLmJhdGNoZXMpIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLmJhdGNoZXMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGJhdGNoSWQgPSBfLmdldCh2YWx1ZSwgJ2JhdGNoSWQnKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gYmF0Y2hJZDtcbiAgfVxufVxuXG5cblxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsic2VydmljZXMvcmVxdWVzdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ0UsdUJBQWtCLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUE7YUFDWjtRQUVILENBQUMsQ0FBQTtRQUNELGdDQUEyQixHQUFHLENBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakQsa0NBQWtDO1lBRWxDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM3QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUNyQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFO3dCQUM5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFB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RyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7d0JBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQzt3QkFDbkMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU07d0JBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztxQkFFOUQsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQyxDQUFBO2FBRUg7U0FHRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFlO1FBQy9CLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNqQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7U0FDNUI7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1lBQ25DLDRDQUE0QztZQUM1QyxzQ0FBc0M7WUFDdEMsS0FBSztTQUNOO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gtZXMnO1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RVdGlsIHtcbiAgZm9ybWF0ZWRBY3Rpdml0aWVzID0gKGRhdGE6IGFueSkgPT4ge1xuICAgIGlmICghXy5pc0VtcHR5KGRhdGEpKSB7XG4gICAgICByZXR1cm4gZGF0YVxuICAgIH1cblxuICB9XG4gIGZvcm1hdGVkQWN0aXZpdGl0eUJ5UG9zdGlvbiA9IChkYXRhOiBhbnksIGxhbmc6IGFueSwgYXNzZXNzbWVudERhdGEsIHByb2dyc3NEYXRhKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgIGxldCBhY3Rpdml0eU1hc3RlckRhdGEgPSBfLmdldChkYXRhLCAnYWN0aXZpdHknKTtcbiAgICAvL2NvbnNvbGUubG9nKGFjdGl2aXR5TWFzdGVyRGF0YSk7XG5cbiAgICBpZiAoXy5nZXQoZGF0YSwgJ3JvbGVzJykpIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLnJvbGVzLCAocm9sZSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlT2JqZWN0ID0gXy52YWx1ZXMocm9sZSlbMF07XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcm9sZU9iamVjdC5jaGlsZHJlbjtcbiAgICAgICAgbGV0IGFjdGl2aXRpZXMgPSBfLnJlZHVjZShjaGlsZHJlbiwgKGFjdGl2aXRpZXNSZXN1bHQsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2lkID0gXy5nZXQodmFsdWUsICdpZCcpO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IF8uZmlsdGVyKGFjdGl2aXR5TWFzdGVyRGF0YSwgKG9iaikgPT4gXy5oYXMob2JqLCBjaWQpKTtcbiAgICAgICAgICAvL2NvbnNvbGUubG9nKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgICBjb25zdCBjaGlsZHJlbkFjdGl2aXRpZXMgPSBfLmZsYXRNYXAoZmlsdGVyZWREYXRhLCBvYmogPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YWNoaWxkcmVuID0gXy5nZXQob2JqLCBjaWQgKyAnLmNoaWxkcmVuJyk7XG4gICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGZpbHRlckRhdGFjaGlsZHJlbi5sZW5ndGggPiAwKVxuICAgICAgICAgICAgaWYgKGZpbHRlckRhdGFjaGlsZHJlbi5sZW5ndGggPiAwICB8fCBPYmplY3Qua2V5cyhmaWx0ZXJEYXRhY2hpbGRyZW4pLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF8ubWFwKGZpbHRlckRhdGFjaGlsZHJlbiwgY2hpbGQgPT4gKHtcbiAgICAgICAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAgICAgICAnY2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICAgICAgICdsZXZlbHMnOiB0aGlzLmdldExldmVscyhfLmdldChjaGlsZCwgJ2lkJyksIHByb2dyc3NEYXRhLCBsYW5nKSxcbiAgICAgICAgICAgICAgICAnY29tcGV0ZW5jeSc6IGxhbmcgPT0gJ2hpJyA/IHRoaXMuZ2V0SGlOYW1lKGNoaWxkKSA6IF8uZ2V0KGNoaWxkLCAnbmFtZScpLFxuICAgICAgICAgICAgICAgICdpZCc6IF8uZ2V0KGNoaWxkLCAnaWQnKSxcbiAgICAgICAgICAgICAgICAnbGFzdExldmVsJzogdGhpcy5nZXRoZWlnaGVzdExldmVsKF8uZ2V0KGNoaWxkLCAnaWQnKSwgcHJvZ3Jzc0RhdGEpLFxuICAgICAgICAgICAgICAgICdjb21wbGV0aW9uUGVyY2VudGFnZSc6IHRoaXMuZ2V0Q29tcGVsZXRpb25QZXJjZW50YWdlKF8uZ2V0KGNoaWxkLCAnaWQnKSwgcHJvZ3Jzc0RhdGEpLFxuICAgICAgICAgICAgICAgICdsZXZlbERlc2NyaXB0aW9uJzogXy5nZXQoY2hpbGQuYWRkaXRpb25hbFByb3BlcnRpZXMsICdjb21wZXRlbmN5TGV2ZWxEZXNjcmlwdGlvbicpID8gdGhpcy5nZXRMZXZlbERlc2NyaXB0aW9uKF8uZ2V0KGNoaWxkLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSwgcHJvZ3Jzc0RhdGEsIF8uZ2V0KGNoaWxkLCAnaWQnKSwgbGFuZykgOiAnJyxcbiAgICAgICAgICAgICAgICAnYXNzZXNzbWVudERhdGEnOiB0aGlzLnNldEFzc2Vzc21lbnREYXRhKF8uZ2V0KGNoaWxkLCAnaWQnKSwgYXNzZXNzbWVudERhdGEpXG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBbe1xuICAgICAgICAgICAgICAgICd0aXRsZSc6IGxhbmcgPT0gJ2hpJyA/IHRoaXMuZ2V0SGlOYW1lKHZhbHVlKSA6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgICAgICdjaWQnOiBfLmdldCh2YWx1ZSwgJ2lkJyksXG4gICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgICAgICdjb2RlJzogXy5nZXQodmFsdWUuYWRkaXRpb25hbFByb3BlcnRpZXMsICdDb2RlJyksXG4gICAgICAgICAgICAgIH1dO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKF8uc29tZShjaGlsZHJlbkFjdGl2aXRpZXMsICdpZCcpKSB7XG5cbiAgICAgICAgICAgIHJldHVybiBhY3Rpdml0aWVzUmVzdWx0LmNvbmNhdChjaGlsZHJlbkFjdGl2aXRpZXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aXZpdGllc1Jlc3VsdC5jb25jYXQoIF8udW5pcUJ5KGNoaWxkcmVuQWN0aXZpdGllcywgJ2NpZCcpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICAvL2NvbnNvbGUubG9nKGFjdGl2aXRpZXMpO1xuXG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAncm9sZXMnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZShyb2xlT2JqZWN0KSA6IF8uZ2V0KHJvbGVPYmplY3QsICduYW1lJyksXG4gICAgICAgICAgJ2lkJzogXy5nZXQocm9sZU9iamVjdCwgJ2lkJyksXG4gICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQocm9sZU9iamVjdCwgJ2Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgJ2F2ZXJhZ2VQZXJjZW50YWdlJzogdGhpcy5nZXRBdmVyYWdlcGVyY2VudGFnZShhY3Rpdml0aWVzKSxcbiAgICAgICAgICAnY29kZSc6IF8uZ2V0KHJvbGVPYmplY3QuYWRkaXRpb25hbFByb3BlcnRpZXMsICdDb2RlJyksXG4gICAgICAgICAgJ2FjdGl2aXRpZXMnOiBhY3Rpdml0aWVzXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIC8vY29uc29sZS5sb2cocmVzdWx0KTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuXG4gIGdldEF2ZXJhZ2VwZXJjZW50YWdlKGRhdGEpIHtcbiAgICBsZXQgdG90YWxMZW5ndGggPSBkYXRhLmxlbmd0aFxuICAgIGxldCBwZXJjZW50YWdlID0gW11cbiAgICBsZXQgdG90YWxQZXJjZW50ID0gMFxuICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgcGVyY2VudGFnZS5wdXNoKHZhbHVlLmNvbXBsZXRpb25QZXJjZW50YWdlKVxuICAgIH0pXG4gICAgdG90YWxQZXJjZW50ID0gXy5yb3VuZChfLnN1bShwZXJjZW50YWdlKSAvIHRvdGFsTGVuZ3RoKVxuICAgIHJldHVybiB0b3RhbFBlcmNlbnQgPyB0b3RhbFBlcmNlbnQgOiAwXG4gIH1cblxuXG4gIGdldEhpTmFtZShkYXRhKSB7XG4gICAgbGV0IHJlczogYW55XG4gICAgaWYgKF8uZ2V0KGRhdGEuYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKSkge1xuICAgICAgcmVzID0gXy5nZXQoZGF0YS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2xhbmctaGktbmFtZScpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcyA9IF8uZ2V0KGRhdGEsICduYW1lJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9XG4gIGZvcm1hdGVkQWN0aXZpdGl0eUJ5Um9sZUlkID0gKGRhdGE6IGFueSwgbGFuZzogYW55LCBhY3Rpdml0eU1hc3RlckRhdGEsIHByZ3Jlc3NEYXRhLCBhc3Nlc3NEYXRhKSA9PiB7XG4gICAgLy8gaWYgKF8uZ2V0KGRhdGEsICdyZXN1bHQnKSkge1xuICAgIC8vIGNvbnN0IGNoaWxkcmVuID0gXy5nZXQoZGF0YSwgJ3Jlc3VsdC5yZXNwb25zZScpLmNoaWxkcmVuXG4gICAgbGV0IGNvbXBldGVuY3lkYXRhO1xuICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IF8ucmVkdWNlKGRhdGEsIChyZXN1bHQsIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IF8uZmlsdGVyKGFjdGl2aXR5TWFzdGVyRGF0YSwgKG9iaikgPT5cbiAgICAgICAgICBfLmhhcyhvYmosIF8uZ2V0KHZhbHVlLCAnaWQnKSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc29sZS5sb2coJ2ZpbHRlcmVkRGF0YScsIGZpbHRlcmVkRGF0YSk7XG4gICAgICAgIGlmIChmaWx0ZXJlZERhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgIF8uZm9yRWFjaChmaWx0ZXJlZERhdGEsIG9iaiA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbkZpbHRlckRhdGEgPSBfLmdldChvYmosIF8uZ2V0KHZhbHVlLCAnaWQnKSArICcuY2hpbGRyZW4nKTtcbiAgICAgICAgICAgIGNvbXBldGVuY3lkYXRhID0gdGhpcy5mb3JtYXRlZENvbXBldGVuY3koY2hpbGRyZW5GaWx0ZXJEYXRhLCBwcmdyZXNzRGF0YSwgbGFuZywgYXNzZXNzRGF0YSwgXy5nZXQodmFsdWUsICdpZCcpKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICd0aXRsZSc6IGxhbmcgPT0gJ2hpJyA/IHRoaXMuZ2V0SGlOYW1lKHZhbHVlKSA6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICdjaWQnOiBfLmdldCh2YWx1ZSwgJ2lkJyksXG4gICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdjb2RlJzogXy5nZXQodmFsdWUuYWRkaXRpb25hbFByb3BlcnRpZXMsICdDb2RlJylcbiAgICAgICAgfSlcbiAgICAgICAgLy9jb25zb2xlLmxvZyhjb21wZXRlbmN5ZGF0YSlcbiAgICAgICAgcmV0dXJuIFsuLi5yZXN1bHQsIC4uLmNvbXBldGVuY3lkYXRhXVxuICAgICAgfSwgW10pXG4gICAgIC8vIGNvbnNvbGUubG9nKHJlc3VsdClcbiAgICAgIHJldHVybiBfLnNvcnRCeShyZXN1bHQsIFtmdW5jdGlvbiAobykgeyByZXR1cm4gby5jb2RlOyB9XSk7XG4gICAgfVxuICB9XG5cblxuICBmb3JtYXRlZENvbXBldGVuY3kgPSAoZGF0YTogYW55LCBwcm9ncnNzRGF0YSwgbGFuZywgYXNzZXNzbWVudERhdGEsIGNpZCkgPT4ge1xuICAgIGxldCByZXN1bHQgPSBbXVxuICAgIC8vIF8uZm9yRWFjaChkYXRhLCAoZGF0YTogYW55KSA9PiB7XG4gICAgLy8gaWYgKF8uZ2V0KGRhdGEsICdyZXN1bHQnKSkge1xuICAgIC8vIGNvbnN0IGNoaWxkcmVuID0gXy5nZXQoZGF0YSwgJ3Jlc3VsdC5yZXNwb25zZScpLmNoaWxkcmVuXG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgXy5mb3JFYWNoKGRhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAnbGV2ZWxzJzogdGhpcy5nZXRMZXZlbHMoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSwgbGFuZyksXG4gICAgICAgICAgJ2NvbXBldGVuY3knOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnaWQnOiBfLmdldCh2YWx1ZSwgJ2lkJyksXG4gICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdjaWQnOiBjaWQsXG4gICAgICAgICAgJ2xhc3RMZXZlbCc6IHRoaXMuZ2V0aGVpZ2hlc3RMZXZlbChfLmdldCh2YWx1ZSwgJ2lkJyksIHByb2dyc3NEYXRhKSxcbiAgICAgICAgICAnY29tcGxldGlvblBlcmNlbnRhZ2UnOiB0aGlzLmdldENvbXBlbGV0aW9uUGVyY2VudGFnZShfLmdldCh2YWx1ZSwgJ2lkJyksIHByb2dyc3NEYXRhKSxcbiAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICdsZXZlbERlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUuYWRkaXRpb25hbFByb3BlcnRpZXMsICdjb21wZXRlbmN5TGV2ZWxEZXNjcmlwdGlvbicpID8gdGhpcy5nZXRMZXZlbERlc2NyaXB0aW9uKF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSwgcHJvZ3Jzc0RhdGEsIF8uZ2V0KHZhbHVlLCAnaWQnKSwgbGFuZykgOiAnJyxcbiAgICAgICAgICAnYXNzZXNzbWVudERhdGEnOiB0aGlzLnNldEFzc2Vzc21lbnREYXRhKF8uZ2V0KHZhbHVlLCAnaWQnKSwgYXNzZXNzbWVudERhdGEpXG4gICAgICAgIH0pXG5cbiAgICAgIH0pXG4gICAgfVxuICAgIC8vIH1cbiAgICAvLyB9KVxuICAgIHJlc3VsdCA9IF8uc29ydEJ5KHJlc3VsdCwgW2Z1bmN0aW9uIChvKSB7IHJldHVybiBvLmNvZGU7IH1dKTtcbiAgICAvL2NvbnNvbGUubG9nKFwiY29tcGV0ZW5jeVwiLCByZXN1bHQpXG4gICAgcmV0dXJuIF8udW5pcUJ5KHJlc3VsdCwgJ2lkJyk7XG4gIH1cblxuICBnZXRMZXZlbERlc2NyaXB0aW9uKGRhdGEsIHByb2dyc3NEYXRhLCBjb21wZXRlbmN5SWQsIGxhbmcpIHtcbiAgICBsZXQgcmVzdWx0ID0gW11cbiAgICBfLmZvckVhY2goSlNPTi5wYXJzZShkYXRhKSwgKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICdsZXZlbElkJzogXy5nZXQodmFsdWUsICdsZXZlbCcpLFxuICAgICAgICAgICduYW1lJzogbGFuZyA9PSAnaGknID8gXy5nZXQodmFsdWUsICdsYW5nLWhpLW5hbWUnKSA6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IGxhbmcgPT0gJ2hpJyA/IF8uZ2V0KHZhbHVlLCAnbGFuZy1oaS1kZXNjcmlwdGlvbicpIDogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbi1oaSc6IF8uZ2V0KHZhbHVlLCAnbGFuZy1oaS1kZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdhY2hpdmVkJzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIGxldCBhY2hpZXZlZExldmVscyA9IG51bGxcbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcblxuICAgICAgICBhY2hpZXZlZExldmVscyA9IF8udW5pcSh2YWx1ZS5sZXZlbHNBY2hpZXZlKTtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgXy5mb3JFYWNoKHJlc3VsdCwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIF8uZm9yRWFjaChhY2hpZXZlZExldmVscywgKGxldmVsczogYW55KSA9PiB7XG4gICAgICAgIGlmIChsZXZlbHMgPT0gdmFsdWUubGV2ZWxJZCkge1xuICAgICAgICAgIHZhbHVlLmFjaGl2ZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRMZXZlbHMoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSwgbGFuZykge1xuICAgIGxldCByZXNwb25lID0gW1xuICAgICAgeyBuYW1lOiBsYW5nID09ICdoaScgPyAn4KS44KWN4KSk4KSwIDEnIDogJ0xldmVsIDEnLCBhY2hpdmVkOiBmYWxzZSwgbGV2ZWw6ICcxJyB9LFxuICAgICAgeyBuYW1lOiBsYW5nID09ICdoaScgPyAn4KS44KWN4KSk4KSwIDInIDogJ0xldmVsIDInLCBhY2hpdmVkOiBmYWxzZSwgbGV2ZWw6ICcyJyB9LFxuICAgICAgeyBuYW1lOiBsYW5nID09ICdoaScgPyAn4KS44KWN4KSk4KSwIDMnIDogJ0xldmVsIDMnLCBhY2hpdmVkOiBmYWxzZSwgbGV2ZWw6ICczJyB9LFxuICAgICAgeyBuYW1lOiBsYW5nID09ICdoaScgPyAn4KS44KWN4KSk4KSwIDQnIDogJ0xldmVsIDQnLCBhY2hpdmVkOiBmYWxzZSwgbGV2ZWw6ICc0JyB9LFxuICAgICAgeyBuYW1lOiBsYW5nID09ICdoaScgPyAn4KS44KWN4KSk4KSwIDUnIDogJ0xldmVsIDUnLCBhY2hpdmVkOiBmYWxzZSwgbGV2ZWw6ICc1JyB9XVxuICAgIGxldCBhY2hpZXZlZExldmVscyA9IG51bGxcbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcblxuICAgICAgICBhY2hpZXZlZExldmVscyA9IF8udW5pcSh2YWx1ZS5sZXZlbHNBY2hpZXZlKTtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgXy5mb3JFYWNoKHJlc3BvbmUsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBfLmZvckVhY2goYWNoaWV2ZWRMZXZlbHMsIChsZXZlbHM6IGFueSkgPT4ge1xuICAgICAgICBpZiAobGV2ZWxzID09IHZhbHVlLmxldmVsKSB7XG4gICAgICAgICAgdmFsdWUuYWNoaXZlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3BvbmVcblxuICB9XG5cbiAgZ2V0aGVpZ2hlc3RMZXZlbChjb21wZXRlbmN5SWQsIHByb2dyc3NEYXRhKSB7XG4gICAgbGV0IHJlc3BvbmUgPSAnJ1xuICAgIF8uZm9yRWFjaChwcm9ncnNzRGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmIChfLnRvTnVtYmVyKHZhbHVlLmNvbXBldGVuY3lJZCkgPT09IGNvbXBldGVuY3lJZCkge1xuICAgICAgICByZXNwb25lID0gdmFsdWUubGV2ZWxJZC5jb21wZXRlbmN5TGV2ZWxJZFxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3BvbmVcbiAgfVxuXG4gIGdldENvbXBlbGV0aW9uUGVyY2VudGFnZShjb21wZXRlbmN5SWQsIHByb2dyc3NEYXRhKSB7XG4gICAgbGV0IHJlc3BvbmUgPSAwXG5cbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcbiAgICAgICAgcmVzcG9uZSA9IF8udG9OdW1iZXIodmFsdWUubGV2ZWxJZC5jb21wZXRlbmN5TGV2ZWxJZClcbiAgICAgIH1cbiAgICB9KVxuICAgIHJlc3BvbmUgPSAocmVzcG9uZSAqIDEwMCkgLyA1XG5cbiAgICByZXR1cm4gcmVzcG9uZVxuICB9XG5cbiAgc2V0QXNzZXNzbWVudERhdGEoY29tcGV0ZW5jeUlkLCBhc3Nlc3NEYXRhKSB7XG4gICAgbGV0IHJlc3VsdDtcbiAgICBfLmZvckVhY2goYXNzZXNzRGF0YSwgKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoY29tcGV0ZW5jeUlkID09IHZhbHVlLmNvbXBldGVuY3lJRCkge1xuICAgICAgICByZXN1bHQgPSB2YWx1ZVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKlxuICogdXRpbCBtZXRob2QgdG8gZm9ybWF0ZSB0aGUgZ2FpbmVkIGNvbXBldGVuY3kgIFxuICogZm9yIHVzZXIgXG4gKi9cblxuICBmb3JtYXRlZEdhaW5lZENvbXBldGVuY3koZW50aXR5OiBhbnksIHBhc3Nib29rOiBhbnksIGxhbmc6IGFueSkge1xuICAgIGxldCByZXNwb25zZSA9IFtdXG4gICAgXy5mb3JFYWNoKGVudGl0eSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNpZCA9IF8uZ2V0KHZhbHVlLCAnaWQnKVxuICAgICAgXy5mb3JFYWNoKHBhc3Nib29rLCAocGFzc2Jvb2tWYWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChwYXNzYm9va1ZhbHVlLmNvbXBldGVuY2llcy5oYXNPd25Qcm9wZXJ0eShjaWQpKSB7XG4gICAgICAgICAgY29uc3QgY29tcGV0ZW5jeSA9IHBhc3Nib29rVmFsdWUuY29tcGV0ZW5jaWVzW2NpZF1cbiAgICAgICAgICAvL2NvbnNvbGUubG9nKGNvbXBldGVuY3kpXG4gICAgICAgICAgcmVzcG9uc2UucHVzaCh7XG4gICAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpVGl0bGUoY2lkLCBlbnRpdHksIGNvbXBldGVuY3kpIDogXy5nZXQoY29tcGV0ZW5jeSwgJ2FkZGl0aW9uYWxQYXJhbXMuY29tcGV0ZW5jeU5hbWUnKSxcbiAgICAgICAgICAgICdsb2dzJzogdGhpcy5hY3F1aXJlZFBhc3Nib29rTG9ncyhfLmdldChjb21wZXRlbmN5LCAnYWNxdWlyZWREZXRhaWxzJyksIGxhbmcpLFxuICAgICAgICAgICAgJ3Byb2ZpY2llbmN5TGV2ZWxzJzogdGhpcy5hY2F1aXJlZENoYW5uZWxDb2xvdXJDb2RlKF8uZ2V0KGNvbXBldGVuY3ksICdhY3F1aXJlZERldGFpbHMnKSksXG4gICAgICAgICAgICAnY29tcGV0ZW5jeVN0b3JlRGF0YSc6IHRoaXMuY29tcGV0ZW5jeVN0b3JlRGF0YUZvbWF0KGNvbXBldGVuY3kpLFxuICAgICAgICAgICAgJ3RpdGxlSGknOiB0aGlzLmdldEhpVGl0bGUoY2lkLCBlbnRpdHksIGNvbXBldGVuY3kpXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG5cbiAgZ2V0SGlUaXRsZShpZCwgZW50aXR5LCBjb21wZXRlbmN5KSB7XG4gICAgbGV0IHJlczogYW55XG4gICAgXy5mb3JFYWNoKGVudGl0eSwgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaWQgPT0gaWQpIHtcbiAgICAgICAgaWYgKF8uZ2V0KGl0ZW0uYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKSkge1xuXG4gICAgICAgICAgcmVzID0gXy5nZXQoaXRlbS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2xhbmctaGktbmFtZScpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzID0gXy5nZXQoY29tcGV0ZW5jeSwgJ2FkZGl0aW9uYWxQYXJhbXMuY29tcGV0ZW5jeU5hbWUnKVxuICAgICAgICB9XG5cblxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgYWNxdWlyZWRQYXNzYm9va0xvZ3MoYWNxdWlyZWREZXRhaWxzOiBhbnksIGxhbmcpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXVxuICAgIGlmIChhY3F1aXJlZERldGFpbHMubGVuZ3RoID4gMCkge1xuICAgICAgXy5mb3JFYWNoKGFjcXVpcmVkRGV0YWlscywgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmVzcG9uc2UucHVzaCh7XG4gICAgICAgICAgJ2hlYWRlcic6IF8uZ2V0KHZhbHVlLCAnY291cnNlTmFtZScpID8gXy5nZXQodmFsdWUsICdjb3Vyc2VOYW1lJykgOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpbmRpTmFtZShfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpKSA6IF8uZ2V0KHZhbHVlLCAnYWNxdWlyZWRDaGFubmVsJyksXG4gICAgICAgICAgJ2RhdGUnOiBfLmdldCh2YWx1ZSwgJ2NyZWF0ZWREYXRlJyksXG4gICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdhZGRpdGlvbmFsUGFyYW1zLmRlc2NyaXB0aW9uJyksXG4gICAgICAgICAgJ2tleWJvYXJkQXJyb3dVcCc6IHRydWUsXG4gICAgICAgICAgJ2xldmVsJzogXy50b051bWJlcihfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIGdldEhpbmRpTmFtZShjaGFubmVsTmFtZSkge1xuICAgIGxldCBuYW1lO1xuICAgIHN3aXRjaCAoY2hhbm5lbE5hbWUpIHtcbiAgICAgIGNhc2UgJ3NlbGZBc3Nlc3NtZW50JzogbmFtZSA9ICfgpIbgpKTgpY3gpK4g4KSu4KWC4KSy4KWN4KSv4KS+4KSC4KSV4KSoJ1xuICAgICAgY2FzZSAnYWRtaW4nOiBuYW1lID0gJ+CkteCljeCkr+CkteCkuOCljeCkpeCkvuCkquCklSdcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG5cbiAgYWNhdWlyZWRDaGFubmVsQ29sb3VyQ29kZShhY3F1aXJlZERldGFpbHM6IGFueSkge1xuICAgIGxldCByZXNwb25zZSA9IFtcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogMSxcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnY29sb3InOiAnI0ZGRkJCMCcsXG4gICAgICAgICdkaXNwbGF5TGV2ZWwnOiAyLFxuICAgICAgICAnc2VsZWN0ZWQnOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDMsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogNCxcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnY29sb3InOiAnI0ZGRkJCMCcsXG4gICAgICAgICdkaXNwbGF5TGV2ZWwnOiA1LFxuICAgICAgICAnc2VsZWN0ZWQnOiBmYWxzZSxcbiAgICAgIH1cbiAgICBdXG5cbiAgICBfLmZvckVhY2goYWNxdWlyZWREZXRhaWxzLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IF8uZ2V0KHZhbHVlLCAnYWNxdWlyZWRDaGFubmVsJylcbiAgICAgIHN3aXRjaCAoY2hhbm5lbCkge1xuICAgICAgICBjYXNlICdjb3Vyc2UnOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0ZGRkJCMCc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdDb3Vyc2UnOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0ZGRkJCMCc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdzZWxmQXNzZXNzbWVudCc6IHtcbiAgICAgICAgICBfLmZvckVhY2gocmVzcG9uc2UsIChsZXZlbDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAobGV2ZWwuZGlzcGxheUxldmVsID09IF8uZ2V0KHZhbHVlLCAnY29tcGV0ZW5jeUxldmVsSWQnKSkge1xuICAgICAgICAgICAgICBsZXZlbC5jb2xvciA9ICcjQTRERkNBJztcbiAgICAgICAgICAgICAgbGV2ZWwuc2VsZWN0ZWQgPSB0cnVlXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYWRtaW4nOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnIzdjYjVlNic7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0ZGRkJCMCc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuICBjb21wZXRlbmN5U3RvcmVEYXRhRm9tYXQoZGF0YSkge1xuICAgIGxldCByZXNwb25zZSA9IHt9XG4gICAgbGV0IGxldmVscyA9IFtdXG4gICAgaWYgKGRhdGEuYWNxdWlyZWREZXRhaWxzKSB7XG4gICAgICBfLmZvckVhY2goZGF0YS5hY3F1aXJlZERldGFpbHMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5jb21wZXRlbmN5TGV2ZWxJZCkge1xuICAgICAgICAgIGxldmVscy5wdXNoKHZhbHVlLmNvbXBldGVuY3lMZXZlbElkKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICByZXNwb25zZSA9IHtcbiAgICAgICdjb21wZXRlbmN5SWQnOiBkYXRhLmNvbXBldGVuY3lJZCxcbiAgICAgICdjb21wZXRlbmN5TmFtZSc6IGRhdGEuYWRkaXRpb25hbFBhcmFtcy5jb21wZXRlbmN5TmFtZSxcbiAgICAgICdsZXZlbElkJzogXy5tYXhCeShkYXRhLmFjcXVpcmVkRGV0YWlscywgJ2NvbXBldGVuY3lMZXZlbElkJyksXG4gICAgICAnbGV2ZWxzQWNoaWV2ZSc6IGxldmVsc1xuICAgIH1cbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG5cbiAgZm9ybWF0ZWRDb21wZXRlbmN5Q291cnNlRGF0YShkYXRhOiBhbnkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBfLmdldChkYXRhLCAncmVzdWx0LmNvbnRlbnQnKVxuICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgXy5mb3JFYWNoKGNvbnRlbnQsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgJ3RpdGxlJzogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgICAnY29udGVudElkJzogXy5nZXQodmFsdWUsICdpZGVudGlmaWVyJyksXG4gICAgICAgICAgICAnY29udGVudFR5cGUnOiBfLmdldCh2YWx1ZSwgJ2NvbnRlbnRUeXBlJyksXG4gICAgICAgICAgICAnc3ViVGl0bGUnOiBfLmdldCh2YWx1ZSwgJ3N1YlRpdGxlJyksXG4gICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBfLmdldCh2YWx1ZSwgJ2Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICAnY3JlYXRvcic6IF8uZ2V0KHZhbHVlLCAnY3JlYXRvcicpLFxuICAgICAgICAgICAgJ2R1cmF0aW9uJzogXy5nZXQodmFsdWUsICdkdXJhdGlvbicpLFxuICAgICAgICAgICAgJ2JhdGNoSWQnOiB0aGlzLmdldEJhdGNoRGF0YSh2YWx1ZSksXG4gICAgICAgICAgICAnY2hpbGRDb250ZW50JzogXy5nZXQodmFsdWUsICdjaGlsZE5vZGVzJykubGVuZ3RoLFxuICAgICAgICAgICAgJ2NvbXBldGVuY3lJRCc6IHRoaXMuZ2V0Q29tcGV0ZW5jeURhdGEodmFsdWUuY29tcGV0ZW5jaWVzX3YxKVxuXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0Q29tcGV0ZW5jeURhdGEoY29tcGV0ZW5jeTogYW55KSB7XG4gICAgaWYgKGNvbXBldGVuY3kpIHtcbiAgICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShjb21wZXRlbmN5KVxuICAgICAgcmV0dXJuIGRhdGFbMF0uY29tcGV0ZW5jeUlkXG4gICAgfVxuICB9XG5cbiAgZ2V0QmF0Y2hEYXRhKGRhdGEpIHtcbiAgICBsZXQgYmF0Y2hJZCA9ICcnXG4gICAgaWYgKGRhdGEuYmF0Y2hlcykge1xuICAgICAgICBiYXRjaElkID0gZGF0YS5iYXRjaGVzWzBdLmJhdGNoSWRcbiAgICAgIC8vIF8uZm9yRWFjaChkYXRhLmJhdGNoZXMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAvLyAgIGJhdGNoSWQgPSBfLmdldCh2YWx1ZSwgJ2JhdGNoSWQnKVxuICAgICAgLy8gfSlcbiAgICB9XG5cbiAgICByZXR1cm4gYmF0Y2hJZDtcbiAgfVxufVxuXG5cblxuIl19

@@ -6,2 +6,3 @@ /**

export { NoResultComponent as ɵa } from './components/no-result/no-result.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFzdHJpa2FfbnBtanMtY29tcHRlbmN5LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJhYXN0cmlrYV9ucG1qcy1jb21wdGVuY3ktY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtOb1Jlc3VsdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9uby1yZXN1bHQvbm8tcmVzdWx0LmNvbXBvbmVudCc7Il19
export { RemoveDuplicatesPipe as ɵb } from './pipe/remove-duplicates.pipe';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFzdHJpa2FfbnBtanMtY29tcHRlbmN5LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJhYXN0cmlrYV9ucG1qcy1jb21wdGVuY3ktY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7Tm9SZXN1bHRDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2NvbXBvbmVudHMvbm8tcmVzdWx0L25vLXJlc3VsdC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZW1vdmVEdXBsaWNhdGVzUGlwZSBhcyDJtWJ9IGZyb20gJy4vcGlwZS9yZW1vdmUtZHVwbGljYXRlcy5waXBlJzsiXX0=

@@ -8,2 +8,3 @@ import * as tslib_1 from "tslib";

import { NoResultComponent } from './components/no-result/no-result.component';
import { RemoveDuplicatesPipe } from './pipe/remove-duplicates.pipe';
/**

@@ -24,7 +25,9 @@ * Core Module

AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],
exports: [
AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],

@@ -35,2 +38,2 @@ providers: [DataService]

export { CoreModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJjb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRyxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FOzs7O0dBSUc7QUFnQkgsSUFBYSxVQUFVLEdBQXZCLE1BQWEsVUFBVTtDQUFJLENBQUE7QUFBZCxVQUFVO0lBZnRCLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7U0FDakI7UUFDRCxZQUFZLEVBQUU7WUFDWixrQkFBa0I7WUFDbEIsaUJBQWlCO1NBQ2xCO1FBQ0QsT0FBTyxFQUFDO1lBQ04sa0JBQWtCO1lBQ2xCLGlCQUFpQjtTQUNsQjtRQUNELFNBQVMsRUFBQyxDQUFDLFdBQVcsQ0FBQztLQUN4QixDQUFDO0dBQ1csVUFBVSxDQUFJO1NBQWQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyAgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgQXBwTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FwcC1sb2FkZXIvYXBwLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9SZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbm8tcmVzdWx0L25vLXJlc3VsdC5jb21wb25lbnQnO1xuLyoqXG4gKiBDb3JlIE1vZHVsZSAgXG4gKlxuICogQGF1dGhvciBBbWFuIEt1bWFyIFNoYXJtYSA8YW1hbmt1bWFyLnNoYXJtYUB0YXJlbnRvLmNvbT5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcHBMb2FkZXJDb21wb25lbnQsXG4gICAgTm9SZXN1bHRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czpbXG4gICAgQXBwTG9hZGVyQ29tcG9uZW50LFxuICAgIE5vUmVzdWx0Q29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczpbRGF0YVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUgeyB9XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJjb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRyxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFOzs7O0dBSUc7QUFrQkgsSUFBYSxVQUFVLEdBQXZCLE1BQWEsVUFBVTtDQUFJLENBQUE7QUFBZCxVQUFVO0lBakJ0QixRQUFRLENBQUM7UUFDUixPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1NBQ2pCO1FBQ0QsWUFBWSxFQUFFO1lBQ1osa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixvQkFBb0I7U0FDckI7UUFDRCxPQUFPLEVBQUM7WUFDTixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtTQUNyQjtRQUNELFNBQVMsRUFBQyxDQUFDLFdBQVcsQ0FBQztLQUN4QixDQUFDO0dBQ1csVUFBVSxDQUFJO1NBQWQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyAgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgQXBwTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FwcC1sb2FkZXIvYXBwLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9SZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbm8tcmVzdWx0L25vLXJlc3VsdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVtb3ZlRHVwbGljYXRlc1BpcGUgfSBmcm9tICcuL3BpcGUvcmVtb3ZlLWR1cGxpY2F0ZXMucGlwZSc7XG4vKipcbiAqIENvcmUgTW9kdWxlICBcbiAqXG4gKiBAYXV0aG9yIEFtYW4gS3VtYXIgU2hhcm1hIDxhbWFua3VtYXIuc2hhcm1hQHRhcmVudG8uY29tPlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcExvYWRlckNvbXBvbmVudCxcbiAgICBOb1Jlc3VsdENvbXBvbmVudCxcbiAgICBSZW1vdmVEdXBsaWNhdGVzUGlwZVxuICBdLFxuICBleHBvcnRzOltcbiAgICBBcHBMb2FkZXJDb21wb25lbnQsXG4gICAgTm9SZXN1bHRDb21wb25lbnQsXG4gICAgUmVtb3ZlRHVwbGljYXRlc1BpcGVcbiAgXSxcbiAgcHJvdmlkZXJzOltEYXRhU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7IH1cbiJdfQ==

@@ -59,5 +59,6 @@ import * as tslib_1 from "tslib";

if (data.batches) {
_.forEach(data.batches, (value) => {
batchId = _.get(value, 'batchId');
});
batchId = data.batches[0].batchId;
// _.forEach(data.batches, (value:any)=>{
// batchId = _.get(value, 'batchId')
// })
}

@@ -74,2 +75,2 @@ return batchId;

export { RequestUtil };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5LyIsInNvdXJjZXMiOlsic2VsZi1hc3Nlc3NtZW50L3NlcnZpY2UvcmVxdWVzdC11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7O0FBSy9CLElBQWEsV0FBVyxHQUF4QixNQUFhLFdBQVc7SUFFdEIsZ0JBQWdCLENBQUM7SUFFakIsc0JBQXNCLENBQUMsSUFBUTtRQUM3QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsSUFBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxRQUFRLENBQUMsRUFBQztZQUN0QixJQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksRUFBQztnQkFDbEQsTUFBTSxRQUFRLEdBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUE7Z0JBRXhELElBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7b0JBQ3RCLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBUyxFQUFDLEVBQUU7d0JBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ1YsT0FBTyxFQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzs0QkFDOUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQzs0QkFDbEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLFlBQVksQ0FBQzs0QkFDdEMsYUFBYSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLGFBQWEsQ0FBQzs0QkFDeEMsYUFBYSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLGFBQWEsQ0FBQzt5QkFDekMsQ0FBQyxDQUFBO29CQUNILENBQUMsQ0FBQyxDQUFBO29CQUNGLE9BQU8sTUFBTSxDQUFBO2lCQUNmO2FBQ0Y7U0FFRjtJQUNILENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxJQUFRO1FBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixJQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7WUFDOUMsSUFBRyxPQUFPLEVBQUM7Z0JBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFTLEVBQUMsRUFBRTtvQkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDVixPQUFPLEVBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO3dCQUM5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsWUFBWSxDQUFDO3dCQUN0QyxhQUFhLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsYUFBYSxDQUFDO3dCQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsVUFBVSxDQUFDO3dCQUNuQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsYUFBYSxDQUFDO3dCQUN6QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsU0FBUyxDQUFDO3dCQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsVUFBVSxDQUFDO3dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7d0JBQ25DLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNO3dCQUNqRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7cUJBRTlELENBQUMsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FBQTtnQkFDRixPQUFPLE1BQU0sQ0FBQTthQUNmO1NBR0o7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBYztRQUM5QixJQUFHLFVBQVUsRUFBQztZQUNaLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVMsRUFBQyxFQUFFO2dCQUNuQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDbkMsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFBOztBQXZFWSxXQUFXO0lBSHZCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxXQUFXLENBdUV2QjtTQXZFWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0VXRpbCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBmb3JtYXRlZGNvbXBldGVuY3lEYXRhKGRhdGE6YW55KXtcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGlmKF8uZ2V0KGRhdGEsJ3Jlc3VsdCcpKXtcbiAgICAgIGlmKF8uZ2V0KGRhdGEsJ3Jlc3VsdC5jb250ZW50JykuY29tcGV0ZW5jeSA9PT0gdHJ1ZSl7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gIF8uZ2V0KGRhdGEsICdyZXN1bHQuY29udGVudCcpLmNoaWxkcmVuXG5cbiAgICAgICAgaWYoY2hpbGRyZW4ubGVuZ3RoID4gMCl7XG4gICAgICAgICBfLmZvckVhY2goY2hpbGRyZW4sICh2YWx1ZTphbnkpPT57XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAgICAgJ2NvdXJzZUlkJzogXy5nZXQodmFsdWUsICdwYXJlbnQnKSxcbiAgICAgICAgICAgICAgJ2NvbnRlbnRJZCc6IF8uZ2V0KHZhbHVlLCdpZGVudGlmaWVyJyksXG4gICAgICAgICAgICAgICdjb250ZW50VHlwZSc6Xy5nZXQodmFsdWUsJ2NvbnRlbnRUeXBlJyksXG4gICAgICAgICAgICAgICdhcnRpZmFjdFVybCc6Xy5nZXQodmFsdWUsJ2FydGlmYWN0VXJsJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICB9KVxuICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdGVkQ29tcGV0ZW5jeUNvdXJzZURhdGEoZGF0YTphbnkpe1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgaWYoXy5nZXQoZGF0YSwncmVzdWx0Jykpe1xuICAgICAgY29uc3QgY29udGVudCA9ICBfLmdldChkYXRhLCAncmVzdWx0LmNvbnRlbnQnKVxuICAgICAgaWYoY29udGVudCl7XG4gICAgICAgICBfLmZvckVhY2goY29udGVudCwgKHZhbHVlOmFueSk9PntcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogIF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgICAnY29udGVudElkJzogXy5nZXQodmFsdWUsJ2lkZW50aWZpZXInKSxcbiAgICAgICAgICAgICAgJ2NvbnRlbnRUeXBlJzpfLmdldCh2YWx1ZSwnY29udGVudFR5cGUnKSxcbiAgICAgICAgICAgICAgJ3N1YlRpdGxlJzogXy5nZXQodmFsdWUsJ3N1YlRpdGxlJyksXG4gICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgICAnY3JlYXRvcic6IF8uZ2V0KHZhbHVlLCdjcmVhdG9yJyksXG4gICAgICAgICAgICAgICdkdXJhdGlvbic6IF8uZ2V0KHZhbHVlLCdkdXJhdGlvbicpLFxuICAgICAgICAgICAgICAnYmF0Y2hJZCc6IHRoaXMuZ2V0QmF0Y2hEYXRhKHZhbHVlKSxcbiAgICAgICAgICAgICAgJ2NoaWxkQ29udGVudCc6IF8uZ2V0KHZhbHVlLCAnY2hpbGROb2RlcycpLmxlbmd0aCxcbiAgICAgICAgICAgICAgJ2NvbXBldGVuY3lJRCc6IHRoaXMuZ2V0Q29tcGV0ZW5jeURhdGEodmFsdWUuY29tcGV0ZW5jaWVzX3YxKVxuXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICB9KVxuICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cbiAgICAgIFxuXG4gICAgfVxuICB9XG5cbiAgZ2V0Q29tcGV0ZW5jeURhdGEoY29tcGV0ZW5jeTphbnkpe1xuICAgIGlmKGNvbXBldGVuY3kpe1xuICAgICAgbGV0IGRhdGEgPSBKU09OLnBhcnNlKGNvbXBldGVuY3kpXG4gICAgICByZXR1cm4gZGF0YVswXS5jb21wZXRlbmN5SWRcbiAgICB9XG4gIH1cblxuICBnZXRCYXRjaERhdGEoZGF0YSl7XG4gICAgbGV0IGJhdGNoSWQgPSAnJ1xuICAgIGlmKGRhdGEuYmF0Y2hlcyl7XG4gICAgICBfLmZvckVhY2goZGF0YS5iYXRjaGVzLCAodmFsdWU6YW55KT0+e1xuICAgICAgICBiYXRjaElkID0gXy5nZXQodmFsdWUsICdiYXRjaElkJylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGJhdGNoSWQ7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5LyIsInNvdXJjZXMiOlsic2VsZi1hc3Nlc3NtZW50L3NlcnZpY2UvcmVxdWVzdC11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7O0FBSy9CLElBQWEsV0FBVyxHQUF4QixNQUFhLFdBQVc7SUFFdEIsZ0JBQWdCLENBQUM7SUFFakIsc0JBQXNCLENBQUMsSUFBUTtRQUM3QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDakIsSUFBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxRQUFRLENBQUMsRUFBQztZQUN0QixJQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksRUFBQztnQkFDbEQsTUFBTSxRQUFRLEdBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUE7Z0JBRXhELElBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7b0JBQ3RCLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBUyxFQUFDLEVBQUU7d0JBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ1YsT0FBTyxFQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQzs0QkFDOUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQzs0QkFDbEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLFlBQVksQ0FBQzs0QkFDdEMsYUFBYSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLGFBQWEsQ0FBQzs0QkFDeEMsYUFBYSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLGFBQWEsQ0FBQzt5QkFDekMsQ0FBQyxDQUFBO29CQUNILENBQUMsQ0FBQyxDQUFBO29CQUNGLE9BQU8sTUFBTSxDQUFBO2lCQUNmO2FBQ0Y7U0FFRjtJQUNILENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxJQUFRO1FBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixJQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUE7WUFDOUMsSUFBRyxPQUFPLEVBQUM7Z0JBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFTLEVBQUMsRUFBRTtvQkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDVixPQUFPLEVBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO3dCQUM5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsWUFBWSxDQUFDO3dCQUN0QyxhQUFhLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsYUFBYSxDQUFDO3dCQUN4QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsVUFBVSxDQUFDO3dCQUNuQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsYUFBYSxDQUFDO3dCQUN6QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsU0FBUyxDQUFDO3dCQUNqQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsVUFBVSxDQUFDO3dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7d0JBQ25DLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNO3dCQUNqRCxjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7cUJBRTlELENBQUMsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FBQTtnQkFDRixPQUFPLE1BQU0sQ0FBQTthQUNmO1NBR0o7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBYztRQUM5QixJQUFHLFVBQVUsRUFBQztZQUNaLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNaLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtZQUNuQyxxREFBcUQ7WUFDckQsd0NBQXdDO1lBQ3hDLE9BQU87U0FDUjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFBOztBQXhFWSxXQUFXO0lBSHZCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxXQUFXLENBd0V2QjtTQXhFWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0VXRpbCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBmb3JtYXRlZGNvbXBldGVuY3lEYXRhKGRhdGE6YW55KXtcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGlmKF8uZ2V0KGRhdGEsJ3Jlc3VsdCcpKXtcbiAgICAgIGlmKF8uZ2V0KGRhdGEsJ3Jlc3VsdC5jb250ZW50JykuY29tcGV0ZW5jeSA9PT0gdHJ1ZSl7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gIF8uZ2V0KGRhdGEsICdyZXN1bHQuY29udGVudCcpLmNoaWxkcmVuXG5cbiAgICAgICAgaWYoY2hpbGRyZW4ubGVuZ3RoID4gMCl7XG4gICAgICAgICBfLmZvckVhY2goY2hpbGRyZW4sICh2YWx1ZTphbnkpPT57XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAgICAgJ2NvdXJzZUlkJzogXy5nZXQodmFsdWUsICdwYXJlbnQnKSxcbiAgICAgICAgICAgICAgJ2NvbnRlbnRJZCc6IF8uZ2V0KHZhbHVlLCdpZGVudGlmaWVyJyksXG4gICAgICAgICAgICAgICdjb250ZW50VHlwZSc6Xy5nZXQodmFsdWUsJ2NvbnRlbnRUeXBlJyksXG4gICAgICAgICAgICAgICdhcnRpZmFjdFVybCc6Xy5nZXQodmFsdWUsJ2FydGlmYWN0VXJsJyksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICB9KVxuICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdGVkQ29tcGV0ZW5jeUNvdXJzZURhdGEoZGF0YTphbnkpe1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgaWYoXy5nZXQoZGF0YSwncmVzdWx0Jykpe1xuICAgICAgY29uc3QgY29udGVudCA9ICBfLmdldChkYXRhLCAncmVzdWx0LmNvbnRlbnQnKVxuICAgICAgaWYoY29udGVudCl7XG4gICAgICAgICBfLmZvckVhY2goY29udGVudCwgKHZhbHVlOmFueSk9PntcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogIF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgICAnY29udGVudElkJzogXy5nZXQodmFsdWUsJ2lkZW50aWZpZXInKSxcbiAgICAgICAgICAgICAgJ2NvbnRlbnRUeXBlJzpfLmdldCh2YWx1ZSwnY29udGVudFR5cGUnKSxcbiAgICAgICAgICAgICAgJ3N1YlRpdGxlJzogXy5nZXQodmFsdWUsJ3N1YlRpdGxlJyksXG4gICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgICAnY3JlYXRvcic6IF8uZ2V0KHZhbHVlLCdjcmVhdG9yJyksXG4gICAgICAgICAgICAgICdkdXJhdGlvbic6IF8uZ2V0KHZhbHVlLCdkdXJhdGlvbicpLFxuICAgICAgICAgICAgICAnYmF0Y2hJZCc6IHRoaXMuZ2V0QmF0Y2hEYXRhKHZhbHVlKSxcbiAgICAgICAgICAgICAgJ2NoaWxkQ29udGVudCc6IF8uZ2V0KHZhbHVlLCAnY2hpbGROb2RlcycpLmxlbmd0aCxcbiAgICAgICAgICAgICAgJ2NvbXBldGVuY3lJRCc6IHRoaXMuZ2V0Q29tcGV0ZW5jeURhdGEodmFsdWUuY29tcGV0ZW5jaWVzX3YxKVxuXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICB9KVxuICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH1cbiAgICAgIFxuXG4gICAgfVxuICB9XG5cbiAgZ2V0Q29tcGV0ZW5jeURhdGEoY29tcGV0ZW5jeTphbnkpe1xuICAgIGlmKGNvbXBldGVuY3kpe1xuICAgICAgbGV0IGRhdGEgPSBKU09OLnBhcnNlKGNvbXBldGVuY3kpXG4gICAgICByZXR1cm4gZGF0YVswXS5jb21wZXRlbmN5SWRcbiAgICB9XG4gIH1cblxuICBnZXRCYXRjaERhdGEoZGF0YSl7XG4gICAgbGV0IGJhdGNoSWQgPSAnJ1xuICAgIGlmKGRhdGEuYmF0Y2hlcyl7XG4gICAgICAgIGJhdGNoSWQgPSBkYXRhLmJhdGNoZXNbMF0uYmF0Y2hJZFxuICAgICAgLy8gICBfLmZvckVhY2goZGF0YS5iYXRjaGVzLCAodmFsdWU6YW55KT0+eyAgICAgICAgICBcbiAgICAgIC8vICAgICBiYXRjaElkID0gXy5nZXQodmFsdWUsICdiYXRjaElkJylcbiAgICAgIC8vICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gYmF0Y2hJZDtcbiAgfVxufVxuIl19

@@ -237,3 +237,3 @@ import * as tslib_1 from "tslib";

selector: 'lib-active-summary',
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of role?.activities; let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n",
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let role of roleactivitySummaries\">\n <div class=\"activity-card-container\">\n <mat-accordion>\n <mat-expansion-panel\n class=\"\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n >\n <mat-expansion-panel-header\n id=\"activity-header\"\n class=\"flex-between items-center w-full\"\n collapsedHeight=\"auto\"\n expandedHeight=\"auto\"\n >\n\n <mat-panel-description class=\"panel-header-description\">\n <ng-container *ngIf=\"role?.roles\">\n <div class=\"flex flex-column w-full\">\n <div class=\"role-title\">{{ role?.roles }}</div>\n <div class=\"progress-status-none\" *ngIf=\"role?.averagePercentage == 0\"></div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage < 100 && role?.averagePercentage != 0\" i18n>{{'IN_PROGRESS' | translate }}</div>\n <div class=\"progress-status\" *ngIf=\"role?.averagePercentage == 100\" i18n>{{'COMPLETED' | translate}}</div>\n <ng-container >\n <div [ngClass]=\"{'green-bar': role?.averagePercentage == 100 , 'warn-bar': role?.averagePercentage < 100 && role?.averagePercentage != 0 }\">\n <mat-progress-bar mode=\"determinate\" value={{role?.averagePercentage}} class=\"mt-1\"></mat-progress-bar>\n </div>\n </ng-container>\n\n </div>\n </ng-container>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader>\n <div class=\"expand-container\" *ngIf=\"roleactivitySummaries.length>0\">\n <!-- list of activity -->\n <div class=\"activity-badge\" i18n>{{'ACTIVITIES' | translate}}</div>\n <ng-container\n *ngFor=\"let activity of (role?.activities| removeDuplicatesPipe:['cid', 'name'] ); let i = index\"\n >\n <div class=\"activity-title\" *ngIf=\"activity.title\">\n - {{ activity.title }}\n </div>\n\n\n </ng-container>\n <ng-container *ngIf=\"role?.activities\">\n <lib-competency-accordion [competencyList]=\"role?.activities\" [assessmentData]=\"assessmentData\" [assessBtnType]=\"btnType\"></lib-competency-accordion>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n </div>\n</ng-container>\n",
encapsulation: ViewEncapsulation.None,

@@ -246,2 +246,2 @@ styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.activity-card-container{margin:15px 2px;box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px}.spinner-loading{display:flex;justify-content:center}.role-title{font-size:20px;line-height:19px;letter-spacing:-.02em;color:var(--blue)}.icon-down{-ms-grid-row-align:flex-end;-ms-grid-column-align:flex-end;place-self:flex-end;color:var(--black)!important}:host ::ng-deep .mat-expansion-panel{height:auto!important}:host ::ng-deep .mat-expansion-panel-header:hover{background:inherit!important}:host ::ng-deep .mat-expansion-panel-body{padding:0 0 16px!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-header{padding:10px 10px 0!important}.activity-card-container .mat-accordion .mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:0 0 16px!important}#activity-header .mat-expansion-panel-header{border-radius:10px!important;padding:10px 10px 0!important}::ng-deep .mat-expansion-indicator{width:24px;height:24px;color:var(--black)!important}:host ::ng-deep .mat-expansion-indicator::after{color:var(--black)!important}:host ::ng-deep .mat-expansion-panel-header-description{margin-right:0!important}.activity-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black);margin-bottom:10px;padding:0 10px}.competency-container{background:var(--white);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:10px;padding:10px;margin:18px 0 15px}.competency-container .competency-title{font-size:20px;line-height:25px;letter-spacing:-.02em;color:var(--black);margin-bottom:20px}.competency-container .level{font-size:24px;line-height:24px;letter-spacing:-.02em;color:var(--blue)}.expand-container{padding:15px 0 0}.activity-badge{font-weight:400;font-size:14px;color:#1c5d95;background:#ebf4fb;border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px 20px;margin:0 10px 15px}.mat-progress-bar{border-radius:40px;height:10px!important}.value{position:relative;bottom:19px;color:#1c5d95;width:275px;display:flex;justify-content:center}::ng-deep .green-bar .theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4!important;border-radius:40px}::ng-deep.warn-bar .mat-progress-bar-fill::after{background:no-repeat padding-box #f1cf8a!important;border-radius:40px}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.theme-sphere.day-mode .mat-progress-bar-buffer{background-color:#f5f5f5!important}.progress-status{font-style:italic;font-weight:400;font-size:12px;color:#000;-ms-grid-row-align:end;-ms-grid-column-align:end;place-self:end}.progress-status-none{visibility:hidden}"]

export { ActiveSummaryComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hY3RpdmUtc3VtbWFyeS9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBb0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9sRjtJQXFCRSxnQ0FDUyxvQkFBMEMsRUFDMUMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIscUJBQTRDO1FBSDVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWhCckQsbUJBQWMsR0FBWSxJQUFJLENBQUE7UUFNOUIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBR3ZCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFRWCxJQUFJLENB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VixzQkFBc0I7UUFObEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QiwraEZBQThDO1lBRTlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO09BQ1csc0JBQXNCLENBZ1BsQztJQUFELDZCQUFDO0NBQUEsQUFoUEQsSUFnUEM7U0FoUFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVxdWVzdFV0aWwgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0LXV0aWwnO1xuaW1wb3J0IHsgQWN0aXZlU3VtbWFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY3RpdmUtc3VtbWFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2VudHJ5LW1vZHVsZSc7XG5pbXBvcnQgeyBHYWluZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ2FpbmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZkFzc2Vzc21lbnRTZXJ2aWNlIH0gZnJvbSAnQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9zZWxmLWFzc2Vzc21lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2ZS1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2ZS1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gKiBDb3JlIE1vZHVsZVxuICpcbiAqIEBhdXRob3IgQW1hbiBLdW1hciBTaGFybWEgPGFtYW5rdW1hci5zaGFybWFAdGFyZW50by5jb20+XG4gKi9cbiAgQElucHV0KClsYW5ndWFnZTtcbiAgQElucHV0KClpc01vYmlsZUFwcDtcbiAgQElucHV0KClkZXNpZ2luYXRpb247XG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gdHJ1ZVxuICByZXF1ZXN0VXRpbDogYW55XG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcbiAgcm9sZWFjdGl2aXR5U3VtbWFyaWVzOiBhbnlcbiAgYWN0aXZpdHlTdW1tYXJpZXM6IGFueVxuICBjb21wZXRlbmN5UHJvZ3Jlc3NcbiAgbG9hZGluZyA9IGZhbHNlXG4gIGFjb3JkaWFuTG9hZGluZyA9IGZhbHNlXG4gIHByb2ZpbGVEYXRhOiBhbnlcbiAgYXNzZXNzbWVudERhdGE6IGFueVxuICBidG5UeXBlID0gW107XG4gIHJvbGVJZDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFjdGl2ZVN1bW1hcnlTZXJ2aWNlOiBBY3RpdmVTdW1tYXJ5U2VydmljZSxcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgZ2FpbmVkU2VydmljZTogR2FpbmVkU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZkFzc2Vzc21lbnRTZXJ2aWNlOiBTZWxmQXNzZXNzbWVudFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMucmVxdWVzdFV0aWwgPSBuZXcgUmVxdWVzdFV0aWwoKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZXNpZ25hdGlvbk1hcCh0aGlzLmRlc2lnaW5hdGlvbilcbiAgICB0aGlzLmdldFByb2dyZXNzKClcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnBpcGUobWVyZ2VNYXAoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLnByb2ZpbGVEYXRhID0gcmVzLnByb2ZpbGVEZXRhaWxzLnByb2ZpbGVSZXFcbiAgICAgIGlmKCF0aGlzLmxhbmd1YWdlKXtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICB9XG4gICAgICBpZighdGhpcy5kZXNpZ2luYXRpb24pe1xuICAgICAgICB0aGlzLmRlc2lnaW5hdGlvbiA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJvZmlsZVJlcSEucHJvZmVzc2lvbmFsRGV0YWlsc1swXSEuZGVzaWduYXRpb247XG4gICAgICAgIHRoaXMuZGVzaWduYXRpb25NYXAodGhpcy5kZXNpZ2luYXRpb24pXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb2ZpbGVEYXRhKSB7XG4gICAgICAgIGNvbnN0IGdldEFjdGl2aXR5ID0gdGhpcy5nZXRSb2xlc1dpc2VDb21wZXRlbmN5RGF0YSgpXG4gICAgICAgIGNvbnN0IGdldENvdXJzZXMgPSB0aGlzLmdldENvbXBldGVuY3lDb3Vyc2UoKSAgICAgICAgXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbZ2V0QWN0aXZpdHkgLCBnZXRDb3Vyc2VzIF0pO1xuICAgICAgfVxuICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhyZXMpXG4gICAgICBsZXQgcm9sZXNDb21wZXRlbmN5RGF0YSA9ICBfLmZpbmQocmVzWzBdLnJlc3BvbnNlLCB7J3Bvc2l0aW9uJzogdGhpcy5kZXNpZ2luYXRpb24gfSlcbiAgICAgIGNvbnNvbGUubG9nKHJvbGVzQ29tcGV0ZW5jeURhdGEpXG4gICAgICB0aGlzLmFzc2Vzc21lbnREYXRhID0gdGhpcy5yZXF1ZXN0VXRpbC5mb3JtYXRlZENvbXBldGVuY3lDb3Vyc2VEYXRhKHJlc1sxXSk7XG4gICAgICB0aGlzLmdldEFzc2Vzc21lbnRCdG5UeXBlKHRoaXMuYXNzZXNzbWVudERhdGEpO1xuICAgICAgY29uc3QgZm9ybWF0ZWRSZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uKHJvbGVzQ29tcGV0ZW5jeURhdGEsIHRoaXMubGFuZ3VhZ2UsIHRoaXMuYXNzZXNzbWVudERhdGEsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzKVxuICAgICAgLy8gY29uc3QgZm9ybWF0ZWRSZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uKHJvbGVzQ29tcGV0ZW5jeURhdGEsIHRoaXMubGFuZ3VhZ2UsIHRoaXMuYXNzZXNzbWVudERhdGEsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMgPSBmb3JtYXRlZFJlc3BvbnNlXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgY29uc29sZS5sb2coXCJkYXRhIGFmdGVyIHRoZSBhY3Rpdml0eVwiLCB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcylcbiAgICAgXG4gICAgfSlcbiAgICBjb25zb2xlLmxvZyhcImRhdGEgYWZ0ZXIgdGhlIGFjdGl2aXR5XCIsIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzKVxuICB9XG5cbiAgZ2V0UHJvZ3Jlc3MoKSB7XG4gICAgdGhpcy5nYWluZWRTZXJ2aWNlLmNvbXBldGVuY3lEYXRhJC5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcyA9IHJlc1xuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIGdldEFzc2Vzc21lbnRCdG5UeXBlKGRhdGEpe1xuICAgIF8uZm9yRWFjaCggZGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QXNzZXNzbWVudFByb2dyZXNzKHZhbHVlKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA+IDAgJiYgdmFsdWUuY2hpbGRDb250ZW50ID09PSByZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdHlwZSA9ICcnXG4gICAgICAgICAgICAgICAgICAgIF8uZm9yRWFjaChyZXMucmVzdWx0LmNvbnRlbnRMaXN0LCAoaXRlbTphbnkpPT57XG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbS5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gMTAwICYmIGl0ZW0uY29tcGxldGlvblBlcmNlbnRhZ2UgIT09IDAgKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnRE9ORSdcbiAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnUkVTVU1FJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgICAgIGNvdXJzZUlkOiB2YWx1ZS5jb250ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgICAgIGNvdXJzZUlkOiB2YWx1ZS5jb250ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ1JFU1VNRSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgICAgIGlmKHJlcy5yZXN1bHQuY29udGVudExpc3QubGVuZ3RoID09IDAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeUlkOiB2YWx1ZS5jb21wZXRlbmN5SUQsXG4gICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ1NUQVJUJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgfVxuICBnZXRBc3Nlc3NtZW50UHJvZ3Jlc3MoZGF0YSkge1xuICAgIGNvbnN0IHJlcWJvZHkgPSB7XG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIHVzZXJJZDogdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkLFxuICAgICAgICBiYXRjaElkOiBkYXRhLmJhdGNoSWQsXG4gICAgICAgIGNvdXJzZUlkOiBkYXRhLmNvbnRlbnRJZCxcbiAgICAgICAgY29udGVudElkczogW10sXG4gICAgICAgIGZpZWxkczogWydwcm9ncmVzc2RldGFpbHMnXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZWxmQXNzZXNzbWVudFNlcnZpY2UuZmV0Y2hQcmdyZXNzRGV0YWlscyhyZXFib2R5KVxuICB9XG5cbiAgZ2V0VXNlckRldGFpbHMoKSB7XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGlkOiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuaWRcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0VXNlcmRldGFpbHNGcm9tUmVnaXN0cnkocmVxQm9keSlcbiAgfVxuXG4gIGdldFJvbGVzV2lzZUNvbXBldGVuY3lEYXRhKCkge1xuICAgIGxldCBkZXNpZ25hdGlvbjogYW55XG4gICAgaWYgKHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlscykge1xuICAgICAgZGVzaWduYXRpb24gPSB0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHNbMF0uZGVzaWduYXRpb25cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Um9sZXNXaXNlQ29tcGV0ZW5jeSgpXG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2aXR5QnlSb2xlKGlkKSB7XG4gICAgbGV0IGRlc2lnbmF0aW9uOiBhbnlcbiAgICBpZiAodGhpcy5wcm9maWxlRGF0YS5wcm9mZXNzaW9uYWxEZXRhaWxzKSB7XG4gICAgICBkZXNpZ25hdGlvbiA9IHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlsc1swXS5kZXNpZ25hdGlvblxuICAgIH1cbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIFwiaXNEZXRhaWxcIjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGlkOiBpZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0QWN0aXZpdHlCeUlkKHJlcUJvZHkpXG4gIH1cblxuICBwcml2YXRlIGRlc2lnbmF0aW9uTWFwKGRlc2lnbmF0aW9uOiBzdHJpbmcpIHtcbiAgICBsZXQgcG9zaXRpb25NYXAgOmFueVxuICAgIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Um9sZXNNYXBwaW5nKCkucGlwZSgpLnN1YnNjcmliZSgocmVzOmFueSk9PntcbiAgICAgIGNvbnNvbGUubG9nKHJlcylcbiAgICAgIHBvc2l0aW9uTWFwID0gcmVzLnJlc3BvbnNlXG4gICAgICBpZiAocG9zaXRpb25NYXAuaGFzT3duUHJvcGVydHkoZGVzaWduYXRpb24pKSB7XG4gICAgICAgIHRoaXMucm9sZUlkID0gcG9zaXRpb25NYXBbZGVzaWduYXRpb25dXG4gICAgICAgIHJldHVybiB0aGlzLnJvbGVJZFxuICAgICAgfWVsc2VcbiAgICAgIHRoaXMucm9sZUlkID0gMVxuICAgICAgICByZXR1cm4gMVxuICAgIH0sXG4gICAgKGVycik9PntcbiAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKVxuICAgICAgcG9zaXRpb25NYXAgPSBlcnJcbiAgICAgIGlmIChwb3NpdGlvbk1hcC5oYXNPd25Qcm9wZXJ0eShkZXNpZ25hdGlvbikpIHtcbiAgICAgICAgdGhpcy5yb2xlSWQgPSBwb3NpdGlvbk1hcFtkZXNpZ25hdGlvbl1cbiAgICAgICAgcmV0dXJuIHRoaXMucm9sZUlkXG4gICAgICB9ZWxzZVxuICAgICAgdGhpcy5yb2xlSWQgPSAxXG4gICAgICAgIHJldHVybiAxXG4gICAgfSxcbiAgICBcblxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3Rpdml0eUJ5Um9sZUlkKGlkOiBhbnkpIHsgXG4gICAgdGhpcy5hY29yZGlhbkxvYWRpbmcgPSB0cnVlXG4gICAgY29uc3QgaW5kZXggPSBfLmZpbmRJbmRleCh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcywgeyAnaWQnOiBpZCB9KVxuICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gW11cbiAgICB0aGlzLmdldEVudGl0eUJ5SWQoaWQpLnBpcGUobWVyZ2VNYXAoKHJlcykgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlSb2xlSWQocmVzLCB0aGlzLmxhbmd1YWdlKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10gPSByZXNwb25lXG4gICAgICBjb25zdCBjaWRBcnIgPSBfLm1hcCh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSwgJ2NpZCcpXG4gICAgICBsZXQgY2FsbHMgPSBbXTtcbiAgICAgIF8uZm9yRWFjaChjaWRBcnIsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNhbGxzLnB1c2godGhpcy5nZXRFbnRpdHlCeUlkKHZhbHVlKSlcbiAgICAgIH0pXG4gICAgICB0aGlzLmFjb3JkaWFuTG9hZGluZyA9IGZhbHNlXG5cbiAgICAgIHJldHVybiBmb3JrSm9pbihbLi4uY2FsbHMgXSlcbiAgICB9KSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQ29tcGV0ZW5jeShyZXMsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10gPSBfLnZhbHVlcyhfLm1lcmdlKF8ua2V5QnkocmVzcG9uc2UsICdpZCcpLFxuICAgICAgICBfLmtleUJ5KHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddLCAnY2lkJykpKVxuXG4gICAgICB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2F2ZXJhZ2VQZXJjZW50YWdlJ10gPSBbXVxuICAgICAgbGV0IGNvbXBldGVuY3lMZW5ndGggPSB0aGlzLmdldEF2ZXJhZ2VwZXJjZW50YWdlKHJlc3BvbnNlKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhdmVyYWdlUGVyY2VudGFnZSddID0gY29tcGV0ZW5jeUxlbmd0aCAgICBcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICBnZXRFbnRpdHlCeUlkKGlkOiBhbnkpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIFwiaXNEZXRhaWxcIjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGlkOiBpZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0QWN0aXZpdHlCeUlkKHJlcUJvZHkpXG4gIH1cbiAgZ2V0QXZlcmFnZXBlcmNlbnRhZ2UoZGF0YSkge1xuICAgIGxldCB0b3RhbExlbmd0aCA9IGRhdGEubGVuZ3RoXG4gICAgbGV0IHBlcmNlbnRhZ2UgPSBbXVxuICAgIGxldCB0b3RhbFBlcmNlbnQgPSAwXG4gICAgXy5mb3JFYWNoKGRhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBwZXJjZW50YWdlLnB1c2godmFsdWUuY29tcGxldGlvblBlcmNlbnRhZ2UpXG4gICAgfSlcbiAgICB0b3RhbFBlcmNlbnQgPSBfLnJvdW5kKF8uc3VtKHBlcmNlbnRhZ2UpIC8gdG90YWxMZW5ndGgpXG4gICAgcmV0dXJuIHRvdGFsUGVyY2VudFxuICB9XG5cbiAgZ2V0Q29tcGV0ZW5jeUNvdXJzZSgpIHtcbiAgICBsZXQgYXNzZXNzRGF0YTtcbiAgICBhc3Nlc3NEYXRhID0gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRDb21wZXRlbmN5Q291cnNlSWRlbnRpZmllcih0aGlzLmxhbmd1YWdlKVxuICAgIHJldHVybiBhc3Nlc3NEYXRhO1xuICB9XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZS51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9hY3RpdmUtc3VtbWFyeS9hY3RpdmUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBb0IsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU9sRjtJQXFCRSxnQ0FDUyxvQkFBMEMsRUFDMUMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIscUJBQTRDO1FBSDVDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWhCckQsbUJBQWMsR0FBWSxJQUFJLENBQUE7UUFNOUIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBR3ZCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFRWCxJQUFJLENB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VixzQkFBc0I7UUFObEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLG9CQUFvQjtZQUM5Qix3a0ZBQThDO1lBRTlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO09BQ1csc0JBQXNCLENBZ1BsQztJQUFELDZCQUFDO0NBQUEsQUFoUEQsSUFnUEM7U0FoUFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVxdWVzdFV0aWwgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0LXV0aWwnO1xuaW1wb3J0IHsgQWN0aXZlU3VtbWFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY3RpdmUtc3VtbWFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2VudHJ5LW1vZHVsZSc7XG5pbXBvcnQgeyBHYWluZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ2FpbmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZkFzc2Vzc21lbnRTZXJ2aWNlIH0gZnJvbSAnQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9zZWxmLWFzc2Vzc21lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2ZS1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2ZS1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gKiBDb3JlIE1vZHVsZVxuICpcbiAqIEBhdXRob3IgQW1hbiBLdW1hciBTaGFybWEgPGFtYW5rdW1hci5zaGFybWFAdGFyZW50by5jb20+XG4gKi9cbiAgQElucHV0KClsYW5ndWFnZTtcbiAgQElucHV0KClpc01vYmlsZUFwcDtcbiAgQElucHV0KClkZXNpZ2luYXRpb247XG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gdHJ1ZVxuICByZXF1ZXN0VXRpbDogYW55XG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbjtcbiAgcm9sZWFjdGl2aXR5U3VtbWFyaWVzOiBhbnlcbiAgYWN0aXZpdHlTdW1tYXJpZXM6IGFueVxuICBjb21wZXRlbmN5UHJvZ3Jlc3NcbiAgbG9hZGluZyA9IGZhbHNlXG4gIGFjb3JkaWFuTG9hZGluZyA9IGZhbHNlXG4gIHByb2ZpbGVEYXRhOiBhbnlcbiAgYXNzZXNzbWVudERhdGE6IGFueVxuICBidG5UeXBlID0gW107XG4gIHJvbGVJZDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFjdGl2ZVN1bW1hcnlTZXJ2aWNlOiBBY3RpdmVTdW1tYXJ5U2VydmljZSxcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwdWJsaWMgZ2FpbmVkU2VydmljZTogR2FpbmVkU2VydmljZSxcbiAgICBwdWJsaWMgc2VsZkFzc2Vzc21lbnRTZXJ2aWNlOiBTZWxmQXNzZXNzbWVudFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMucmVxdWVzdFV0aWwgPSBuZXcgUmVxdWVzdFV0aWwoKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZXNpZ25hdGlvbk1hcCh0aGlzLmRlc2lnaW5hdGlvbilcbiAgICB0aGlzLmdldFByb2dyZXNzKClcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnBpcGUobWVyZ2VNYXAoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLnByb2ZpbGVEYXRhID0gcmVzLnByb2ZpbGVEZXRhaWxzLnByb2ZpbGVSZXFcbiAgICAgIGlmKCF0aGlzLmxhbmd1YWdlKXtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICB9XG4gICAgICBpZighdGhpcy5kZXNpZ2luYXRpb24pe1xuICAgICAgICB0aGlzLmRlc2lnaW5hdGlvbiA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJvZmlsZVJlcSEucHJvZmVzc2lvbmFsRGV0YWlsc1swXSEuZGVzaWduYXRpb247XG4gICAgICAgIHRoaXMuZGVzaWduYXRpb25NYXAodGhpcy5kZXNpZ2luYXRpb24pXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb2ZpbGVEYXRhKSB7XG4gICAgICAgIGNvbnN0IGdldEFjdGl2aXR5ID0gdGhpcy5nZXRSb2xlc1dpc2VDb21wZXRlbmN5RGF0YSgpXG4gICAgICAgIGNvbnN0IGdldENvdXJzZXMgPSB0aGlzLmdldENvbXBldGVuY3lDb3Vyc2UoKSAgICAgICAgXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbZ2V0QWN0aXZpdHkgLCBnZXRDb3Vyc2VzIF0pO1xuICAgICAgfVxuICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhyZXMpXG4gICAgICBsZXQgcm9sZXNDb21wZXRlbmN5RGF0YSA9ICBfLmZpbmQocmVzWzBdLnJlc3BvbnNlLCB7J3Bvc2l0aW9uJzogdGhpcy5kZXNpZ2luYXRpb24gfSlcbiAgICAgIGNvbnNvbGUubG9nKHJvbGVzQ29tcGV0ZW5jeURhdGEpXG4gICAgICB0aGlzLmFzc2Vzc21lbnREYXRhID0gdGhpcy5yZXF1ZXN0VXRpbC5mb3JtYXRlZENvbXBldGVuY3lDb3Vyc2VEYXRhKHJlc1sxXSk7XG4gICAgICB0aGlzLmdldEFzc2Vzc21lbnRCdG5UeXBlKHRoaXMuYXNzZXNzbWVudERhdGEpO1xuICAgICAgY29uc3QgZm9ybWF0ZWRSZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uKHJvbGVzQ29tcGV0ZW5jeURhdGEsIHRoaXMubGFuZ3VhZ2UsIHRoaXMuYXNzZXNzbWVudERhdGEsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzKVxuICAgICAgLy8gY29uc3QgZm9ybWF0ZWRSZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uKHJvbGVzQ29tcGV0ZW5jeURhdGEsIHRoaXMubGFuZ3VhZ2UsIHRoaXMuYXNzZXNzbWVudERhdGEsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXMgPSBmb3JtYXRlZFJlc3BvbnNlXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgY29uc29sZS5sb2coXCJkYXRhIGFmdGVyIHRoZSBhY3Rpdml0eVwiLCB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcylcbiAgICAgXG4gICAgfSlcbiAgICBjb25zb2xlLmxvZyhcImRhdGEgYWZ0ZXIgdGhlIGFjdGl2aXR5XCIsIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzKVxuICB9XG5cbiAgZ2V0UHJvZ3Jlc3MoKSB7XG4gICAgdGhpcy5nYWluZWRTZXJ2aWNlLmNvbXBldGVuY3lEYXRhJC5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLmNvbXBldGVuY3lQcm9ncmVzcyA9IHJlc1xuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIGdldEFzc2Vzc21lbnRCdG5UeXBlKGRhdGEpe1xuICAgIF8uZm9yRWFjaCggZGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QXNzZXNzbWVudFByb2dyZXNzKHZhbHVlKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICBpZiAocmVzLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCA+IDAgJiYgdmFsdWUuY2hpbGRDb250ZW50ID09PSByZXMucmVzdWx0LmNvbnRlbnRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdHlwZSA9ICcnXG4gICAgICAgICAgICAgICAgICAgIF8uZm9yRWFjaChyZXMucmVzdWx0LmNvbnRlbnRMaXN0LCAoaXRlbTphbnkpPT57XG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbS5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gMTAwICYmIGl0ZW0uY29tcGxldGlvblBlcmNlbnRhZ2UgIT09IDAgKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnRE9ORSdcbiAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnUkVTVU1FJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgICAgIGNvdXJzZUlkOiB2YWx1ZS5jb250ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGVuY3lJZDogdmFsdWUuY29tcGV0ZW5jeUlELFxuICAgICAgICAgICAgICAgICAgICAgIGNvdXJzZUlkOiB2YWx1ZS5jb250ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ1JFU1VNRSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgICAgIGlmKHJlcy5yZXN1bHQuY29udGVudExpc3QubGVuZ3RoID09IDAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idG5UeXBlLnB1c2goe1xuICAgICAgICAgICAgICAgICAgY29tcGV0ZW5jeUlkOiB2YWx1ZS5jb21wZXRlbmN5SUQsXG4gICAgICAgICAgICAgICAgICBjb3Vyc2VJZDogdmFsdWUuY29udGVudElkLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ1NUQVJUJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgfVxuICBnZXRBc3Nlc3NtZW50UHJvZ3Jlc3MoZGF0YSkge1xuICAgIGNvbnN0IHJlcWJvZHkgPSB7XG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIHVzZXJJZDogdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkLFxuICAgICAgICBiYXRjaElkOiBkYXRhLmJhdGNoSWQsXG4gICAgICAgIGNvdXJzZUlkOiBkYXRhLmNvbnRlbnRJZCxcbiAgICAgICAgY29udGVudElkczogW10sXG4gICAgICAgIGZpZWxkczogWydwcm9ncmVzc2RldGFpbHMnXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZWxmQXNzZXNzbWVudFNlcnZpY2UuZmV0Y2hQcmdyZXNzRGV0YWlscyhyZXFib2R5KVxuICB9XG5cbiAgZ2V0VXNlckRldGFpbHMoKSB7XG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIGlkOiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuaWRcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0VXNlcmRldGFpbHNGcm9tUmVnaXN0cnkocmVxQm9keSlcbiAgfVxuXG4gIGdldFJvbGVzV2lzZUNvbXBldGVuY3lEYXRhKCkge1xuICAgIGxldCBkZXNpZ25hdGlvbjogYW55XG4gICAgaWYgKHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlscykge1xuICAgICAgZGVzaWduYXRpb24gPSB0aGlzLnByb2ZpbGVEYXRhLnByb2Zlc3Npb25hbERldGFpbHNbMF0uZGVzaWduYXRpb25cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Um9sZXNXaXNlQ29tcGV0ZW5jeSgpXG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2aXR5QnlSb2xlKGlkKSB7XG4gICAgbGV0IGRlc2lnbmF0aW9uOiBhbnlcbiAgICBpZiAodGhpcy5wcm9maWxlRGF0YS5wcm9mZXNzaW9uYWxEZXRhaWxzKSB7XG4gICAgICBkZXNpZ25hdGlvbiA9IHRoaXMucHJvZmlsZURhdGEucHJvZmVzc2lvbmFsRGV0YWlsc1swXS5kZXNpZ25hdGlvblxuICAgIH1cbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIFwiaXNEZXRhaWxcIjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGlkOiBpZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0QWN0aXZpdHlCeUlkKHJlcUJvZHkpXG4gIH1cblxuICBwcml2YXRlIGRlc2lnbmF0aW9uTWFwKGRlc2lnbmF0aW9uOiBzdHJpbmcpIHtcbiAgICBsZXQgcG9zaXRpb25NYXAgOmFueVxuICAgIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0Um9sZXNNYXBwaW5nKCkucGlwZSgpLnN1YnNjcmliZSgocmVzOmFueSk9PntcbiAgICAgIGNvbnNvbGUubG9nKHJlcylcbiAgICAgIHBvc2l0aW9uTWFwID0gcmVzLnJlc3BvbnNlXG4gICAgICBpZiAocG9zaXRpb25NYXAuaGFzT3duUHJvcGVydHkoZGVzaWduYXRpb24pKSB7XG4gICAgICAgIHRoaXMucm9sZUlkID0gcG9zaXRpb25NYXBbZGVzaWduYXRpb25dXG4gICAgICAgIHJldHVybiB0aGlzLnJvbGVJZFxuICAgICAgfWVsc2VcbiAgICAgIHRoaXMucm9sZUlkID0gMVxuICAgICAgICByZXR1cm4gMVxuICAgIH0sXG4gICAgKGVycik9PntcbiAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKVxuICAgICAgcG9zaXRpb25NYXAgPSBlcnJcbiAgICAgIGlmIChwb3NpdGlvbk1hcC5oYXNPd25Qcm9wZXJ0eShkZXNpZ25hdGlvbikpIHtcbiAgICAgICAgdGhpcy5yb2xlSWQgPSBwb3NpdGlvbk1hcFtkZXNpZ25hdGlvbl1cbiAgICAgICAgcmV0dXJuIHRoaXMucm9sZUlkXG4gICAgICB9ZWxzZVxuICAgICAgdGhpcy5yb2xlSWQgPSAxXG4gICAgICAgIHJldHVybiAxXG4gICAgfSxcbiAgICBcblxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3Rpdml0eUJ5Um9sZUlkKGlkOiBhbnkpIHsgXG4gICAgdGhpcy5hY29yZGlhbkxvYWRpbmcgPSB0cnVlXG4gICAgY29uc3QgaW5kZXggPSBfLmZpbmRJbmRleCh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllcywgeyAnaWQnOiBpZCB9KVxuICAgIHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddID0gW11cbiAgICB0aGlzLmdldEVudGl0eUJ5SWQoaWQpLnBpcGUobWVyZ2VNYXAoKHJlcykgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRBY3Rpdml0aXR5QnlSb2xlSWQocmVzLCB0aGlzLmxhbmd1YWdlKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10gPSByZXNwb25lXG4gICAgICBjb25zdCBjaWRBcnIgPSBfLm1hcCh0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2FjdGl2aXRpZXMnXSwgJ2NpZCcpXG4gICAgICBsZXQgY2FsbHMgPSBbXTtcbiAgICAgIF8uZm9yRWFjaChjaWRBcnIsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNhbGxzLnB1c2godGhpcy5nZXRFbnRpdHlCeUlkKHZhbHVlKSlcbiAgICAgIH0pXG4gICAgICB0aGlzLmFjb3JkaWFuTG9hZGluZyA9IGZhbHNlXG5cbiAgICAgIHJldHVybiBmb3JrSm9pbihbLi4uY2FsbHMgXSlcbiAgICB9KSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLnJlcXVlc3RVdGlsLmZvcm1hdGVkQ29tcGV0ZW5jeShyZXMsIHRoaXMuY29tcGV0ZW5jeVByb2dyZXNzLCB0aGlzLmxhbmd1YWdlLCB0aGlzLmFzc2Vzc21lbnREYXRhKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhY3Rpdml0aWVzJ10gPSBfLnZhbHVlcyhfLm1lcmdlKF8ua2V5QnkocmVzcG9uc2UsICdpZCcpLFxuICAgICAgICBfLmtleUJ5KHRoaXMucm9sZWFjdGl2aXR5U3VtbWFyaWVzW2luZGV4XVsnYWN0aXZpdGllcyddLCAnY2lkJykpKVxuXG4gICAgICB0aGlzLnJvbGVhY3Rpdml0eVN1bW1hcmllc1tpbmRleF1bJ2F2ZXJhZ2VQZXJjZW50YWdlJ10gPSBbXVxuICAgICAgbGV0IGNvbXBldGVuY3lMZW5ndGggPSB0aGlzLmdldEF2ZXJhZ2VwZXJjZW50YWdlKHJlc3BvbnNlKVxuICAgICAgdGhpcy5yb2xlYWN0aXZpdHlTdW1tYXJpZXNbaW5kZXhdWydhdmVyYWdlUGVyY2VudGFnZSddID0gY29tcGV0ZW5jeUxlbmd0aCAgICBcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICBnZXRFbnRpdHlCeUlkKGlkOiBhbnkpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIFwiaXNEZXRhaWxcIjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGlkOiBpZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3VtbWFyeVNlcnZpY2UuZ2V0QWN0aXZpdHlCeUlkKHJlcUJvZHkpXG4gIH1cbiAgZ2V0QXZlcmFnZXBlcmNlbnRhZ2UoZGF0YSkge1xuICAgIGxldCB0b3RhbExlbmd0aCA9IGRhdGEubGVuZ3RoXG4gICAgbGV0IHBlcmNlbnRhZ2UgPSBbXVxuICAgIGxldCB0b3RhbFBlcmNlbnQgPSAwXG4gICAgXy5mb3JFYWNoKGRhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBwZXJjZW50YWdlLnB1c2godmFsdWUuY29tcGxldGlvblBlcmNlbnRhZ2UpXG4gICAgfSlcbiAgICB0b3RhbFBlcmNlbnQgPSBfLnJvdW5kKF8uc3VtKHBlcmNlbnRhZ2UpIC8gdG90YWxMZW5ndGgpXG4gICAgcmV0dXJuIHRvdGFsUGVyY2VudFxuICB9XG5cbiAgZ2V0Q29tcGV0ZW5jeUNvdXJzZSgpIHtcbiAgICBsZXQgYXNzZXNzRGF0YTtcbiAgICBhc3Nlc3NEYXRhID0gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRDb21wZXRlbmN5Q291cnNlSWRlbnRpZmllcih0aGlzLmxhbmd1YWdlKVxuICAgIHJldHVybiBhc3Nlc3NEYXRhO1xuICB9XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZSkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZS51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==

@@ -49,3 +49,3 @@ import * as tslib_1 from "tslib";

selector: 'lib-competency-accordion',
template: "<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<ng-container *ngFor=\"let competency of competencyList; let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</ng-container>",
template: "<div class=\"competency-badge\" i18n>{{'COMPETENCIES' | translate}} :</div>\n<div *ngFor=\"let competency of (competencyList | removeDuplicatesPipe:['id', 'name']); let i = index; let last = last;\">\n <ng-container *ngIf=\"competency.competency\">\n <mat-accordion>\n <mat-expansion-panel>\n <mat-expansion-panel-header class=\"flex-between items-center w-full\" collapsedHeight=\"auto\"\n expandedHeight=\"auto\">\n <mat-panel-description class=\"panel-header-description\" (click)=\"$event.stopPropagation();\">\n <ng-container *ngIf=\"competency.competency\">\n <div class=\"flex flex-col\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"competency.completionPercentage == 100\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"competency.completionPercentage < 100\">\n <mat-progress-spinner diameter=\"20\" strokeWidth=\"2\" mode=\"determinate\"\n [value]=\"competency.completionPercentage\"></mat-progress-spinner>\n </ng-container>\n </div>\n <div class=\"competency-title\">{{ competency.competency }}</div>\n </div>\n <div class=\"flex flex-row gap-3 mt-3\">\n <ng-container *ngFor=\"let btn of assessBtnType\">\n <ng-container *ngIf=\"btn.courseId == competency?.assessmentData?.contentId\">\n <button\n *ngIf=\"btn.type === 'START'\"\n mat-button\n class=\"assess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'RESUME'\"\n mat-button\n class=\"reassess-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'RE-ASSESS' | translate}}\n </button>\n <button\n *ngIf=\"btn.type === 'DONE'\"\n mat-button\n disabled\n class=\"done-btn btn-small\"\n (click)=\"startSelfAssesment(competency.assessmentData)\"\n i18n\n >\n {{'DONE' | translate}}\n </button>\n </ng-container> \n </ng-container>\n \n <button class=\"btn-long\" i18n (click)=\"viewCourses(competency)\">{{'VIEW_COURSES' | translate}}</button>\n </div>\n </div>\n \n </ng-container>\n \n </mat-panel-description>\n </mat-expansion-panel-header>\n <!-- <lib-app-loader *ngIf=\"acordianLoading === true\"></lib-app-loader> -->\n <div class=\"expand-container\">\n <!-- list of levels -->\n <div class=\"Levels-badge\" i18n>{{'LEVELS' | translate}}</div>\n <ng-container *ngIf=\"competency.levelDescription !== ''; else manualLevel\">\n <ng-container *ngFor=\"let level of competency.levelDescription; let i = index\">\n <div class=\"flex flex-row gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\"> {{level.levelId}}. {{level.name}}</div>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #manualLevel>\n <ng-container *ngFor=\"let level of competency.levels; let i = index\">\n <div class=\"flex flex-row align-items-center gap-2\">\n <div>\n <ng-container *ngIf=\"level.achived\">\n <mat-icon class=\"circle-tick cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n <ng-container *ngIf=\"!level.achived\">\n <mat-icon class=\"non-progress cursor-pointer\">check_circle</mat-icon>\n </ng-container>\n </div>\n <div class=\"Levels-title\">{{ i + 1 }} : {{ level.name }}</div>\n </div>\n </ng-container>\n </ng-template>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n\n <hr class=\"mt-3 mb-3\" [ngClass]=\"{'d-none' : last}\" />\n </ng-container>\n</div>",
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.competency-badge{font-weight:400;font-size:14px;color:#1c5d95;padding:0 10px;margin-top:20px}.competency-title{font-size:16px;line-height:19px;letter-spacing:-.02em;color:var(--black)}.expand-container{padding:10px 10px 0}.Levels-badge{font-size:14px;color:#1c5d95;margin-bottom:5px}.circle-tick{display:flex;justify-content:center;align-items:center;color:#27ae60;font-size:18px!important}.non-progress{visibility:hidden}::ng-deep .mat-expansion-panel{box-shadow:none!important}.btn-long{border:1px solid #1c5d95;border-radius:50px;color:#1c5d95;background-color:inherit;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 25px;cursor:pointer}.btn-small{border-radius:50px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:3px 20px;border:none;cursor:pointer}.assess-btn{background:#1c5d95;color:#fff}.reassess-btn{background:#52ad9d;color:#fff}.done-btn{background-color:#bfbfbf;color:grey}:host ::ng-deep .mat-expansion-indicator{width:10%;display:flex;align-items:center;justify-content:center}"]

@@ -57,2 +57,2 @@ })

export { CompetencyAccordionComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb21wZXRlbmN5LWFjY29yZGlvbi9jb21wZXRlbmN5LWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QztJQUlFLHNDQUNVLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFTCwrQ0FBUSxHQUFSO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxrREFBVyxHQUFYLFVBQVksSUFBSTtRQUNmLG9DQUFvQztRQUVuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFBO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3BDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRTt3QkFDYixFQUFFLE9BQUk7d0JBQ04sRUFBRSxPQUFJO3dCQUNOLEVBQUUsT0FBSTt3QkFDTixFQUFFLE9BQUk7d0JBQ04sRUFBRSxPQUFJO3FCQUNWO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztnQkFDQyxtQkFBbUIsRUFBRSxPQUFPO2FBQzdCLENBQUMsQ0FBQTtTQUVIO0lBQ0gsQ0FBQztJQUNELHlEQUFrQixHQUFsQixVQUFtQixJQUFJO1FBQ3JCLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxDQUFDOztnQkEvQmlCLE1BQU07O0lBSmY7UUFBUixLQUFLLEVBQUU7d0VBQW9CO0lBQ25CO1FBQVIsS0FBSyxFQUFFO3dFQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTt1RUFBbUI7SUFIaEIsNEJBQTRCO1FBTHhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsOG5LQUFvRDs7U0FFckQsQ0FBQztPQUNXLDRCQUE0QixDQXFDeEM7SUFBRCxtQ0FBQztDQUFBLEFBckNELElBcUNDO1NBckNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbXBldGVuY3ktYWNjb3JkaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5QWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29tcGV0ZW5jeUxpc3Q6IGFueVxuICBASW5wdXQoKSBhc3Nlc3NtZW50RGF0YTogYW55XG4gIEBJbnB1dCgpIGFzc2Vzc0J0blR5cGU6IGFueVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKFwibGlzdFwiLHRoaXMuY29tcGV0ZW5jeUxpc3QpXG4gIH1cblxuICB2aWV3Q291cnNlcyhkYXRhKXtcbiAgIC8vIGNvbnNvbGUubG9nKFwidmlld2VyIGRhdGEgXCIsIGRhdGEpXG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IGlkID0gZGF0YS5pZCA/IGRhdGEuaWQgOiBkYXRhLmFzc2Vzc21lbnREYXRhLmNvbXBldGVuY3lJRFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL3NlYXJjaCddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IFtcbiAgICAgICAgICBgJHtpZH0tMWAsXG4gICAgICAgICAgYCR7aWR9LTJgLFxuICAgICAgICAgIGAke2lkfS0zYCxcbiAgICAgICAgICBgJHtpZH0tNGAsXG4gICAgICAgICAgYCR7aWR9LTVgXG4gICAgICAgIF0gLCBcbiAgICAgICAgY29tcGV0ZW5jeTogdHJ1ZSxcbiAgICAgICAgcmVkaXJlY3Q6ICdhcHAvdXNlci9jb21wZXRlbmN5J1xuICAgICAgfSxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICBcbiAgICB9XG4gIH1cbiAgc3RhcnRTZWxmQXNzZXNtZW50KGRhdGEpe1xuICAgIC8vIGNvbnNvbGUubG9nKFwicXVlcnkgZGF0YSBcIiwgZGF0YSlcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGFwcC91c2VyL3NlbGYtYXNzZXNzbWVudGBdLCB7IHF1ZXJ5UGFyYW1zOiBkYXRhIH0pIFxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb21wZXRlbmN5LWFjY29yZGlvbi9jb21wZXRlbmN5LWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QztJQUlFLHNDQUNVLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3BCLENBQUM7SUFFTCwrQ0FBUSxHQUFSO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxrREFBVyxHQUFYLFVBQVksSUFBSTtRQUNmLG9DQUFvQztRQUVuQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFBO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3BDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRTt3QkFDYixFQUFFLE9BQUk7d0JBQ04sRUFBRSxPQUFJO3dCQUNOLEVBQUUsT0FBSTt3QkFDTixFQUFFLE9BQUk7d0JBQ04sRUFBRSxPQUFJO3FCQUNWO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztnQkFDQyxtQkFBbUIsRUFBRSxPQUFPO2FBQzdCLENBQUMsQ0FBQTtTQUVIO0lBQ0gsQ0FBQztJQUNELHlEQUFrQixHQUFsQixVQUFtQixJQUFJO1FBQ3JCLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxDQUFDOztnQkEvQmlCLE1BQU07O0lBSmY7UUFBUixLQUFLLEVBQUU7d0VBQW9CO0lBQ25CO1FBQVIsS0FBSyxFQUFFO3dFQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTt1RUFBbUI7SUFIaEIsNEJBQTRCO1FBTHhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsb3BLQUFvRDs7U0FFckQsQ0FBQztPQUNXLDRCQUE0QixDQXFDeEM7SUFBRCxtQ0FBQztDQUFBLEFBckNELElBcUNDO1NBckNZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbXBldGVuY3ktYWNjb3JkaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBldGVuY3ktYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21wZXRlbmN5QWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29tcGV0ZW5jeUxpc3Q6IGFueVxuICBASW5wdXQoKSBhc3Nlc3NtZW50RGF0YTogYW55XG4gIEBJbnB1dCgpIGFzc2Vzc0J0blR5cGU6IGFueVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKFwibGlzdFwiLHRoaXMuY29tcGV0ZW5jeUxpc3QpXG4gIH1cblxuICB2aWV3Q291cnNlcyhkYXRhKXtcbiAgIC8vIGNvbnNvbGUubG9nKFwidmlld2VyIGRhdGEgXCIsIGRhdGEpXG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgbGV0IGlkID0gZGF0YS5pZCA/IGRhdGEuaWQgOiBkYXRhLmFzc2Vzc21lbnREYXRhLmNvbXBldGVuY3lJRFxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL3NlYXJjaCddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IFtcbiAgICAgICAgICBgJHtpZH0tMWAsXG4gICAgICAgICAgYCR7aWR9LTJgLFxuICAgICAgICAgIGAke2lkfS0zYCxcbiAgICAgICAgICBgJHtpZH0tNGAsXG4gICAgICAgICAgYCR7aWR9LTVgXG4gICAgICAgIF0gLCBcbiAgICAgICAgY29tcGV0ZW5jeTogdHJ1ZSxcbiAgICAgICAgcmVkaXJlY3Q6ICdhcHAvdXNlci9jb21wZXRlbmN5J1xuICAgICAgfSxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIH0pXG4gICAgICBcbiAgICB9XG4gIH1cbiAgc3RhcnRTZWxmQXNzZXNtZW50KGRhdGEpe1xuICAgIC8vIGNvbnNvbGUubG9nKFwicXVlcnkgZGF0YSBcIiwgZGF0YSlcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGFwcC91c2VyL3NlbGYtYXNzZXNzbWVudGBdLCB7IHF1ZXJ5UGFyYW1zOiBkYXRhIH0pIFxuICB9XG59XG4iXX0=

@@ -93,5 +93,5 @@ import * as tslib_1 from "tslib";

selector: 'lib-gained-comptency-card',
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex\">\n <ng-container *ngIf=\"log.header\">\n <span class=\"\"\n i18n>{{'LEVEL' | translate}} </span> <span> {{ log.level }}: {{ log.header }}</span\n >\n <span class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n",
template: "<lib-app-loader *ngIf=\"loading === true\"></lib-app-loader>\n<ng-container *ngFor=\"let proficency of gainedproficencyData; let i = index\">\n <div class=\"card-container example-container container-balanced\">\n <ng-container *ngIf=\"proficency?.title\">\n <div class=\"title\">{{ proficency?.title }}</div>\n </ng-container>\n\n <div class=\"levelsTitle\" i18n>{{'LEVELS' | translate}}</div>\n <mat-accordion>\n <mat-expansion-panel\n [expanded]=\"i === selectedProficiencyIndex\"\n class=\"w-full panel\"\n hideToggle\n >\n <mat-expansion-panel-header\n class=\"flex-between items-center panel-header w-full\"\n >\n <mat-panel-description class=\"panel-header-description\">\n <ng-container\n *ngFor=\"let proficiencyLevel of proficency?.proficiencyLevels\"\n >\n <ng-container *ngIf=\"proficiencyLevel.selected; else addLevel\">\n <div\n (click)=\"\n $event.stopPropagation();\n selectLevel(i, proficiencyLevel.displayLevel)\n \"\n class=\"level mb-1\"\n [ngStyle]=\"{ 'background-color': proficiencyLevel.color }\"\n [ngClass]=\"{\n 'individual-select':\n selectedProficiencyIndex === i &&\n selectedDisplayLevel === proficiencyLevel?.displayLevel\n }\"\n >\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-container>\n <ng-template #addLevel>\n <div (click)=\"$event.stopPropagation()\" class=\"level mb-1\">\n {{ proficiencyLevel?.displayLevel }}\n </div>\n </ng-template>\n </ng-container>\n <div\n class=\"level mb-1\"\n (click)=\"$event.stopPropagation(); selectLevel(i, -1)\"\n >\n <mat-icon\n [ngClass]=\"{ arrowReverse: selectedProficiencyIndex === i }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <div>\n <span class=\"log-header\" i18n>{{'LOG' | translate}}</span>\n <ng-container\n *ngFor=\"let log of proficency?.logs; let logIndex = index; let last = last; \"\n >\n <ng-container\n *ngIf=\"\n selectedDisplayLevel === -1 ||\n (selectedProficiencyIndex === i &&\n selectedDisplayLevel === log.level)\n \"\n >\n <div class=\"log\" [ngClass]=\"{'border-bottom-0': last}\">\n <div class=\"flex w-full\">\n <ng-container *ngIf=\"log.header\">\n <div class=\"log-level-id\"\n i18n>{{'LEVEL' | translate}}{{ log.level }} </div> \n <div class=\"log-level-details\"> {{ log.header }}</div\n >\n <div class=\"log-date mr-2\">{{\n log?.date | date : \"dd/MM/yyyy\"\n }}</div>\n </ng-container>\n </div>\n <ng-container *ngIf=\"log.description\">\n <div\n class=\"mt-2\"\n [ngClass]=\"{ 'hide-content': !log.keyboardArrowUp }\"\n >\n {{ log.description }}\n </div>\n <div class=\"justify-end\">\n <mat-icon\n (click)=\"log.keyboardArrowUp = !log.keyboardArrowUp\"\n class=\"mr-3\"\n [ngClass]=\"{ arrowReverse: log.keyboardArrowUp }\"\n >keyboard_arrow_down</mat-icon\n >\n </div>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n </div>\n <!-- <hr> -->\n</ng-container>\n",
encapsulation: ViewEncapsulation.None,
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]
styles: [":root{font-size:16px;--blue:#1C5D95;--yellow:#FFF4DF;--teal:#A4DFCA;--black:#000000;--white:#ffffff;--light-gray:#eff6fc;--grey-100:#DFEDF9;--gray-200:#8E8E8E;--gray-300:#989898;--gray-400:#808080;--grey-500:#919191;--yellow-500:#FFFBB0;--blue-500:#7CB5E6}.button-primary{background-color:var(--blue)!important;border-radius:50px;gap:8px;color:var(--white)!important;border:none}.mat-primary-background{padding:9px 40px;width:310px;cursor:pointer}.date{font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-300)}.justify-end{display:flex;justify-content:flex-end}.card-container{background:var(--white);border-bottom:1px solid #ddd;padding:5px 4px}.title{font-size:24px;line-height:29px;letter-spacing:-.02em;margin-bottom:18px}.levelsTitle{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.panel{box-shadow:0 0!important;padding:1px 3px 1px 0}.panel-header{padding:0!important;background:0 0!important}.panel-header-description{margin:0!important;padding:1px}.arrowReverse{transform:rotateX(180deg)}.level{width:47px;max-width:16.6%;height:36px;display:flex;justify-content:center;align-items:center;box-shadow:0 0 1px #000040}.log-header{font-size:14px;line-height:24px;letter-spacing:-.02em;color:var(--black)}.log{font-style:italic;font-size:14px;line-height:16px;letter-spacing:-.02em;color:var(--gray-400);border-bottom:1px solid #ddd;padding-bottom:9px;margin-top:10px}.log-level-details,.log-level-id{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.log-date{font-style:normal;font-size:12px;line-height:14px;letter-spacing:-.02em;color:var(--gray-400);margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}::ng-deep .mat-expansion-panel-body{padding:0!important}::ng-deep .mat-expansion-panel-header{border-bottom:none!important}:host ::ng-deep .mat-content{display:unset!important}.hide-content{display:none}.individual-select{border:2px solid #1c5d95}"]
})

@@ -102,2 +102,2 @@ ], GainedComptencyCardComponent);

export { GainedComptencyCardComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvY29tcGV0ZW5jeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkL2dhaW5lZC1jb21wdGVuY3ktY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFPdkU7SUFRRSwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBRW5CLHNDQUNTLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLG9CQUEwQztRQUYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWG5ELFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw2QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5Qix5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQVV4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVELCtDQUFRLEdBQVI7UUFBQSxpQkEwQkM7UUF6QkMsSUFBSSxDQUFBO1FBQ0osSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFDaEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FDN0IsVUFBQyxHQUFRO2dCQUNQLEtBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFlLENBQUMsV0FBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JHLENBQUMsQ0FBQyxDQUFBO1NBQ0w7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNuQixJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDckMsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFDOUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsR0FBRztZQUNoRCxJQUFNLFFBQVEsR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN4SCxLQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFBO1lBQ3BDLDZDQUE2QztZQUM3QyxJQUFJLEtBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDN0IsSUFBSSxLQUFHLEdBQUcsRUFBRSxDQUFBO2dCQUNaLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSSxDQUFDLG9CQUFvQixFQUFFLFVBQUMsVUFBZTtvQkFDbkQsSUFBSSxVQUFVLENBQUMsbUJBQW1CLEVBQUU7d0JBQ2xDLEtBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUE7cUJBQ3pDO2dCQUNILENBQUMsQ0FBQyxDQUFBO2dCQUNGLEtBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFHLENBQUMsQ0FBQTthQUM1QztZQUNELEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3RCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHFEQUFjLEdBQWQ7UUFDRSxJQUFNLE9BQU8sR0FBRztZQUNkLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUU7U0FDdEMsQ0FBQTtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RFLENBQUM7SUFFTyx5REFBa0IsR0FBMUI7UUFDRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUMxQyxJQUFNLE9BQU8sR0FBRztZQUNkLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsWUFBWTthQUN6QjtTQUNGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFTyxtREFBWSxHQUFwQjtRQUNFLElBQU0sT0FBTyxHQUFHO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxZQUFZO2FBQ3JCO1NBQ0YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELGtEQUFXLEdBQVgsVUFBWSx3QkFBd0IsRUFBRSxvQkFBb0I7UUFDeEQsSUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEtBQUssQ0FBQyxDQUFDO1lBQzlGLG9CQUFvQixLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQTtTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFBO0lBQ2xELENBQUM7O2dCQXRFdUIsYUFBYTtnQkFDYixhQUFhO2dCQUNOLG9CQUFvQjs7SUFiM0M7UUFBUCxLQUFLLEVBQUU7a0VBQVM7SUFETiw0QkFBNEI7UUFOeEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyx3bElBQXFEO1lBRXJELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO09BQ1csNEJBQTRCLENBbUZ4QztJQUFELG1DQUFDO0NBQUEsQUFuRkQsSUFtRkM7U0FuRlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhaW5lZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWluZWQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0VXRpbCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtdXRpbCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBY3RpdmVTdW1tYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjdGl2ZS1zdW1tYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvZW50cnktbW9kdWxlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWluZWQtY29tcHRlbmN5LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR2FpbmVkQ29tcHRlbmN5Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIHJlcXVlc3RVdGlsOiBhbnlcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGdhaW5lZHByb2ZpY2VuY3lEYXRhOiBhbnlcbiAgc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gLTE7XG4gIHNlbGVjdGVkRGlzcGxheUxldmVsID0gLTE7XG4gIC8vIHB1YmxpYyBwcm9maWxlRGF0YTogYW55XG4gIC8vIGFwcExhbmd1YWdlOiBhbnlcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnYWluZWRTZXJ2aWNlOiBHYWluZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG5cbiAgKSB7XG4gICAgdGhpcy5yZXF1ZXN0VXRpbCA9IG5ldyBSZXF1ZXN0VXRpbCgpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzXG4gICAgaWYoIXRoaXMubGFuZ3VhZ2Upe1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICBjb25zdCBhbGxFbnRpdHkgPSB0aGlzLmdldEFsbEVudGl0eSgpXG4gICAgY29uc3QgdXNlclBhc3Nib29rID0gdGhpcy5nZXRBbGxVc2VyUGFzc2Jvb2soKVxuICAgIGZvcmtKb2luKFthbGxFbnRpdHksIHVzZXJQYXNzYm9va10pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KHJlc1swXS5yZXN1bHQucmVzcG9uc2UsIHJlc1sxXS5yZXN1bHQuY29udGVudCwgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEgPSByZXNwb25zZVxuICAgICAgLy8gdGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSA9IHRoaXMuZHVtbXlEYXRhXG4gICAgICBpZiAodGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSkge1xuICAgICAgICBsZXQgcmVzID0gW11cbiAgICAgICAgXy5mb3JFYWNoKHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEsIChjb21wZXRlbmN5OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoY29tcGV0ZW5jeS5jb21wZXRlbmN5U3RvcmVEYXRhKSB7XG4gICAgICAgICAgICByZXMucHVzaChjb21wZXRlbmN5LmNvbXBldGVuY3lTdG9yZURhdGEpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmdhaW5lZFNlcnZpY2UuY29tcGV0ZW5jeURhdGEubmV4dChyZXMpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyRGV0YWlscygpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgaWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRVc2VyZGV0YWlsc0Zyb21SZWdpc3RyeShyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxVc2VyUGFzc2Jvb2soKSB7XG4gICAgbGV0IGlkID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgIFwidHlwZU5hbWVcIjogXCJjb21wZXRlbmN5XCJcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmdhaW5lZFNlcnZpY2UuZmV0Y2hVc2VyUGFzc2Jvb2socmVxQm9keSxpZClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsRW50aXR5KCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBcInNlYXJjaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIkNvbXBldGVuY3lcIlxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuZ2FpbmVkU2VydmljZS5mZXRjaEFsbEVudGl0eShyZXFCb2R5KVxuICB9XG5cbiAgc2VsZWN0TGV2ZWwoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4LCBzZWxlY3RlZERpc3BsYXlMZXZlbCkge1xuICAgIGlmICgoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID09PSB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCkgJiYgKHNlbGVjdGVkRGlzcGxheUxldmVsID09PSAtMSB8fFxuICAgICAgc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPT09IHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCA9IC0xXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPSBzZWxlY3RlZERpc3BsYXlMZXZlbFxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvY29tcGV0ZW5jeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkL2dhaW5lZC1jb21wdGVuY3ktY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFPdkU7SUFRRSwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBRW5CLHNDQUNTLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLG9CQUEwQztRQUYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWG5ELFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyw2QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5Qix5QkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQVV4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVELCtDQUFRLEdBQVI7UUFBQSxpQkEwQkM7UUF6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QUFDLENBQUMsQ0FBQTtTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFBO0lBQ2xELENBQUM7O2dCQXRFdUIsYUFBYTtnQkFDYixhQUFhO2dCQUNOLG9CQUFvQjs7SUFiM0M7UUFBUCxLQUFLLEVBQUU7a0VBQVM7SUFETiw0QkFBNEI7UUFOeEMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyx1cElBQXFEO1lBRXJELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO09BQ1csNEJBQTRCLENBbUZ4QztJQUFELG1DQUFDO0NBQUEsQUFuRkQsSUFtRkM7U0FuRlksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhaW5lZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWluZWQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0VXRpbCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtdXRpbCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBY3RpdmVTdW1tYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FjdGl2ZS1zdW1tYXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BhYXN0cmlrYV9ucG1qcy9jb21wdGVuY3kvZW50cnktbW9kdWxlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWluZWQtY29tcHRlbmN5LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2FpbmVkLWNvbXB0ZW5jeS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR2FpbmVkQ29tcHRlbmN5Q2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpbGFuZ3VhZ2U7XG4gIHJlcXVlc3RVdGlsOiBhbnlcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHBhbmVsT3BlblN0YXRlOiBCb29sZWFuID0gZmFsc2U7XG4gIGdhaW5lZHByb2ZpY2VuY3lEYXRhOiBhbnlcbiAgc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gLTE7XG4gIHNlbGVjdGVkRGlzcGxheUxldmVsID0gLTE7XG4gIC8vIHB1YmxpYyBwcm9maWxlRGF0YTogYW55XG4gIC8vIGFwcExhbmd1YWdlOiBhbnlcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnYWluZWRTZXJ2aWNlOiBHYWluZWRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHB1YmxpYyBhY3RpdmVTdW1tYXJ5U2VydmljZTogQWN0aXZlU3VtbWFyeVNlcnZpY2UsXG5cbiAgKSB7XG4gICAgdGhpcy5yZXF1ZXN0VXRpbCA9IG5ldyBSZXF1ZXN0VXRpbCgpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzXG4gICAgaWYoIXRoaXMubGFuZ3VhZ2Upe1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZSA9IHJlcy5wcm9maWxlRGV0YWlscyEucHJlZmVyZW5jZXMgPyByZXMucHJvZmlsZURldGFpbHMhLnByZWZlcmVuY2VzIS5sYW5ndWFnZSA6ICdlbic7XG4gICAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICBjb25zdCBhbGxFbnRpdHkgPSB0aGlzLmdldEFsbEVudGl0eSgpXG4gICAgY29uc3QgdXNlclBhc3Nib29rID0gdGhpcy5nZXRBbGxVc2VyUGFzc2Jvb2soKVxuICAgIGZvcmtKb2luKFthbGxFbnRpdHksIHVzZXJQYXNzYm9va10pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMucmVxdWVzdFV0aWwuZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KHJlc1swXS5yZXN1bHQucmVzcG9uc2UsIHJlc1sxXS5yZXN1bHQuY29udGVudCwgdGhpcy5sYW5ndWFnZSlcbiAgICAgIHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEgPSByZXNwb25zZVxuICAgICAgLy8gdGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSA9IHRoaXMuZHVtbXlEYXRhXG4gICAgICBpZiAodGhpcy5nYWluZWRwcm9maWNlbmN5RGF0YSkge1xuICAgICAgICBsZXQgcmVzID0gW11cbiAgICAgICAgXy5mb3JFYWNoKHRoaXMuZ2FpbmVkcHJvZmljZW5jeURhdGEsIChjb21wZXRlbmN5OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoY29tcGV0ZW5jeS5jb21wZXRlbmN5U3RvcmVEYXRhKSB7XG4gICAgICAgICAgICByZXMucHVzaChjb21wZXRlbmN5LmNvbXBldGVuY3lTdG9yZURhdGEpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmdhaW5lZFNlcnZpY2UuY29tcGV0ZW5jeURhdGEubmV4dChyZXMpXG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyRGV0YWlscygpIHtcbiAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgaWQ6IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKS5pZFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdW1tYXJ5U2VydmljZS5nZXRVc2VyZGV0YWlsc0Zyb21SZWdpc3RyeShyZXFCb2R5KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxVc2VyUGFzc2Jvb2soKSB7XG4gICAgbGV0IGlkID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmlkXG4gICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgIFwidHlwZU5hbWVcIjogXCJjb21wZXRlbmN5XCJcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmdhaW5lZFNlcnZpY2UuZmV0Y2hVc2VyUGFzc2Jvb2socmVxQm9keSxpZClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsRW50aXR5KCkge1xuICAgIGNvbnN0IHJlcUJvZHkgPSB7XG4gICAgICBcInNlYXJjaFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIkNvbXBldGVuY3lcIlxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuZ2FpbmVkU2VydmljZS5mZXRjaEFsbEVudGl0eShyZXFCb2R5KVxuICB9XG5cbiAgc2VsZWN0TGV2ZWwoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4LCBzZWxlY3RlZERpc3BsYXlMZXZlbCkge1xuICAgIGlmICgoc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID09PSB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCkgJiYgKHNlbGVjdGVkRGlzcGxheUxldmVsID09PSAtMSB8fFxuICAgICAgc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPT09IHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZmljaWVuY3lJbmRleCA9IC0xXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4ID0gc2VsZWN0ZWRQcm9maWNpZW5jeUluZGV4XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREaXNwbGF5TGV2ZWwgPSBzZWxlY3RlZERpc3BsYXlMZXZlbFxuICB9XG59XG4iXX0=

@@ -33,3 +33,3 @@ import * as tslib_1 from "tslib";

'levels': _this.getLevels(_.get(child, 'id'), progrssData, lang),
'competency': lang == 'hi' ? _this.getHiName(value) : _.get(child, 'name'),
'competency': lang == 'hi' ? _this.getHiName(child) : _.get(child, 'name'),
'id': _.get(child, 'id'),

@@ -52,3 +52,3 @@ 'lastLevel': _this.getheighestLevel(_.get(child, 'id'), progrssData),

if (_.some(childrenActivities, 'id')) {
return activitiesResult.concat(_.uniqBy(childrenActivities, 'id') && _.uniqBy(childrenActivities, 'cid'));
return activitiesResult.concat(childrenActivities);
}

@@ -423,5 +423,6 @@ else {

if (data.batches) {
_.forEach(data.batches, function (value) {
batchId = _.get(value, 'batchId');
});
batchId = data.batches[0].batchId;
// _.forEach(data.batches, (value: any) => {
// batchId = _.get(value, 'batchId')
// })
}

@@ -433,2 +434,2 @@ return batchId;

export { RequestUtil };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsic2VydmljZXMvcmVxdWVzdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQjtJQUFBO1FBQUEsaUJBdWRDO1FBdGRDLHVCQUFrQixHQUFHLFVBQUMsSUFBUztZQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUE7YUFDWjtRQUVILENBQUMsQ0FBQTtRQUNELGdDQUEyQixHQUFHLFVBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVztZQUM5RSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRCxrQ0FBa0M7WUFFbEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQUMsSUFBSTtvQkFDekIsSUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsSUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFDckMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBQyxnQkFBZ0IsRUFBRSxLQUFLO3dCQUMxRCxJQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDL0IsSUFBTSxZQUFZLEdBQUcsQ0FB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QUFHLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU07d0JBQ2pELGNBQWMsRUFBRSxLQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztxQkFFOUQsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQyxDQUFBO2FBRUg7U0FHRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx1Q0FBaUIsR0FBakIsVUFBa0IsVUFBZTtRQUMvQixJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFBO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGtDQUFZLEdBQVosVUFBYSxJQUFJO1FBQ2YsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBQyxLQUFVO2dCQUNqQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDbkMsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUF2ZEQsSUF1ZEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaC1lcyc7XG5leHBvcnQgY2xhc3MgUmVxdWVzdFV0aWwge1xuICBmb3JtYXRlZEFjdGl2aXRpZXMgPSAoZGF0YTogYW55KSA9PiB7XG4gICAgaWYgKCFfLmlzRW1wdHkoZGF0YSkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gIH1cbiAgZm9ybWF0ZWRBY3Rpdml0aXR5QnlQb3N0aW9uID0gKGRhdGE6IGFueSwgbGFuZzogYW55LCBhc3Nlc3NtZW50RGF0YSwgcHJvZ3Jzc0RhdGEpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgbGV0IGFjdGl2aXR5TWFzdGVyRGF0YSA9IF8uZ2V0KGRhdGEsICdhY3Rpdml0eScpO1xuICAgIC8vY29uc29sZS5sb2coYWN0aXZpdHlNYXN0ZXJEYXRhKTtcblxuICAgIGlmIChfLmdldChkYXRhLCAncm9sZXMnKSkge1xuICAgICAgXy5mb3JFYWNoKGRhdGEucm9sZXMsIChyb2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGVPYmplY3QgPSBfLnZhbHVlcyhyb2xlKVswXTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSByb2xlT2JqZWN0LmNoaWxkcmVuO1xuICAgICAgICBsZXQgYWN0aXZpdGllcyA9IF8ucmVkdWNlKGNoaWxkcmVuLCAoYWN0aXZpdGllc1Jlc3VsdCwgdmFsdWUpID0+IHtcbiAgICAgICAgICBjb25zdCBjaWQgPSBfLmdldCh2YWx1ZSwgJ2lkJyk7XG4gICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gXy5maWx0ZXIoYWN0aXZpdHlNYXN0ZXJEYXRhLCAob2JqKSA9PiBfLmhhcyhvYmosIGNpZCkpO1xuICAgICAgICAgIC8vY29uc29sZS5sb2coZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuQWN0aXZpdGllcyA9IF8uZmxhdE1hcChmaWx0ZXJlZERhdGEsIG9iaiA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhY2hpbGRyZW4gPSBfLmdldChvYmosIGNpZCArICcuY2hpbGRyZW4nKTtcbiAgICAgICAgICAgLy8gY29uc29sZS5sb2coZmlsdGVyRGF0YWNoaWxkcmVuLmxlbmd0aCA+IDApXG4gICAgICAgICAgICBpZiAoZmlsdGVyRGF0YWNoaWxkcmVuLmxlbmd0aCA+IDAgIHx8IE9iamVjdC5rZXlzKGZpbHRlckRhdGFjaGlsZHJlbikubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICByZXR1cm4gXy5tYXAoZmlsdGVyRGF0YWNoaWxkcmVuLCBjaGlsZCA9PiAoe1xuICAgICAgICAgICAgICAgICd0aXRsZSc6IGxhbmcgPT0gJ2hpJyA/IHRoaXMuZ2V0SGlOYW1lKHZhbHVlKSA6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgICAgICdjaWQnOiBfLmdldCh2YWx1ZSwgJ2lkJyksXG4gICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgICAgICdjb2RlJzogXy5nZXQodmFsdWUuYWRkaXRpb25hbFByb3BlcnRpZXMsICdDb2RlJyksXG4gICAgICAgICAgICAgICAgJ2xldmVscyc6IHRoaXMuZ2V0TGV2ZWxzKF8uZ2V0KGNoaWxkLCAnaWQnKSwgcHJvZ3Jzc0RhdGEsIGxhbmcpLFxuICAgICAgICAgICAgICAgICdjb21wZXRlbmN5JzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQoY2hpbGQsICduYW1lJyksXG4gICAgICAgICAgICAgICAgJ2lkJzogXy5nZXQoY2hpbGQsICdpZCcpLFxuICAgICAgICAgICAgICAgICdsYXN0TGV2ZWwnOiB0aGlzLmdldGhlaWdoZXN0TGV2ZWwoXy5nZXQoY2hpbGQsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgICAgICAgJ2NvbXBsZXRpb25QZXJjZW50YWdlJzogdGhpcy5nZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoXy5nZXQoY2hpbGQsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgICAgICAgJ2xldmVsRGVzY3JpcHRpb24nOiBfLmdldChjaGlsZC5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJykgPyB0aGlzLmdldExldmVsRGVzY3JpcHRpb24oXy5nZXQoY2hpbGQuYWRkaXRpb25hbFByb3BlcnRpZXMsICdjb21wZXRlbmN5TGV2ZWxEZXNjcmlwdGlvbicpLCBwcm9ncnNzRGF0YSwgXy5nZXQoY2hpbGQsICdpZCcpLCBsYW5nKSA6ICcnLFxuICAgICAgICAgICAgICAgICdhc3Nlc3NtZW50RGF0YSc6IHRoaXMuc2V0QXNzZXNzbWVudERhdGEoXy5nZXQoY2hpbGQsICdpZCcpLCBhc3Nlc3NtZW50RGF0YSlcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFt7XG4gICAgICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgICAgICAgJ2NpZCc6IF8uZ2V0KHZhbHVlLCAnaWQnKSxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBfLmdldCh2YWx1ZSwgJ2Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAgICAgfV07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoXy5zb21lKGNoaWxkcmVuQWN0aXZpdGllcywgJ2lkJykpIHtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXRpZXNSZXN1bHQuY29uY2F0KF8udW5pcUJ5KGNoaWxkcmVuQWN0aXZpdGllcywgJ2lkJykgJiYgXy51bmlxQnkoY2hpbGRyZW5BY3Rpdml0aWVzLCAnY2lkJykgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXRpZXNSZXN1bHQuY29uY2F0KCBfLnVuaXFCeShjaGlsZHJlbkFjdGl2aXRpZXMsICdjaWQnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgLy9jb25zb2xlLmxvZyhhY3Rpdml0aWVzKTtcblxuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ3JvbGVzJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUocm9sZU9iamVjdCkgOiBfLmdldChyb2xlT2JqZWN0LCAnbmFtZScpLFxuICAgICAgICAgICdpZCc6IF8uZ2V0KHJvbGVPYmplY3QsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHJvbGVPYmplY3QsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdhdmVyYWdlUGVyY2VudGFnZSc6IHRoaXMuZ2V0QXZlcmFnZXBlcmNlbnRhZ2UoYWN0aXZpdGllcyksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldChyb2xlT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICdhY3Rpdml0aWVzJzogYWN0aXZpdGllc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAvL2NvbnNvbGUubG9nKHJlc3VsdCk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cblxuICBnZXRBdmVyYWdlcGVyY2VudGFnZShkYXRhKSB7XG4gICAgbGV0IHRvdGFsTGVuZ3RoID0gZGF0YS5sZW5ndGhcbiAgICBsZXQgcGVyY2VudGFnZSA9IFtdXG4gICAgbGV0IHRvdGFsUGVyY2VudCA9IDBcbiAgICBfLmZvckVhY2goZGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIHBlcmNlbnRhZ2UucHVzaCh2YWx1ZS5jb21wbGV0aW9uUGVyY2VudGFnZSlcbiAgICB9KVxuICAgIHRvdGFsUGVyY2VudCA9IF8ucm91bmQoXy5zdW0ocGVyY2VudGFnZSkgLyB0b3RhbExlbmd0aClcbiAgICByZXR1cm4gdG90YWxQZXJjZW50ID8gdG90YWxQZXJjZW50IDogMFxuICB9XG5cblxuICBnZXRIaU5hbWUoZGF0YSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIGlmIChfLmdldChkYXRhLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcbiAgICAgIHJlcyA9IF8uZ2V0KGRhdGEuYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXMgPSBfLmdldChkYXRhLCAnbmFtZScpXG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfVxuICBmb3JtYXRlZEFjdGl2aXRpdHlCeVJvbGVJZCA9IChkYXRhOiBhbnksIGxhbmc6IGFueSwgYWN0aXZpdHlNYXN0ZXJEYXRhLCBwcmdyZXNzRGF0YSwgYXNzZXNzRGF0YSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGxldCBjb21wZXRlbmN5ZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBfLnJlZHVjZShkYXRhLCAocmVzdWx0LCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBfLmZpbHRlcihhY3Rpdml0eU1hc3RlckRhdGEsIChvYmopID0+XG4gICAgICAgICAgXy5oYXMob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdmaWx0ZXJlZERhdGEnLCBmaWx0ZXJlZERhdGEpO1xuICAgICAgICBpZiAoZmlsdGVyZWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBfLmZvckVhY2goZmlsdGVyZWREYXRhLCBvYmogPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5GaWx0ZXJEYXRhID0gXy5nZXQob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykgKyAnLmNoaWxkcmVuJyk7XG4gICAgICAgICAgICBjb21wZXRlbmN5ZGF0YSA9IHRoaXMuZm9ybWF0ZWRDb21wZXRlbmN5KGNoaWxkcmVuRmlsdGVyRGF0YSwgcHJncmVzc0RhdGEsIGxhbmcsIGFzc2Vzc0RhdGEsIF8uZ2V0KHZhbHVlLCAnaWQnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnY2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpXG4gICAgICAgIH0pXG4gICAgICAgIC8vY29uc29sZS5sb2coY29tcGV0ZW5jeWRhdGEpXG4gICAgICAgIHJldHVybiBbLi4ucmVzdWx0LCAuLi5jb21wZXRlbmN5ZGF0YV1cbiAgICAgIH0sIFtdKVxuICAgICAvLyBjb25zb2xlLmxvZyhyZXN1bHQpXG4gICAgICByZXR1cm4gXy5zb3J0QnkocmVzdWx0LCBbZnVuY3Rpb24gKG8pIHsgcmV0dXJuIG8uY29kZTsgfV0pO1xuICAgIH1cbiAgfVxuXG5cbiAgZm9ybWF0ZWRDb21wZXRlbmN5ID0gKGRhdGE6IGFueSwgcHJvZ3Jzc0RhdGEsIGxhbmcsIGFzc2Vzc21lbnREYXRhLCBjaWQpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW11cbiAgICAvLyBfLmZvckVhY2goZGF0YSwgKGRhdGE6IGFueSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ2xldmVscyc6IHRoaXMuZ2V0TGV2ZWxzKF8uZ2V0KHZhbHVlLCAnaWQnKSwgcHJvZ3Jzc0RhdGEsIGxhbmcpLFxuICAgICAgICAgICdjb21wZXRlbmN5JzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgJ2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY2lkJzogY2lkLFxuICAgICAgICAgICdsYXN0TGV2ZWwnOiB0aGlzLmdldGhlaWdoZXN0TGV2ZWwoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvbXBsZXRpb25QZXJjZW50YWdlJzogdGhpcy5nZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAnbGV2ZWxEZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSA/IHRoaXMuZ2V0TGV2ZWxEZXNjcmlwdGlvbihfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJyksIHByb2dyc3NEYXRhLCBfLmdldCh2YWx1ZSwgJ2lkJyksIGxhbmcpIDogJycsXG4gICAgICAgICAgJ2Fzc2Vzc21lbnREYXRhJzogdGhpcy5zZXRBc3Nlc3NtZW50RGF0YShfLmdldCh2YWx1ZSwgJ2lkJyksIGFzc2Vzc21lbnREYXRhKVxuICAgICAgICB9KVxuXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyB9XG4gICAgLy8gfSlcbiAgICByZXN1bHQgPSBfLnNvcnRCeShyZXN1bHQsIFtmdW5jdGlvbiAobykgeyByZXR1cm4gby5jb2RlOyB9XSk7XG4gICAgLy9jb25zb2xlLmxvZyhcImNvbXBldGVuY3lcIiwgcmVzdWx0KVxuICAgIHJldHVybiBfLnVuaXFCeShyZXN1bHQsICdpZCcpO1xuICB9XG5cbiAgZ2V0TGV2ZWxEZXNjcmlwdGlvbihkYXRhLCBwcm9ncnNzRGF0YSwgY29tcGV0ZW5jeUlkLCBsYW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9IFtdXG4gICAgXy5mb3JFYWNoKEpTT04ucGFyc2UoZGF0YSksICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAnbGV2ZWxJZCc6IF8uZ2V0KHZhbHVlLCAnbGV2ZWwnKSxcbiAgICAgICAgICAnbmFtZSc6IGxhbmcgPT0gJ2hpJyA/IF8uZ2V0KHZhbHVlLCAnbGFuZy1oaS1uYW1lJykgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24nOiBsYW5nID09ICdoaScgPyBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSA6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24taGknOiBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnYWNoaXZlZCc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXN1bHQsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBfLmZvckVhY2goYWNoaWV2ZWRMZXZlbHMsIChsZXZlbHM6IGFueSkgPT4ge1xuICAgICAgICBpZiAobGV2ZWxzID09IHZhbHVlLmxldmVsSWQpIHtcbiAgICAgICAgICB2YWx1ZS5hY2hpdmVkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0TGV2ZWxzKGNvbXBldGVuY3lJZCwgcHJvZ3Jzc0RhdGEsIGxhbmcpIHtcbiAgICBsZXQgcmVzcG9uZSA9IFtcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAxJyA6ICdMZXZlbCAxJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMScgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAyJyA6ICdMZXZlbCAyJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMicgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAzJyA6ICdMZXZlbCAzJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMycgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA0JyA6ICdMZXZlbCA0JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNCcgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA1JyA6ICdMZXZlbCA1JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNScgfV1cbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXNwb25lLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgXy5mb3JFYWNoKGFjaGlldmVkTGV2ZWxzLCAobGV2ZWxzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGxldmVscyA9PSB2YWx1ZS5sZXZlbCkge1xuICAgICAgICAgIHZhbHVlLmFjaGl2ZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHJldHVybiByZXNwb25lXG5cbiAgfVxuXG4gIGdldGhlaWdoZXN0TGV2ZWwoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gJydcbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcbiAgICAgICAgcmVzcG9uZSA9IHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWRcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNwb25lXG4gIH1cblxuICBnZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gMFxuXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG4gICAgICAgIHJlc3BvbmUgPSBfLnRvTnVtYmVyKHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWQpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXNwb25lID0gKHJlc3BvbmUgKiAxMDApIC8gNVxuXG4gICAgcmV0dXJuIHJlc3BvbmVcbiAgfVxuXG4gIHNldEFzc2Vzc21lbnREYXRhKGNvbXBldGVuY3lJZCwgYXNzZXNzRGF0YSkge1xuICAgIGxldCByZXN1bHQ7XG4gICAgXy5mb3JFYWNoKGFzc2Vzc0RhdGEsICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGNvbXBldGVuY3lJZCA9PSB2YWx1ZS5jb21wZXRlbmN5SUQpIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWVcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAqIHV0aWwgbWV0aG9kIHRvIGZvcm1hdGUgdGhlIGdhaW5lZCBjb21wZXRlbmN5ICBcbiAqIGZvciB1c2VyIFxuICovXG5cbiAgZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KGVudGl0eTogYW55LCBwYXNzYm9vazogYW55LCBsYW5nOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXVxuICAgIF8uZm9yRWFjaChlbnRpdHksICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjaWQgPSBfLmdldCh2YWx1ZSwgJ2lkJylcbiAgICAgIF8uZm9yRWFjaChwYXNzYm9vaywgKHBhc3Nib29rVmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAocGFzc2Jvb2tWYWx1ZS5jb21wZXRlbmNpZXMuaGFzT3duUHJvcGVydHkoY2lkKSkge1xuICAgICAgICAgIGNvbnN0IGNvbXBldGVuY3kgPSBwYXNzYm9va1ZhbHVlLmNvbXBldGVuY2llc1tjaWRdXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhjb21wZXRlbmN5KVxuICAgICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KSA6IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJyksXG4gICAgICAgICAgICAnbG9ncyc6IHRoaXMuYWNxdWlyZWRQYXNzYm9va0xvZ3MoXy5nZXQoY29tcGV0ZW5jeSwgJ2FjcXVpcmVkRGV0YWlscycpLCBsYW5nKSxcbiAgICAgICAgICAgICdwcm9maWNpZW5jeUxldmVscyc6IHRoaXMuYWNhdWlyZWRDaGFubmVsQ29sb3VyQ29kZShfLmdldChjb21wZXRlbmN5LCAnYWNxdWlyZWREZXRhaWxzJykpLFxuICAgICAgICAgICAgJ2NvbXBldGVuY3lTdG9yZURhdGEnOiB0aGlzLmNvbXBldGVuY3lTdG9yZURhdGFGb21hdChjb21wZXRlbmN5KSxcbiAgICAgICAgICAgICd0aXRsZUhpJzogdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIGdldEhpVGl0bGUoaWQsIGVudGl0eSwgY29tcGV0ZW5jeSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIF8uZm9yRWFjaChlbnRpdHksIChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmIChpdGVtLmlkID09IGlkKSB7XG4gICAgICAgIGlmIChfLmdldChpdGVtLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcblxuICAgICAgICAgIHJlcyA9IF8uZ2V0KGl0ZW0uYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcyA9IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJylcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNcbiAgfVxuXG4gIGFjcXVpcmVkUGFzc2Jvb2tMb2dzKGFjcXVpcmVkRGV0YWlsczogYW55LCBsYW5nKSB7XG4gICAgbGV0IHJlc3BvbnNlID0gW11cbiAgICBpZiAoYWNxdWlyZWREZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChhY3F1aXJlZERldGFpbHMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICdoZWFkZXInOiBfLmdldCh2YWx1ZSwgJ2NvdXJzZU5hbWUnKSA/IF8uZ2V0KHZhbHVlLCAnY291cnNlTmFtZScpIDogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaW5kaU5hbWUoXy5nZXQodmFsdWUsICdhY3F1aXJlZENoYW5uZWwnKSkgOiBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpLFxuICAgICAgICAgICdkYXRlJzogXy5nZXQodmFsdWUsICdjcmVhdGVkRGF0ZScpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnYWRkaXRpb25hbFBhcmFtcy5kZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdrZXlib2FyZEFycm93VXAnOiB0cnVlLFxuICAgICAgICAgICdsZXZlbCc6IF8udG9OdW1iZXIoXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuICBnZXRIaW5kaU5hbWUoY2hhbm5lbE5hbWUpIHtcbiAgICBsZXQgbmFtZTtcbiAgICBzd2l0Y2ggKGNoYW5uZWxOYW1lKSB7XG4gICAgICBjYXNlICdzZWxmQXNzZXNzbWVudCc6IG5hbWUgPSAn4KSG4KSk4KWN4KSuIOCkruClguCksuCljeCkr+CkvuCkguCkleCkqCdcbiAgICAgIGNhc2UgJ2FkbWluJzogbmFtZSA9ICfgpLXgpY3gpK/gpLXgpLjgpY3gpKXgpL7gpKrgpJUnXG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuXG4gIGFjYXVpcmVkQ2hhbm5lbENvbG91ckNvZGUoYWNxdWlyZWREZXRhaWxzOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDEsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogMixcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnY29sb3InOiAnI0ZGRkJCMCcsXG4gICAgICAgICdkaXNwbGF5TGV2ZWwnOiAzLFxuICAgICAgICAnc2VsZWN0ZWQnOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDQsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogNSxcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9XG4gICAgXVxuXG4gICAgXy5mb3JFYWNoKGFjcXVpcmVkRGV0YWlscywgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNoYW5uZWwgPSBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpXG4gICAgICBzd2l0Y2ggKGNoYW5uZWwpIHtcbiAgICAgICAgY2FzZSAnY291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnQ291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2VsZkFzc2Vzc21lbnQnOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0E0REZDQSc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2FkbWluJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyM3Y2I1ZTYnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cbiAgY29tcGV0ZW5jeVN0b3JlRGF0YUZvbWF0KGRhdGEpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSB7fVxuICAgIGxldCBsZXZlbHMgPSBbXVxuICAgIGlmIChkYXRhLmFjcXVpcmVkRGV0YWlscykge1xuICAgICAgXy5mb3JFYWNoKGRhdGEuYWNxdWlyZWREZXRhaWxzLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuY29tcGV0ZW5jeUxldmVsSWQpIHtcbiAgICAgICAgICBsZXZlbHMucHVzaCh2YWx1ZS5jb21wZXRlbmN5TGV2ZWxJZClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgcmVzcG9uc2UgPSB7XG4gICAgICAnY29tcGV0ZW5jeUlkJzogZGF0YS5jb21wZXRlbmN5SWQsXG4gICAgICAnY29tcGV0ZW5jeU5hbWUnOiBkYXRhLmFkZGl0aW9uYWxQYXJhbXMuY29tcGV0ZW5jeU5hbWUsXG4gICAgICAnbGV2ZWxJZCc6IF8ubWF4QnkoZGF0YS5hY3F1aXJlZERldGFpbHMsICdjb21wZXRlbmN5TGV2ZWxJZCcpLFxuICAgICAgJ2xldmVsc0FjaGlldmUnOiBsZXZlbHNcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuXG4gIGZvcm1hdGVkQ29tcGV0ZW5jeUNvdXJzZURhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW11cbiAgICBpZiAoXy5nZXQoZGF0YSwgJ3Jlc3VsdCcpKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gXy5nZXQoZGF0YSwgJ3Jlc3VsdC5jb250ZW50JylcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIF8uZm9yRWFjaChjb250ZW50LCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICd0aXRsZSc6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgJ2NvbnRlbnRJZCc6IF8uZ2V0KHZhbHVlLCAnaWRlbnRpZmllcicpLFxuICAgICAgICAgICAgJ2NvbnRlbnRUeXBlJzogXy5nZXQodmFsdWUsICdjb250ZW50VHlwZScpLFxuICAgICAgICAgICAgJ3N1YlRpdGxlJzogXy5nZXQodmFsdWUsICdzdWJUaXRsZScpLFxuICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgJ2NyZWF0b3InOiBfLmdldCh2YWx1ZSwgJ2NyZWF0b3InKSxcbiAgICAgICAgICAgICdkdXJhdGlvbic6IF8uZ2V0KHZhbHVlLCAnZHVyYXRpb24nKSxcbiAgICAgICAgICAgICdiYXRjaElkJzogdGhpcy5nZXRCYXRjaERhdGEodmFsdWUpLFxuICAgICAgICAgICAgJ2NoaWxkQ29udGVudCc6IF8uZ2V0KHZhbHVlLCAnY2hpbGROb2RlcycpLmxlbmd0aCxcbiAgICAgICAgICAgICdjb21wZXRlbmN5SUQnOiB0aGlzLmdldENvbXBldGVuY3lEYXRhKHZhbHVlLmNvbXBldGVuY2llc192MSlcblxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldENvbXBldGVuY3lEYXRhKGNvbXBldGVuY3k6IGFueSkge1xuICAgIGlmIChjb21wZXRlbmN5KSB7XG4gICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoY29tcGV0ZW5jeSlcbiAgICAgIHJldHVybiBkYXRhWzBdLmNvbXBldGVuY3lJZFxuICAgIH1cbiAgfVxuXG4gIGdldEJhdGNoRGF0YShkYXRhKSB7XG4gICAgbGV0IGJhdGNoSWQgPSAnJ1xuICAgIGlmIChkYXRhLmJhdGNoZXMpIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLmJhdGNoZXMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGJhdGNoSWQgPSBfLmdldCh2YWx1ZSwgJ2JhdGNoSWQnKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gYmF0Y2hJZDtcbiAgfVxufVxuXG5cblxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFhc3RyaWthX25wbWpzL2NvbXB0ZW5jeS9jb21wZXRlbmN5LyIsInNvdXJjZXMiOlsic2VydmljZXMvcmVxdWVzdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQjtJQUFBO1FBQUEsaUJBd2RDO1FBdmRDLHVCQUFrQixHQUFHLFVBQUMsSUFBUztZQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUE7YUFDWjtRQUVILENBQUMsQ0FBQTtRQUNELGdDQUEyQixHQUFHLFVBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVztZQUM5RSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRCxrQ0FBa0M7WUFFbEMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQUMsSUFBSTtvQkFDekIsSUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsSUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFDckMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBQyxnQkFBZ0IsRUFBRSxLQUFLO3dCQUMxRCxJQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDL0IsSUFBTSxZQUFZLEdBQUcsQ0FB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LENBQUMsZUFBZSxDQUFDO3FCQUU5RCxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDLENBQUE7YUFFSDtTQUdGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHVDQUFpQixHQUFqQixVQUFrQixVQUFlO1FBQy9CLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNqQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7U0FDNUI7SUFDSCxDQUFDO0lBRUQsa0NBQVksR0FBWixVQUFhLElBQUk7UUFDZixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1lBQ25DLDRDQUE0QztZQUM1QyxzQ0FBc0M7WUFDdEMsS0FBSztTQUNOO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQXhkRCxJQXdkQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoLWVzJztcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0VXRpbCB7XG4gIGZvcm1hdGVkQWN0aXZpdGllcyA9IChkYXRhOiBhbnkpID0+IHtcbiAgICBpZiAoIV8uaXNFbXB0eShkYXRhKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgfVxuICBmb3JtYXRlZEFjdGl2aXRpdHlCeVBvc3Rpb24gPSAoZGF0YTogYW55LCBsYW5nOiBhbnksIGFzc2Vzc21lbnREYXRhLCBwcm9ncnNzRGF0YSkgPT4ge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBsZXQgYWN0aXZpdHlNYXN0ZXJEYXRhID0gXy5nZXQoZGF0YSwgJ2FjdGl2aXR5Jyk7XG4gICAgLy9jb25zb2xlLmxvZyhhY3Rpdml0eU1hc3RlckRhdGEpO1xuXG4gICAgaWYgKF8uZ2V0KGRhdGEsICdyb2xlcycpKSB7XG4gICAgICBfLmZvckVhY2goZGF0YS5yb2xlcywgKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZU9iamVjdCA9IF8udmFsdWVzKHJvbGUpWzBdO1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHJvbGVPYmplY3QuY2hpbGRyZW47XG4gICAgICAgIGxldCBhY3Rpdml0aWVzID0gXy5yZWR1Y2UoY2hpbGRyZW4sIChhY3Rpdml0aWVzUmVzdWx0LCB2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNpZCA9IF8uZ2V0KHZhbHVlLCAnaWQnKTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBfLmZpbHRlcihhY3Rpdml0eU1hc3RlckRhdGEsIChvYmopID0+IF8uaGFzKG9iaiwgY2lkKSk7XG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhmaWx0ZXJlZERhdGEpO1xuXG4gICAgICAgICAgY29uc3QgY2hpbGRyZW5BY3Rpdml0aWVzID0gXy5mbGF0TWFwKGZpbHRlcmVkRGF0YSwgb2JqID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckRhdGFjaGlsZHJlbiA9IF8uZ2V0KG9iaiwgY2lkICsgJy5jaGlsZHJlbicpO1xuICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhmaWx0ZXJEYXRhY2hpbGRyZW4ubGVuZ3RoID4gMClcbiAgICAgICAgICAgIGlmIChmaWx0ZXJEYXRhY2hpbGRyZW4ubGVuZ3RoID4gMCAgfHwgT2JqZWN0LmtleXMoZmlsdGVyRGF0YWNoaWxkcmVuKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIHJldHVybiBfLm1hcChmaWx0ZXJEYXRhY2hpbGRyZW4sIGNoaWxkID0+ICh7XG4gICAgICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgICAgICAgJ2NpZCc6IF8uZ2V0KHZhbHVlLCAnaWQnKSxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBfLmdldCh2YWx1ZSwgJ2Rlc2NyaXB0aW9uJyksXG4gICAgICAgICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAgICAgICAnbGV2ZWxzJzogdGhpcy5nZXRMZXZlbHMoXy5nZXQoY2hpbGQsICdpZCcpLCBwcm9ncnNzRGF0YSwgbGFuZyksXG4gICAgICAgICAgICAgICAgJ2NvbXBldGVuY3knOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZShjaGlsZCkgOiBfLmdldChjaGlsZCwgJ25hbWUnKSxcbiAgICAgICAgICAgICAgICAnaWQnOiBfLmdldChjaGlsZCwgJ2lkJyksXG4gICAgICAgICAgICAgICAgJ2xhc3RMZXZlbCc6IHRoaXMuZ2V0aGVpZ2hlc3RMZXZlbChfLmdldChjaGlsZCwgJ2lkJyksIHByb2dyc3NEYXRhKSxcbiAgICAgICAgICAgICAgICAnY29tcGxldGlvblBlcmNlbnRhZ2UnOiB0aGlzLmdldENvbXBlbGV0aW9uUGVyY2VudGFnZShfLmdldChjaGlsZCwgJ2lkJyksIHByb2dyc3NEYXRhKSxcbiAgICAgICAgICAgICAgICAnbGV2ZWxEZXNjcmlwdGlvbic6IF8uZ2V0KGNoaWxkLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSA/IHRoaXMuZ2V0TGV2ZWxEZXNjcmlwdGlvbihfLmdldChjaGlsZC5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJyksIHByb2dyc3NEYXRhLCBfLmdldChjaGlsZCwgJ2lkJyksIGxhbmcpIDogJycsXG4gICAgICAgICAgICAgICAgJ2Fzc2Vzc21lbnREYXRhJzogdGhpcy5zZXRBc3Nlc3NtZW50RGF0YShfLmdldChjaGlsZCwgJ2lkJyksIGFzc2Vzc21lbnREYXRhKVxuICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gW3tcbiAgICAgICAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAgICAgICAnY2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICAgICB9XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChfLnNvbWUoY2hpbGRyZW5BY3Rpdml0aWVzLCAnaWQnKSkge1xuXG4gICAgICAgICAgICByZXR1cm4gYWN0aXZpdGllc1Jlc3VsdC5jb25jYXQoY2hpbGRyZW5BY3Rpdml0aWVzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGl2aXRpZXNSZXN1bHQuY29uY2F0KCBfLnVuaXFCeShjaGlsZHJlbkFjdGl2aXRpZXMsICdjaWQnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgLy9jb25zb2xlLmxvZyhhY3Rpdml0aWVzKTtcblxuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ3JvbGVzJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUocm9sZU9iamVjdCkgOiBfLmdldChyb2xlT2JqZWN0LCAnbmFtZScpLFxuICAgICAgICAgICdpZCc6IF8uZ2V0KHJvbGVPYmplY3QsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHJvbGVPYmplY3QsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdhdmVyYWdlUGVyY2VudGFnZSc6IHRoaXMuZ2V0QXZlcmFnZXBlcmNlbnRhZ2UoYWN0aXZpdGllcyksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldChyb2xlT2JqZWN0LmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpLFxuICAgICAgICAgICdhY3Rpdml0aWVzJzogYWN0aXZpdGllc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAvL2NvbnNvbGUubG9nKHJlc3VsdCk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cblxuICBnZXRBdmVyYWdlcGVyY2VudGFnZShkYXRhKSB7XG4gICAgbGV0IHRvdGFsTGVuZ3RoID0gZGF0YS5sZW5ndGhcbiAgICBsZXQgcGVyY2VudGFnZSA9IFtdXG4gICAgbGV0IHRvdGFsUGVyY2VudCA9IDBcbiAgICBfLmZvckVhY2goZGF0YSwgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIHBlcmNlbnRhZ2UucHVzaCh2YWx1ZS5jb21wbGV0aW9uUGVyY2VudGFnZSlcbiAgICB9KVxuICAgIHRvdGFsUGVyY2VudCA9IF8ucm91bmQoXy5zdW0ocGVyY2VudGFnZSkgLyB0b3RhbExlbmd0aClcbiAgICByZXR1cm4gdG90YWxQZXJjZW50ID8gdG90YWxQZXJjZW50IDogMFxuICB9XG5cblxuICBnZXRIaU5hbWUoZGF0YSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIGlmIChfLmdldChkYXRhLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcbiAgICAgIHJlcyA9IF8uZ2V0KGRhdGEuYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXMgPSBfLmdldChkYXRhLCAnbmFtZScpXG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfVxuICBmb3JtYXRlZEFjdGl2aXRpdHlCeVJvbGVJZCA9IChkYXRhOiBhbnksIGxhbmc6IGFueSwgYWN0aXZpdHlNYXN0ZXJEYXRhLCBwcmdyZXNzRGF0YSwgYXNzZXNzRGF0YSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGxldCBjb21wZXRlbmN5ZGF0YTtcbiAgICBpZiAoZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBfLnJlZHVjZShkYXRhLCAocmVzdWx0LCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBfLmZpbHRlcihhY3Rpdml0eU1hc3RlckRhdGEsIChvYmopID0+XG4gICAgICAgICAgXy5oYXMob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdmaWx0ZXJlZERhdGEnLCBmaWx0ZXJlZERhdGEpO1xuICAgICAgICBpZiAoZmlsdGVyZWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBfLmZvckVhY2goZmlsdGVyZWREYXRhLCBvYmogPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5GaWx0ZXJEYXRhID0gXy5nZXQob2JqLCBfLmdldCh2YWx1ZSwgJ2lkJykgKyAnLmNoaWxkcmVuJyk7XG4gICAgICAgICAgICBjb21wZXRlbmN5ZGF0YSA9IHRoaXMuZm9ybWF0ZWRDb21wZXRlbmN5KGNoaWxkcmVuRmlsdGVyRGF0YSwgcHJncmVzc0RhdGEsIGxhbmcsIGFzc2Vzc0RhdGEsIF8uZ2V0KHZhbHVlLCAnaWQnKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAndGl0bGUnOiBsYW5nID09ICdoaScgPyB0aGlzLmdldEhpTmFtZSh2YWx1ZSkgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnY2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY29kZSc6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnQ29kZScpXG4gICAgICAgIH0pXG4gICAgICAgIC8vY29uc29sZS5sb2coY29tcGV0ZW5jeWRhdGEpXG4gICAgICAgIHJldHVybiBbLi4ucmVzdWx0LCAuLi5jb21wZXRlbmN5ZGF0YV1cbiAgICAgIH0sIFtdKVxuICAgICAvLyBjb25zb2xlLmxvZyhyZXN1bHQpXG4gICAgICByZXR1cm4gXy5zb3J0QnkocmVzdWx0LCBbZnVuY3Rpb24gKG8pIHsgcmV0dXJuIG8uY29kZTsgfV0pO1xuICAgIH1cbiAgfVxuXG5cbiAgZm9ybWF0ZWRDb21wZXRlbmN5ID0gKGRhdGE6IGFueSwgcHJvZ3Jzc0RhdGEsIGxhbmcsIGFzc2Vzc21lbnREYXRhLCBjaWQpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW11cbiAgICAvLyBfLmZvckVhY2goZGF0YSwgKGRhdGE6IGFueSkgPT4ge1xuICAgIC8vIGlmIChfLmdldChkYXRhLCAncmVzdWx0JykpIHtcbiAgICAvLyBjb25zdCBjaGlsZHJlbiA9IF8uZ2V0KGRhdGEsICdyZXN1bHQucmVzcG9uc2UnKS5jaGlsZHJlblxuICAgIGlmIChkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChkYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgJ2xldmVscyc6IHRoaXMuZ2V0TGV2ZWxzKF8uZ2V0KHZhbHVlLCAnaWQnKSwgcHJvZ3Jzc0RhdGEsIGxhbmcpLFxuICAgICAgICAgICdjb21wZXRlbmN5JzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaU5hbWUodmFsdWUpIDogXy5nZXQodmFsdWUsICduYW1lJyksXG4gICAgICAgICAgJ2lkJzogXy5nZXQodmFsdWUsICdpZCcpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnY2lkJzogY2lkLFxuICAgICAgICAgICdsYXN0TGV2ZWwnOiB0aGlzLmdldGhlaWdoZXN0TGV2ZWwoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvbXBsZXRpb25QZXJjZW50YWdlJzogdGhpcy5nZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoXy5nZXQodmFsdWUsICdpZCcpLCBwcm9ncnNzRGF0YSksXG4gICAgICAgICAgJ2NvZGUnOiBfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ0NvZGUnKSxcbiAgICAgICAgICAnbGV2ZWxEZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnY29tcGV0ZW5jeUxldmVsRGVzY3JpcHRpb24nKSA/IHRoaXMuZ2V0TGV2ZWxEZXNjcmlwdGlvbihfLmdldCh2YWx1ZS5hZGRpdGlvbmFsUHJvcGVydGllcywgJ2NvbXBldGVuY3lMZXZlbERlc2NyaXB0aW9uJyksIHByb2dyc3NEYXRhLCBfLmdldCh2YWx1ZSwgJ2lkJyksIGxhbmcpIDogJycsXG4gICAgICAgICAgJ2Fzc2Vzc21lbnREYXRhJzogdGhpcy5zZXRBc3Nlc3NtZW50RGF0YShfLmdldCh2YWx1ZSwgJ2lkJyksIGFzc2Vzc21lbnREYXRhKVxuICAgICAgICB9KVxuXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyB9XG4gICAgLy8gfSlcbiAgICByZXN1bHQgPSBfLnNvcnRCeShyZXN1bHQsIFtmdW5jdGlvbiAobykgeyByZXR1cm4gby5jb2RlOyB9XSk7XG4gICAgLy9jb25zb2xlLmxvZyhcImNvbXBldGVuY3lcIiwgcmVzdWx0KVxuICAgIHJldHVybiBfLnVuaXFCeShyZXN1bHQsICdpZCcpO1xuICB9XG5cbiAgZ2V0TGV2ZWxEZXNjcmlwdGlvbihkYXRhLCBwcm9ncnNzRGF0YSwgY29tcGV0ZW5jeUlkLCBsYW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9IFtdXG4gICAgXy5mb3JFYWNoKEpTT04ucGFyc2UoZGF0YSksICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAnbGV2ZWxJZCc6IF8uZ2V0KHZhbHVlLCAnbGV2ZWwnKSxcbiAgICAgICAgICAnbmFtZSc6IGxhbmcgPT0gJ2hpJyA/IF8uZ2V0KHZhbHVlLCAnbGFuZy1oaS1uYW1lJykgOiBfLmdldCh2YWx1ZSwgJ25hbWUnKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24nOiBsYW5nID09ICdoaScgPyBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSA6IF8uZ2V0KHZhbHVlLCAnZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnZGVzY3JpcHRpb24taGknOiBfLmdldCh2YWx1ZSwgJ2xhbmctaGktZGVzY3JpcHRpb24nKSxcbiAgICAgICAgICAnYWNoaXZlZCc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXN1bHQsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBfLmZvckVhY2goYWNoaWV2ZWRMZXZlbHMsIChsZXZlbHM6IGFueSkgPT4ge1xuICAgICAgICBpZiAobGV2ZWxzID09IHZhbHVlLmxldmVsSWQpIHtcbiAgICAgICAgICB2YWx1ZS5hY2hpdmVkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0TGV2ZWxzKGNvbXBldGVuY3lJZCwgcHJvZ3Jzc0RhdGEsIGxhbmcpIHtcbiAgICBsZXQgcmVzcG9uZSA9IFtcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAxJyA6ICdMZXZlbCAxJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMScgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAyJyA6ICdMZXZlbCAyJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMicgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCAzJyA6ICdMZXZlbCAzJywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnMycgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA0JyA6ICdMZXZlbCA0JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNCcgfSxcbiAgICAgIHsgbmFtZTogbGFuZyA9PSAnaGknID8gJ+CkuOCljeCkpOCksCA1JyA6ICdMZXZlbCA1JywgYWNoaXZlZDogZmFsc2UsIGxldmVsOiAnNScgfV1cbiAgICBsZXQgYWNoaWV2ZWRMZXZlbHMgPSBudWxsXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG5cbiAgICAgICAgYWNoaWV2ZWRMZXZlbHMgPSBfLnVuaXEodmFsdWUubGV2ZWxzQWNoaWV2ZSk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIF8uZm9yRWFjaChyZXNwb25lLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgXy5mb3JFYWNoKGFjaGlldmVkTGV2ZWxzLCAobGV2ZWxzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGxldmVscyA9PSB2YWx1ZS5sZXZlbCkge1xuICAgICAgICAgIHZhbHVlLmFjaGl2ZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcblxuICAgIHJldHVybiByZXNwb25lXG5cbiAgfVxuXG4gIGdldGhlaWdoZXN0TGV2ZWwoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gJydcbiAgICBfLmZvckVhY2gocHJvZ3Jzc0RhdGEsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoXy50b051bWJlcih2YWx1ZS5jb21wZXRlbmN5SWQpID09PSBjb21wZXRlbmN5SWQpIHtcbiAgICAgICAgcmVzcG9uZSA9IHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWRcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNwb25lXG4gIH1cblxuICBnZXRDb21wZWxldGlvblBlcmNlbnRhZ2UoY29tcGV0ZW5jeUlkLCBwcm9ncnNzRGF0YSkge1xuICAgIGxldCByZXNwb25lID0gMFxuXG4gICAgXy5mb3JFYWNoKHByb2dyc3NEYXRhLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKF8udG9OdW1iZXIodmFsdWUuY29tcGV0ZW5jeUlkKSA9PT0gY29tcGV0ZW5jeUlkKSB7XG4gICAgICAgIHJlc3BvbmUgPSBfLnRvTnVtYmVyKHZhbHVlLmxldmVsSWQuY29tcGV0ZW5jeUxldmVsSWQpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXNwb25lID0gKHJlc3BvbmUgKiAxMDApIC8gNVxuXG4gICAgcmV0dXJuIHJlc3BvbmVcbiAgfVxuXG4gIHNldEFzc2Vzc21lbnREYXRhKGNvbXBldGVuY3lJZCwgYXNzZXNzRGF0YSkge1xuICAgIGxldCByZXN1bHQ7XG4gICAgXy5mb3JFYWNoKGFzc2Vzc0RhdGEsICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGNvbXBldGVuY3lJZCA9PSB2YWx1ZS5jb21wZXRlbmN5SUQpIHtcbiAgICAgICAgcmVzdWx0ID0gdmFsdWVcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAqIHV0aWwgbWV0aG9kIHRvIGZvcm1hdGUgdGhlIGdhaW5lZCBjb21wZXRlbmN5ICBcbiAqIGZvciB1c2VyIFxuICovXG5cbiAgZm9ybWF0ZWRHYWluZWRDb21wZXRlbmN5KGVudGl0eTogYW55LCBwYXNzYm9vazogYW55LCBsYW5nOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXVxuICAgIF8uZm9yRWFjaChlbnRpdHksICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjaWQgPSBfLmdldCh2YWx1ZSwgJ2lkJylcbiAgICAgIF8uZm9yRWFjaChwYXNzYm9vaywgKHBhc3Nib29rVmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAocGFzc2Jvb2tWYWx1ZS5jb21wZXRlbmNpZXMuaGFzT3duUHJvcGVydHkoY2lkKSkge1xuICAgICAgICAgIGNvbnN0IGNvbXBldGVuY3kgPSBwYXNzYm9va1ZhbHVlLmNvbXBldGVuY2llc1tjaWRdXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhjb21wZXRlbmN5KVxuICAgICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICAgJ3RpdGxlJzogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KSA6IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJyksXG4gICAgICAgICAgICAnbG9ncyc6IHRoaXMuYWNxdWlyZWRQYXNzYm9va0xvZ3MoXy5nZXQoY29tcGV0ZW5jeSwgJ2FjcXVpcmVkRGV0YWlscycpLCBsYW5nKSxcbiAgICAgICAgICAgICdwcm9maWNpZW5jeUxldmVscyc6IHRoaXMuYWNhdWlyZWRDaGFubmVsQ29sb3VyQ29kZShfLmdldChjb21wZXRlbmN5LCAnYWNxdWlyZWREZXRhaWxzJykpLFxuICAgICAgICAgICAgJ2NvbXBldGVuY3lTdG9yZURhdGEnOiB0aGlzLmNvbXBldGVuY3lTdG9yZURhdGFGb21hdChjb21wZXRlbmN5KSxcbiAgICAgICAgICAgICd0aXRsZUhpJzogdGhpcy5nZXRIaVRpdGxlKGNpZCwgZW50aXR5LCBjb21wZXRlbmN5KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIGdldEhpVGl0bGUoaWQsIGVudGl0eSwgY29tcGV0ZW5jeSkge1xuICAgIGxldCByZXM6IGFueVxuICAgIF8uZm9yRWFjaChlbnRpdHksIChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmIChpdGVtLmlkID09IGlkKSB7XG4gICAgICAgIGlmIChfLmdldChpdGVtLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLCAnbGFuZy1oaS1uYW1lJykpIHtcblxuICAgICAgICAgIHJlcyA9IF8uZ2V0KGl0ZW0uYWRkaXRpb25hbFByb3BlcnRpZXMsICdsYW5nLWhpLW5hbWUnKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcyA9IF8uZ2V0KGNvbXBldGVuY3ksICdhZGRpdGlvbmFsUGFyYW1zLmNvbXBldGVuY3lOYW1lJylcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXNcbiAgfVxuXG4gIGFjcXVpcmVkUGFzc2Jvb2tMb2dzKGFjcXVpcmVkRGV0YWlsczogYW55LCBsYW5nKSB7XG4gICAgbGV0IHJlc3BvbnNlID0gW11cbiAgICBpZiAoYWNxdWlyZWREZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIF8uZm9yRWFjaChhY3F1aXJlZERldGFpbHMsICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLnB1c2goe1xuICAgICAgICAgICdoZWFkZXInOiBfLmdldCh2YWx1ZSwgJ2NvdXJzZU5hbWUnKSA/IF8uZ2V0KHZhbHVlLCAnY291cnNlTmFtZScpIDogbGFuZyA9PSAnaGknID8gdGhpcy5nZXRIaW5kaU5hbWUoXy5nZXQodmFsdWUsICdhY3F1aXJlZENoYW5uZWwnKSkgOiBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpLFxuICAgICAgICAgICdkYXRlJzogXy5nZXQodmFsdWUsICdjcmVhdGVkRGF0ZScpLFxuICAgICAgICAgICdkZXNjcmlwdGlvbic6IF8uZ2V0KHZhbHVlLCAnYWRkaXRpb25hbFBhcmFtcy5kZXNjcmlwdGlvbicpLFxuICAgICAgICAgICdrZXlib2FyZEFycm93VXAnOiB0cnVlLFxuICAgICAgICAgICdsZXZlbCc6IF8udG9OdW1iZXIoXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuICBnZXRIaW5kaU5hbWUoY2hhbm5lbE5hbWUpIHtcbiAgICBsZXQgbmFtZTtcbiAgICBzd2l0Y2ggKGNoYW5uZWxOYW1lKSB7XG4gICAgICBjYXNlICdzZWxmQXNzZXNzbWVudCc6IG5hbWUgPSAn4KSG4KSk4KWN4KSuIOCkruClguCksuCljeCkr+CkvuCkguCkleCkqCdcbiAgICAgIGNhc2UgJ2FkbWluJzogbmFtZSA9ICfgpLXgpY3gpK/gpLXgpLjgpY3gpKXgpL7gpKrgpJUnXG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuXG4gIGFjYXVpcmVkQ2hhbm5lbENvbG91ckNvZGUoYWNxdWlyZWREZXRhaWxzOiBhbnkpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBbXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDEsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogMixcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAnY29sb3InOiAnI0ZGRkJCMCcsXG4gICAgICAgICdkaXNwbGF5TGV2ZWwnOiAzLFxuICAgICAgICAnc2VsZWN0ZWQnOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdjb2xvcic6ICcjRkZGQkIwJyxcbiAgICAgICAgJ2Rpc3BsYXlMZXZlbCc6IDQsXG4gICAgICAgICdzZWxlY3RlZCc6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgJ2NvbG9yJzogJyNGRkZCQjAnLFxuICAgICAgICAnZGlzcGxheUxldmVsJzogNSxcbiAgICAgICAgJ3NlbGVjdGVkJzogZmFsc2UsXG4gICAgICB9XG4gICAgXVxuXG4gICAgXy5mb3JFYWNoKGFjcXVpcmVkRGV0YWlscywgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNoYW5uZWwgPSBfLmdldCh2YWx1ZSwgJ2FjcXVpcmVkQ2hhbm5lbCcpXG4gICAgICBzd2l0Y2ggKGNoYW5uZWwpIHtcbiAgICAgICAgY2FzZSAnY291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnQ291cnNlJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2VsZkFzc2Vzc21lbnQnOiB7XG4gICAgICAgICAgXy5mb3JFYWNoKHJlc3BvbnNlLCAobGV2ZWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxldmVsLmRpc3BsYXlMZXZlbCA9PSBfLmdldCh2YWx1ZSwgJ2NvbXBldGVuY3lMZXZlbElkJykpIHtcbiAgICAgICAgICAgICAgbGV2ZWwuY29sb3IgPSAnI0E0REZDQSc7XG4gICAgICAgICAgICAgIGxldmVsLnNlbGVjdGVkID0gdHJ1ZVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2FkbWluJzoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyM3Y2I1ZTYnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIF8uZm9yRWFjaChyZXNwb25zZSwgKGxldmVsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChsZXZlbC5kaXNwbGF5TGV2ZWwgPT0gXy5nZXQodmFsdWUsICdjb21wZXRlbmN5TGV2ZWxJZCcpKSB7XG4gICAgICAgICAgICAgIGxldmVsLmNvbG9yID0gJyNGRkZCQjAnO1xuICAgICAgICAgICAgICBsZXZlbC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cbiAgY29tcGV0ZW5jeVN0b3JlRGF0YUZvbWF0KGRhdGEpIHtcbiAgICBsZXQgcmVzcG9uc2UgPSB7fVxuICAgIGxldCBsZXZlbHMgPSBbXVxuICAgIGlmIChkYXRhLmFjcXVpcmVkRGV0YWlscykge1xuICAgICAgXy5mb3JFYWNoKGRhdGEuYWNxdWlyZWREZXRhaWxzLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUuY29tcGV0ZW5jeUxldmVsSWQpIHtcbiAgICAgICAgICBsZXZlbHMucHVzaCh2YWx1ZS5jb21wZXRlbmN5TGV2ZWxJZClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgcmVzcG9uc2UgPSB7XG4gICAgICAnY29tcGV0ZW5jeUlkJzogZGF0YS5jb21wZXRlbmN5SWQsXG4gICAgICAnY29tcGV0ZW5jeU5hbWUnOiBkYXRhLmFkZGl0aW9uYWxQYXJhbXMuY29tcGV0ZW5jeU5hbWUsXG4gICAgICAnbGV2ZWxJZCc6IF8ubWF4QnkoZGF0YS5hY3F1aXJlZERldGFpbHMsICdjb21wZXRlbmN5TGV2ZWxJZCcpLFxuICAgICAgJ2xldmVsc0FjaGlldmUnOiBsZXZlbHNcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuXG4gIGZvcm1hdGVkQ29tcGV0ZW5jeUNvdXJzZURhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW11cbiAgICBpZiAoXy5nZXQoZGF0YSwgJ3Jlc3VsdCcpKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gXy5nZXQoZGF0YSwgJ3Jlc3VsdC5jb250ZW50JylcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIF8uZm9yRWFjaChjb250ZW50LCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICd0aXRsZSc6IF8uZ2V0KHZhbHVlLCAnbmFtZScpLFxuICAgICAgICAgICAgJ2NvbnRlbnRJZCc6IF8uZ2V0KHZhbHVlLCAnaWRlbnRpZmllcicpLFxuICAgICAgICAgICAgJ2NvbnRlbnRUeXBlJzogXy5nZXQodmFsdWUsICdjb250ZW50VHlwZScpLFxuICAgICAgICAgICAgJ3N1YlRpdGxlJzogXy5nZXQodmFsdWUsICdzdWJUaXRsZScpLFxuICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogXy5nZXQodmFsdWUsICdkZXNjcmlwdGlvbicpLFxuICAgICAgICAgICAgJ2NyZWF0b3InOiBfLmdldCh2YWx1ZSwgJ2NyZWF0b3InKSxcbiAgICAgICAgICAgICdkdXJhdGlvbic6IF8uZ2V0KHZhbHVlLCAnZHVyYXRpb24nKSxcbiAgICAgICAgICAgICdiYXRjaElkJzogdGhpcy5nZXRCYXRjaERhdGEodmFsdWUpLFxuICAgICAgICAgICAgJ2NoaWxkQ29udGVudCc6IF8uZ2V0KHZhbHVlLCAnY2hpbGROb2RlcycpLmxlbmd0aCxcbiAgICAgICAgICAgICdjb21wZXRlbmN5SUQnOiB0aGlzLmdldENvbXBldGVuY3lEYXRhKHZhbHVlLmNvbXBldGVuY2llc192MSlcblxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldENvbXBldGVuY3lEYXRhKGNvbXBldGVuY3k6IGFueSkge1xuICAgIGlmIChjb21wZXRlbmN5KSB7XG4gICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoY29tcGV0ZW5jeSlcbiAgICAgIHJldHVybiBkYXRhWzBdLmNvbXBldGVuY3lJZFxuICAgIH1cbiAgfVxuXG4gIGdldEJhdGNoRGF0YShkYXRhKSB7XG4gICAgbGV0IGJhdGNoSWQgPSAnJ1xuICAgIGlmIChkYXRhLmJhdGNoZXMpIHtcbiAgICAgICAgYmF0Y2hJZCA9IGRhdGEuYmF0Y2hlc1swXS5iYXRjaElkXG4gICAgICAvLyBfLmZvckVhY2goZGF0YS5iYXRjaGVzLCAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgLy8gICBiYXRjaElkID0gXy5nZXQodmFsdWUsICdiYXRjaElkJylcbiAgICAgIC8vIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGJhdGNoSWQ7XG4gIH1cbn1cblxuXG5cbiJdfQ==

@@ -6,2 +6,3 @@ /**

export { NoResultComponent as ɵa } from './components/no-result/no-result.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFzdHJpa2FfbnBtanMtY29tcHRlbmN5LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJhYXN0cmlrYV9ucG1qcy1jb21wdGVuY3ktY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtOb1Jlc3VsdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9uby1yZXN1bHQvbm8tcmVzdWx0LmNvbXBvbmVudCc7Il19
export { RemoveDuplicatesPipe as ɵb } from './pipe/remove-duplicates.pipe';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWFzdHJpa2FfbnBtanMtY29tcHRlbmN5LWNvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJhYXN0cmlrYV9ucG1qcy1jb21wdGVuY3ktY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7Tm9SZXN1bHRDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2NvbXBvbmVudHMvbm8tcmVzdWx0L25vLXJlc3VsdC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZW1vdmVEdXBsaWNhdGVzUGlwZSBhcyDJtWJ9IGZyb20gJy4vcGlwZS9yZW1vdmUtZHVwbGljYXRlcy5waXBlJzsiXX0=

@@ -8,2 +8,3 @@ import * as tslib_1 from "tslib";

import { NoResultComponent } from './components/no-result/no-result.component';
import { RemoveDuplicatesPipe } from './pipe/remove-duplicates.pipe';
/**

@@ -25,7 +26,9 @@ * Core Module

AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],
exports: [
AppLoaderComponent,
NoResultComponent
NoResultComponent,
RemoveDuplicatesPipe
],

@@ -38,2 +41,2 @@ providers: [DataService]

export { CoreModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWFzdHJpa2FfbnBtanMvY29tcHRlbmN5L2NvcmUvIiwic291cmNlcyI6WyJjb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRyxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FOzs7O0dBSUc7QUFnQkg7SUFBQTtJQUEwQixDQUFDO0lBQWQsVUFBVTtRQWZ0QixRQUFRLENBQUM7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsWUFBWTtnQkFDWixnQkFBZ0I7YUFDakI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osa0JBQWtCO2dCQUNsQixpQkFBaUI7YUFDbEI7WUFDRCxPQUFPLEVBQUM7Z0JBQ04sa0JBQWtCO2dCQUNsQixpQkFBaUI7YUFDbEI7WUFDRCxTQUFTLEVBQUMsQ0FBQyxXQUFXLENBQUM7U0FDeEIsQ0FBQztPQUNXLFVBQVUsQ0FBSTtJQUFELGlCQUFDO0NBQUEsQUFBM0IsSUFBMkI7U0FBZCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7ICBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBBcHBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb1Jlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uby1yZXN1bHQvbm8tcmVzdWx0LmNvbXBvbmVudCc7XG4vKipcbiAqIENvcmUgTW9kdWxlICBcbiAqXG4gKiBAYXV0aG9yIEFtYW4gS3VtYXIgU2hhcm1hIDxhbWFua3VtYXIuc2hhcm1hQHRhcmVudG8uY29tPlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcExvYWRlckNvbXBvbmVudCxcbiAgICBOb1Jlc3VsdENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOltcbiAgICBBcHBMb2FkZXJDb21wb25lbnQsXG4gICAgTm9SZXN1bHRDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOltEYXRhU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7IH1cbiJdfQ==