vcomply-workflow-engine 3.9.98 → 3.9.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +48 -27
- package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +3 -4
- package/fesm2022/vcomply-workflow-engine.mjs +49 -29
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +7 -0
- package/package.json +1 -1
|
@@ -78,6 +78,12 @@ export class AddMultipleRiskComponent {
|
|
|
78
78
|
this.downloadStatus = 'NOT_DOWNLOADING';
|
|
79
79
|
this.downloadPercent = 0;
|
|
80
80
|
this.ffLinkedGrcObjects = false;
|
|
81
|
+
this.isNotValidGrcObject = false;
|
|
82
|
+
this.selectedRcId = 0;
|
|
83
|
+
this.selectedGrcId = '';
|
|
84
|
+
this.selectedRcName = '';
|
|
85
|
+
this.selectedGrcName = '';
|
|
86
|
+
this.columnWiseData = [];
|
|
81
87
|
this.smileyMessage = `You're All Set! We're uploading the risks. The risk owners will be notified once the risks have been uploaded.`;
|
|
82
88
|
this.actionButtons = [
|
|
83
89
|
{ buttonText: 'Add More Risks', class: 'white-btn', id: 'addMore' },
|
|
@@ -194,15 +200,12 @@ export class AddMultipleRiskComponent {
|
|
|
194
200
|
this.data = XLSX.utils.sheet_to_json(ws, {
|
|
195
201
|
header: 1,
|
|
196
202
|
});
|
|
197
|
-
console.log(this.data, 'data');
|
|
198
203
|
const tData = XLSX.utils.sheet_to_json(tempData, { header: 1 });
|
|
199
204
|
const tempList = tData.filter((dataElement) => dataElement.length > 0);
|
|
200
|
-
console.log(tempList, 'tempList');
|
|
201
205
|
const getColumnWiseData = (data) => {
|
|
202
206
|
return data[0].map((_, colIndex) => data.map((row) => row[colIndex]));
|
|
203
207
|
};
|
|
204
|
-
|
|
205
|
-
console.log(columnWiseData, 'columnData');
|
|
208
|
+
this.columnWiseData = getColumnWiseData(tData);
|
|
206
209
|
this.templateInfo.memberId = tempList[0][27];
|
|
207
210
|
this.templateInfo.categoryId = tempList[0][26];
|
|
208
211
|
this.riskBulkUpload.header = cloneDeep(this.data[4].filter((dataElement) => dataElement.length > 0));
|
|
@@ -229,7 +232,6 @@ export class AddMultipleRiskComponent {
|
|
|
229
232
|
owner_ids: element[11],
|
|
230
233
|
};
|
|
231
234
|
this.templateInfo.rcList.push(rc);
|
|
232
|
-
console.log(this.templateInfo.rcList, 'rcList');
|
|
233
235
|
}
|
|
234
236
|
if (element[12]) {
|
|
235
237
|
this.templateInfo?.likelihood.push(element[12]);
|
|
@@ -363,7 +365,6 @@ export class AddMultipleRiskComponent {
|
|
|
363
365
|
// obj.customTag = customTags;
|
|
364
366
|
// }
|
|
365
367
|
let obj = this.setRiskDetails(risk);
|
|
366
|
-
console.log(riskData, 'riskData');
|
|
367
368
|
if (obj?.likelihood &&
|
|
368
369
|
!this.templateInfo?.likelihood.includes(obj?.likelihood)) {
|
|
369
370
|
obj.isValid = false;
|
|
@@ -379,30 +380,35 @@ export class AddMultipleRiskComponent {
|
|
|
379
380
|
!this.templateInfo?.vulnerability.includes(obj?.vulnerability)) {
|
|
380
381
|
obj.isValid = false;
|
|
381
382
|
}
|
|
383
|
+
obj.isGrcNotValid = this.validateGrcObjectForRc(obj.rcName, obj.linkedGrcObject);
|
|
384
|
+
if (obj.isGrcNotValid) {
|
|
385
|
+
obj.isValid = false;
|
|
386
|
+
}
|
|
382
387
|
this.riskBulkUpload.risks.push(obj);
|
|
383
388
|
});
|
|
384
|
-
console.log(this.riskBulkUpload?.risks, 'riskkkkkkkkkkkkkkkkkkDDDDDDDAAAAAAAAAATTTTTTTTTAAAA');
|
|
385
389
|
this.riskBulkUpload?.risks.forEach((risk) => {
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
const
|
|
391
|
-
|
|
392
|
-
if (rcNamesColumn[0] == selectedRc) {
|
|
390
|
+
this.selectedRcId = this.returnIds(risk.rcName, 'rc_id');
|
|
391
|
+
if (this.selectedRcId) {
|
|
392
|
+
for (let colIndex = 29; colIndex < this.columnWiseData.length; colIndex += 2) {
|
|
393
|
+
const rcNamesColumn = this.columnWiseData[colIndex];
|
|
394
|
+
const rcIdsColumn = this.columnWiseData[colIndex + 1];
|
|
395
|
+
if (rcIdsColumn[0] == this.selectedRcId) {
|
|
393
396
|
for (let i = 1; i < rcNamesColumn.length; i++) {
|
|
394
|
-
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
397
|
+
const grcName = rcNamesColumn[i];
|
|
398
|
+
const grcId = rcIdsColumn[i];
|
|
399
|
+
if (grcName && grcId) {
|
|
400
|
+
const grc = {
|
|
401
|
+
grcName: grcName,
|
|
402
|
+
grcId: grcId,
|
|
403
|
+
};
|
|
404
|
+
this.templateInfo.grcList.push(grc);
|
|
405
|
+
}
|
|
403
406
|
}
|
|
404
407
|
}
|
|
405
408
|
}
|
|
409
|
+
this.selectedGrcId = this.returnIds(risk.linkedGrcObject, 'grc_id');
|
|
410
|
+
this.selectedGrcName = risk?.linkedGrcObject;
|
|
411
|
+
this.selectedRcName = risk?.rcName;
|
|
406
412
|
}
|
|
407
413
|
});
|
|
408
414
|
this.isFileEmpty = false;
|
|
@@ -440,6 +446,21 @@ export class AddMultipleRiskComponent {
|
|
|
440
446
|
return true;
|
|
441
447
|
}
|
|
442
448
|
}
|
|
449
|
+
validateGrcObjectForRc(rcId, grcId) {
|
|
450
|
+
for (let colIndex = 29; colIndex < this.columnWiseData.length; colIndex += 2) {
|
|
451
|
+
const rcNamesColumn = this.columnWiseData[colIndex];
|
|
452
|
+
const rcIdsColumn = this.columnWiseData[colIndex + 1];
|
|
453
|
+
if (rcNamesColumn[0] === rcId) {
|
|
454
|
+
for (let i = 1; i < rcNamesColumn.length; i++) {
|
|
455
|
+
if (rcNamesColumn[i] === grcId || !grcId) {
|
|
456
|
+
this.isNotValidGrcObject = false;
|
|
457
|
+
return false;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
return true;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
443
464
|
downloadTemplate() {
|
|
444
465
|
this.downloadStatus = 'DOWNLOADING';
|
|
445
466
|
this.downloadPercent = 0;
|
|
@@ -693,7 +714,6 @@ export class AddMultipleRiskComponent {
|
|
|
693
714
|
* "mitigationPriority": "",
|
|
694
715
|
*/
|
|
695
716
|
setRiskDetails(risk) {
|
|
696
|
-
console.log(risk, 'risk details');
|
|
697
717
|
let obj;
|
|
698
718
|
obj = {
|
|
699
719
|
riskName: risk[0] ?? '',
|
|
@@ -705,6 +725,7 @@ export class AddMultipleRiskComponent {
|
|
|
705
725
|
emailReminder: risk[6],
|
|
706
726
|
overseer: risk[7] ?? '',
|
|
707
727
|
isValid: this.checkValidity(risk),
|
|
728
|
+
isGrcNotValid: this.validateGrcObjectForRc(this.selectedRcName, this.selectedGrcName),
|
|
708
729
|
};
|
|
709
730
|
let index = 8;
|
|
710
731
|
if (this.riskBulkUpload?.header?.includes('Recommended Mitigation Priority')) {
|
|
@@ -810,11 +831,11 @@ export class AddMultipleRiskComponent {
|
|
|
810
831
|
this.ffLinkedGrcObjects = this.feature.isFeatureEnabled('ff_grc_v1');
|
|
811
832
|
}
|
|
812
833
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleRiskComponent, deps: [{ token: i1.AddRiskService }, { token: i2.AuthService }, { token: i3.SnackBarService }, { token: i4.FrequencyBulkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
813
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMultipleRiskComponent, selector: "app-add-multiple-risk", inputs: { feature: "feature" }, outputs: { pickerChanged: "pickerChanged", populateOption: "populateOption", closeWorkflow: "closeWorkflow", disconnectRefresh: "disconnectRefresh" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"getCategoryList()\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\" [loaded]=\"!isLoader\" >\r\n</app-category-list>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n[ffLinkedGrcObjects]=\"ffLinkedGrcObjects\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i8.LineLoaderComponent, selector: "app-line-loader", inputs: ["loaderHeight"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "component", type: i10.CategoryListComponent, selector: "app-category-list", inputs: ["categoryList", "selectedCategory", "loaded"], outputs: ["saveSelectedCategory", "closeList", "closeCategoriesList"] }, { kind: "component", type: i11.BulkViewComponent, selector: "app-bulk-view", inputs: ["riskBulkUpload", "templateInfo", "fileName", "assessmentDaysEnable", "defaultOwner", "loader", "ffLinkedGrcObjects"], outputs: ["submitRiskBulkUpload", "cancel"] }] }); }
|
|
834
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddMultipleRiskComponent, selector: "app-add-multiple-risk", inputs: { feature: "feature" }, outputs: { pickerChanged: "pickerChanged", populateOption: "populateOption", closeWorkflow: "closeWorkflow", disconnectRefresh: "disconnectRefresh" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"getCategoryList()\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\" [loaded]=\"!isLoader\" >\r\n</app-category-list>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n[ffLinkedGrcObjects]=\"ffLinkedGrcObjects\"\r\n[isNotValidGrcObject]=\"isNotValidGrcObject\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i8.LineLoaderComponent, selector: "app-line-loader", inputs: ["loaderHeight"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "component", type: i10.CategoryListComponent, selector: "app-category-list", inputs: ["categoryList", "selectedCategory", "loaded"], outputs: ["saveSelectedCategory", "closeList", "closeCategoriesList"] }, { kind: "component", type: i11.BulkViewComponent, selector: "app-bulk-view", inputs: ["riskBulkUpload", "templateInfo", "fileName", "assessmentDaysEnable", "defaultOwner", "loader", "ffLinkedGrcObjects"], outputs: ["submitRiskBulkUpload", "cancel"] }] }); }
|
|
814
835
|
}
|
|
815
836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddMultipleRiskComponent, decorators: [{
|
|
816
837
|
type: Component,
|
|
817
|
-
args: [{ selector: 'app-add-multiple-risk', template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"getCategoryList()\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\" [loaded]=\"!isLoader\" >\r\n</app-category-list>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n[ffLinkedGrcObjects]=\"ffLinkedGrcObjects\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
|
|
838
|
+
args: [{ selector: 'app-add-multiple-risk', template: "<div class=\"add-multiple-risk\">\r\n <!-- main container starts here -->\r\n <div class=\"add-multiple-risk-body\" [class.disabled]=\"showCategoryList\">\r\n <div class=\"add-multiple-risk-container\">\r\n <div class=\"image\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/spreadsheet-multiple-category.svg\" alt=\"\" />\r\n </div>\r\n\r\n <h4 id=\"multipleRisk\">You can add multiple risk in just three easy steps</h4>\r\n <ul class=\"list\">\r\n <li> Select a Risk Category.</li>\r\n <li> Download the template and fill in the details.</li>\r\n <li> Upload the .xlsx file and you're good to go!</li>\r\n </ul>\r\n <div class=\"vx-form-group\" [attr.id]=\"'scrollReference'\">\r\n <label class=\"vx-control-panel\">Risk Category <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!category.selectedCategory\">\r\n <input type=\"text\" (click)=\"getCategoryList()\" placeholder=\"Select Risk Category\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"category.selectedCategory\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" (click)=\"removeCategory()\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"category?.selectedCategory?.category_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.selectedCategory?.category_name}}</span>\r\n </div>\r\n\r\n <!-- <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\" (click)=\"removeCategory()\"></i>\r\n {{category?.selectedCategory?.category_name}}</span>\r\n </div> -->\r\n <button class=\"edit\" type=\"button\" (click)=\"showCategoryList=true;pickerChanged.emit(true)\"><i class=\"icons\"></i> Edit</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"category?.selectedCategory\" >\r\n <button *ngIf=\"downloadStatus === 'NOT_DOWNLOADING'\" class=\"download\" type=\"button\"\r\n (click)=\"downloadTemplate()\"> <i class=\"icons\"></i> Download Template\r\n </button>\r\n <div class=\"bulk-btn-progress\" *ngIf=\"downloadStatus === 'DOWNLOADING'\">\r\n Download in Progress\r\n <app-line-loader [loaderHeight]=\"'2'\"></app-line-loader>\r\n </div>\r\n <ng-container *ngIf=\"downloadStatus === 'DOWNLOADED'\">\r\n <div class=\"bulk-btn-progress\"><i class=\"icons\"></i>Download Complete</div>\r\n <div class=\"bulk-btn-again\">\r\n Is the file not downloaded?\r\n <button (click)=\"downloadTemplate()\">Retry Download</button>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n <p class=\"error-message\" *ngIf=\"isWrongFile || isWrongFormat|| isFileEmpty\"\r\n >{{errorMessage}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n</div>\r\n<app-category-list *ngIf=\"showCategoryList\" [categoryList]=\"categoryList\" [selectedCategory]=\"category\"\r\n (saveSelectedCategory)=\"saveSelectedCategory($event);pickerChanged.emit(false)\" (closeCategoriesList)=\"showCategoryList=false;pickerChanged.emit(false)\" [loaded]=\"!isLoader\" >\r\n</app-category-list>\r\n<app-bulk-view *ngIf=\"showExcel\"\r\n[riskBulkUpload]=\"riskBulkUpload\"\r\n[templateInfo]=\"templateInfo\"\r\n[defaultOwner]=\"defaultOwner\"\r\n[fileName]=\"fileName\"\r\n[loader]=\"loader\"\r\n[assessmentDaysEnable]=\"assessmentDeadLine\"\r\n(submitRiskBulkUpload)=\"submitRiskBulkUpload($event)\"\r\n(cancel)=\"reset()\"\r\n[ffLinkedGrcObjects]=\"ffLinkedGrcObjects\"\r\n[isNotValidGrcObject]=\"isNotValidGrcObject\"\r\n></app-bulk-view>\r\n\r\n<input type=\"file\" [(ngModel)]=\"fileValue\" id=\"fileInput\" class=\"hidden-input\" (change)=\"uploadedFile($event)\" />\r\n<app-smiley-dialog-inline *ngIf=\"showSmiley\" [message]=\"smileyMessage\" [actionButtons]=\"actionButtons\" (action)=\"action($event)\" (closeSmiley)=\"closeSmiley($event)\"></app-smiley-dialog-inline>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .add-multiple-risk{background:#fff;position:relative;z-index:1}@media only screen and (min-width: 1920px){::ng-deep .add-multiple-risk{height:calc(100vh - 200px);display:flex;align-items:center}}::ng-deep .add-multiple-risk-body{padding:0;display:block}::ng-deep .add-multiple-risk-body.disabled{pointer-events:none;filter:grayscale(1)}::ng-deep .add-multiple-risk-container{display:block;text-align:center}::ng-deep .add-multiple-risk-container .image{width:300px;margin:0 auto 24px}::ng-deep .add-multiple-risk-container h4{font-size:20px;line-height:30px;margin:0 0 20px;font-weight:500}::ng-deep .add-multiple-risk-container ul.list{padding:0;margin:0 0 40px;display:block;counter-reset:my-awesome-counter}::ng-deep .add-multiple-risk-container ul.list li{text-align:left;color:#747576;font-size:15px;line-height:38px;font-weight:400;list-style:none;counter-increment:my-awesome-counter;background:#fbfbfb;border:1px solid #F1F1F1;border-radius:4px;padding:0 12px}::ng-deep .add-multiple-risk-container ul.list li:before{content:counter(my-awesome-counter) \". \"}::ng-deep .add-multiple-risk-container ul.list li+li{margin-top:4px}::ng-deep .add-multiple-risk-container button.download{background:#fff;height:36px;border-radius:2px;cursor:pointer;border:1px solid #1e5dd3;color:#1e5dd3;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px}::ng-deep .add-multiple-risk-container button.download i{margin-right:8px}::ng-deep .add-multiple-risk-container .bulk-btn-progress{background:#f8f8f8;height:36px;border-radius:2px;cursor:pointer;border:1px solid #f8f8f8;color:#747576;text-transform:uppercase;padding:0 30px;font-weight:500;font-size:11px;position:relative;display:inline-block;line-height:34px}::ng-deep .add-multiple-risk-container .bulk-btn-progress i{color:#34aa44;font-size:14px;float:left;position:relative;margin:0 10px 0 0;font-weight:400}::ng-deep .add-multiple-risk-container .bulk-btn-progress span.progress{height:3px;position:absolute;bottom:0;left:0;width:100%;background:#1e5dd3}::ng-deep .add-multiple-risk-container .bulk-btn-again{color:#161b2f;font-size:11px;margin-top:10px}::ng-deep .add-multiple-risk-container .bulk-btn-again button{background:transparent;border:none;padding:0;font-size:11px;color:#1e5dd3;font-weight:500;text-decoration:underline;cursor:pointer;text-transform:uppercase;display:inline-block}.hidden-input{opacity:0}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
|
|
818
839
|
}], ctorParameters: function () { return [{ type: i1.AddRiskService }, { type: i2.AuthService }, { type: i3.SnackBarService }, { type: i4.FrequencyBulkService }]; }, propDecorators: { feature: [{
|
|
819
840
|
type: Input
|
|
820
841
|
}], pickerChanged: [{
|
|
@@ -826,4 +847,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
826
847
|
}], disconnectRefresh: [{
|
|
827
848
|
type: Output
|
|
828
849
|
}] } });
|
|
829
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBTTdCLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sd0JBQXdCO0lBd0ZuQyxZQUNVLFdBQTJCLEVBQzNCLFdBQXdCLEVBQ3hCLFFBQXlCLEVBQ3pCLGdCQUFzQztRQUh0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQTFGdEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxpQkFBWSxHQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFdBQVc7Z0JB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QkFDRSx1QkFBdUI7Z01BS3hCLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlMaXN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jYXRlZ29yeUxpc3QnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRkUmlza1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hZGQtcmlzay5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lCdWxrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbnR5cGUgQU9BID0gYW55W11bXTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLW11bHRpcGxlLXJpc2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmxlc3MnLCAnLi4vZm9ybXMubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGZlYXR1cmU6IGFueTtcclxuICBAT3V0cHV0KCkgcGlja2VyQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGVPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNhdGVnb3J5TGlzdDogQ2F0ZWdvcnlMaXN0ID0ge1xyXG4gICAgc3RyYXRlZ2ljOiB7XHJcbiAgICAgIG5hbWU6ICdTVFJBVEVHSUMnLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBvcGVyYXRpb25hbDoge1xyXG4gICAgICBuYW1lOiAnT1BFUkFUSU9OQUwnLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBjb21wbGlhbmNlOiB7XHJcbiAgICAgIG5hbWU6ICdDT01QTElBTkNFJyxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgb3RoZXJzOiB7XHJcbiAgICAgIG5hbWU6ICdPVEhFUlMnLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgY2F0ZWdvcnk6IGFueSA9IHtcclxuICAgIHR5cGU6ICdzdHJhdGVnaWMnLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgfTtcclxuXHJcbiAgcmlza0J1bGtVcGxvYWQ6IGFueSA9IHtcclxuICAgIGhlYWRlcjogW10sXHJcbiAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgIHJpc2tzOiBbXSxcclxuICB9O1xyXG5cclxuICB0ZW1wbGF0ZUluZm86IGFueSA9IHtcclxuICAgIG1lbWJlcklkOiAnJyxcclxuICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgb3duZXJMaXN0OiBbXSxcclxuICAgIHJjTGlzdDogW10sXHJcbiAgICBncmNMaXN0OiBbXSxcclxuICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgIGxpa2VsaWhvb2Q6IFtdLFxyXG4gICAgaW1wYWN0OiBbXSxcclxuICAgIHZlbG9jaXR5OiBbXSxcclxuICAgIHZ1bG5lcmFiaWxpdHk6IFtdLFxyXG4gIH07XHJcblxyXG4gIGlzTG9hZGVyID0gZmFsc2U7XHJcbiAgc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gIHRlbXBsYXRlRG93bmxvYWRlZCA9IGZhbHNlO1xyXG4gIGRvd25sb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIHNldHRpbmdzSW5mbyE6IGFueTtcclxuICBpc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gIGZpbGVOYW1lOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIGFzc2Vzc21lbnREZWFkTGluZTogYW55O1xyXG4gIHNob3dFeGNlbCA9IGZhbHNlO1xyXG4gIGZpbGVWYWx1ZTogYW55O1xyXG4gIG1lbWJlcklkID0gMDtcclxuICBvcmdhbml6YXRpb25JZCA9IDA7XHJcbiAgZXJyb3JNZXNzYWdlID0gJyBpbnZhbGlkIGZpbGUgZXJyb3InO1xyXG4gIGRvd25sb2FkU3RhdHVzOiBzdHJpbmcgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICBkb3dubG9hZFBlcmNlbnQgPSAwO1xyXG4gIGZmTGlua2VkR3JjT2JqZWN0czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzbWlsZXlNZXNzYWdlID0gYFlvdSdyZSBBbGwgU2V0ISBXZSdyZSB1cGxvYWRpbmcgdGhlIHJpc2tzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBiZSBub3RpZmllZCBvbmNlIHRoZSByaXNrcyBoYXZlIGJlZW4gdXBsb2FkZWQuYDtcclxuICBhY3Rpb25CdXR0b25zID0gW1xyXG4gICAgeyBidXR0b25UZXh0OiAnQWRkIE1vcmUgUmlza3MnLCBjbGFzczogJ3doaXRlLWJ0bicsIGlkOiAnYWRkTW9yZScgfSxcclxuICAgIHsgYnV0dG9uVGV4dDogJ1ZpZXcgUmlzaycsIGNsYXNzOiAnYmx1ZS1idG4nLCBpZDogJ3ZpZXdSaXNrcycgfSxcclxuICBdO1xyXG4gIHNob3dTbWlsZXkgPSBmYWxzZTtcclxuICBtZW1iZXJfb2JqX2lkID0gJyc7XHJcbiAgZGVmYXVsdE93bmVyID0gJyc7XHJcbiAgcmlza0RhdGEhOiBhbnk7XHJcbiAgZnJlcXVlbmN5VHlwZSA9IFtcclxuICAgICd3ZWVrbHknLFxyXG4gICAgJ21vbnRobHknLFxyXG4gICAgJ3F1YXJ0ZXJseScsXHJcbiAgICAnYmlhbm51YWwnLFxyXG4gICAgJ2FubnVhbCcsXHJcbiAgICAnb25lIHRpbWUnLFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByaXNrU2VydmljZTogQWRkUmlza1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5QnVsa1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHt9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgICB0aGlzLmdldFNldHRpbmdzSW5mbygpO1xyXG5cclxuICAgIHRoaXMub3JnYW5pemF0aW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCk7XHJcbiAgICB0aGlzLm1lbWJlcklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRNZW1iZXJJZCgpO1xyXG4gICAgdGhpcy5tZW1iZXJfb2JqX2lkID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyRGV0YWlscygpLl9pZDtcclxuICAgIHRoaXMuc2V0RmVhdHVyZUZsYWcoKTtcclxuICB9XHJcbiAgZ2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgdGhpcy5zaG93Q2F0ZWdvcnlMaXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMucGlja2VyQ2hhbmdlZC5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldENhdGVnb3J5TGlzdCgpLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnN0cmF0ZWdpYy5kYXRhID0gcmVzLnN0cmF0ZWdpY19hcnI7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3Qub3BlcmF0aW9uYWwuZGF0YSA9IHJlcy5vcGVyYXRpb25hbF9hcnI7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3QuY29tcGxpYW5jZS5kYXRhID0gcmVzLmNvbXBsaWFuY2VfYXJyO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm90aGVycy5kYXRhID0gcmVzLm90aGVyc19hcnI7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBzYXZlU2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkICE9XHJcbiAgICAgIGNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnTk9UX0RPV05MT0FESU5HJztcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IGNhdGVnb3J5O1xyXG4gICAgY29uc3QgcmVmZXJlbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Njcm9sbFJlZmVyZW5jZScpO1xyXG4gICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICByZWZlcmVuY2Uuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzZXQoKTtcclxuICB9XHJcbiAgcmVtb3ZlQ2F0ZWdvcnkoKSB7XHJcbiAgICB0aGlzLmNhdGVnb3J5ID0ge1xyXG4gICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gIH1cclxuICBnZXRTZXR0aW5nc0luZm8oKSB7XHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldFJpc2tTZXR0aW5nRGV0YWlscygpLnN1YnNjcmliZShcclxuICAgICAgKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvID0gcmVzO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICB0cmlnZ2VyQnJvd3NlRmlsZSgpIHtcclxuICAgIGNvbnN0IGdldEZpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZUlucHV0Jyk7XHJcbiAgICBpZiAoZ2V0RmlsZSkge1xyXG4gICAgICBnZXRGaWxlLmNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGxvYWRlZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZCA9IHtcclxuICAgICAgICBoZWFkZXI6IFtdLFxyXG4gICAgICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgICAgIHJpc2tzOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy50ZW1wbGF0ZUluZm8gPSB7XHJcbiAgICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICAgIG93bmVyTGlzdDogW10sXHJcbiAgICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgICBncmNMaXN0OiBbXSxcclxuICAgICAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICAgICAgbGlrZWxpaG9vZDogW10sXHJcbiAgICAgICAgaW1wYWN0OiBbXSxcclxuICAgICAgICB2ZWxvY2l0eTogW10sXHJcbiAgICAgICAgdnVsbmVyYWJpbGl0eTogW10sXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzY3JvbGxSZWZlcmVuY2UnKTtcclxuICAgICAgaWYgKHJlZmVyZW5jZSkge1xyXG4gICAgICAgIHJlZmVyZW5jZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWxlTmFtZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXS5uYW1lO1xyXG5cclxuICAgICAgY29uc3QgdGFyZ2V0OiBEYXRhVHJhbnNmZXIgPSBldmVudC50YXJnZXQgYXMgRGF0YVRyYW5zZmVyO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGN1cmx5XHJcbiAgICAgIGlmICh0YXJnZXQuZmlsZXMubGVuZ3RoICE9PSAxKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBtdWx0aXBsZSBmaWxlcycpO1xyXG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICBjb25zdCB3YjogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChic3RyLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICAgIGNvbnN0IHdzbmFtZTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1swXTtcclxuICAgICAgICBjb25zdCB3c25hbWUxOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzFdO1xyXG5cclxuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcclxuICAgICAgICBjb25zdCB0ZW1wRGF0YTogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lMV07XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih3cywge1xyXG4gICAgICAgICAgaGVhZGVyOiAxLFxyXG4gICAgICAgIH0pIGFzIEFPQTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEsICdkYXRhJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7IGhlYWRlcjogMSB9KSBhcyBBT0E7XHJcbiAgICAgICAgY29uc3QgdGVtcExpc3QgPSB0RGF0YS5maWx0ZXIoXHJcbiAgICAgICAgICAoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGVtcExpc3QsICd0ZW1wTGlzdCcpO1xyXG4gICAgICAgIGNvbnN0IGdldENvbHVtbldpc2VEYXRhID0gKGRhdGE6IGFueVtdW10pOiBhbnlbXVtdID0+IHtcclxuICAgICAgICAgIHJldHVybiBkYXRhWzBdLm1hcCgoXywgY29sSW5kZXgpID0+IGRhdGEubWFwKChyb3cpID0+IHJvd1tjb2xJbmRleF0pKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBjb2x1bW5XaXNlRGF0YSA9IGdldENvbHVtbldpc2VEYXRhKHREYXRhKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhjb2x1bW5XaXNlRGF0YSwgJ2NvbHVtbkRhdGEnKTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5tZW1iZXJJZCA9IHRlbXBMaXN0WzBdWzI3XTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5jYXRlZ29yeUlkID0gdGVtcExpc3RbMF1bMjZdO1xyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQuaGVhZGVyID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgdGhpcy5kYXRhWzRdLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMClcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICB0aGlzLmRhdGFbNV0uZmlsdGVyKCh3ZWlnaHRGYWN0b3I6IGFueSkgPT4gd2VpZ2h0RmFjdG9yLmxlbmd0aCA+IDApXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGVtcExpc3QuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbOF0pIHtcclxuICAgICAgICAgICAgY29uc3QgbWVtYmVyID0ge1xyXG4gICAgICAgICAgICAgIG5hbWU6IGVsZW1lbnRbOF0sXHJcbiAgICAgICAgICAgICAgbWVtYmVyX2lkOiBlbGVtZW50WzldLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3QucHVzaChtZW1iZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMl0pIHtcclxuICAgICAgICAgICAgY29uc3QgbWl0aWdhdGlvbiA9IHtcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uTmFtZTogZWxlbWVudFsyXSxcclxuICAgICAgICAgICAgICBtaXRpZ2F0aW9uX2lkOiBlbGVtZW50WzNdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5wdXNoKG1pdGlnYXRpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbNl0pIHtcclxuICAgICAgICAgICAgY29uc3QgcmMgPSB7XHJcbiAgICAgICAgICAgICAgcmNOYW1lOiBlbGVtZW50WzZdLFxyXG4gICAgICAgICAgICAgIHJjX2lkOiBlbGVtZW50WzddLFxyXG4gICAgICAgICAgICAgIG93bmVyX2lkczogZWxlbWVudFsxMV0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5wdXNoKHJjKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy50ZW1wbGF0ZUluZm8ucmNMaXN0LCAncmNMaXN0Jyk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTJdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5saWtlbGlob29kLnB1c2goZWxlbWVudFsxMl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTNdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QucHVzaChlbGVtZW50WzEzXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpICYmXHJcbiAgICAgICAgICAgIGVsZW1lbnRbMTRdXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udmVsb2NpdHkucHVzaChlbGVtZW50WzE0XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykgJiZcclxuICAgICAgICAgICAgZWxlbWVudFsxNV1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52dWxuZXJhYmlsaXR5LnB1c2goZWxlbWVudFsxNV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlclswXSAhPT1cclxuICAgICAgICAgICdXaGF0IHJpc2sgd291bGQgeW91IGxpa2UgdG8gbWFuYWdlPyonXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YT8uc2xpY2UoNyk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8/Lm93bmVyTGlzdD8uZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PSB0aGlzLm1lbWJlcklkXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoZGVmYXVsdE93bmVyICE9IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdFtkZWZhdWx0T3duZXJdLm5hbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tZW1iZXJfb2JqX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkIHx8XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLmNhdGVnb3J5SWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmNoZWNrRW1wdHlGaWxlKCk7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlcls2XSA9PT0gJ1Jpc2sgQXNzZXNzbWVudCBEZWFkbGluZSonKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJpc2tEYXRhID0gdGhpcy5kYXRhLmZpbHRlcihcclxuICAgICAgICAgIChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmlza0RhdGEuZm9yRWFjaCgocmlzazogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zdCBvYmo6IGFueSA9IHtcclxuICAgICAgICAgIC8vICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBtaXRpZ2F0aW9uUHJpb3JpdHk6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG92ZXJzZWVyOiByaXNrWzVdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gaWYgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lKSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5hc3Nlc3NtZW50RGVhZExpbmUgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmoubGlrZWxpaG9vZCA9IHJpc2tbN10gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5pbXBhY3QgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbMTBdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IGN1c3RvbVRhZ3M6IGFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzcgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s3XSA/PyAnJztcclxuXHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDMpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDQpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICAgIG9iai52dWxuZXJhYmlsaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzYgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgbGV0IG9iaiA9IHRoaXMuc2V0Umlza0RldGFpbHMocmlzayk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyaXNrRGF0YSwgJ3Jpc2tEYXRhJyk7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8ubGlrZWxpaG9vZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/Lmxpa2VsaWhvb2QuaW5jbHVkZXMob2JqPy5saWtlbGlob29kKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy5pbXBhY3QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QuaW5jbHVkZXMob2JqPy5pbXBhY3QpKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udmVsb2NpdHkgJiZcclxuICAgICAgICAgICAgIXRoaXMudGVtcGxhdGVJbmZvPy52ZWxvY2l0eS5pbmNsdWRlcyhvYmo/LnZlbG9jaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udnVsbmVyYWJpbGl0eSAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/LnZ1bG5lcmFiaWxpdHkuaW5jbHVkZXMob2JqPy52dWxuZXJhYmlsaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLnB1c2gob2JqKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LnJpc2tzLFxyXG4gICAgICAgICAgJ3Jpc2tra2tra2tra2tra2tra2tra0RERERERERBQUFBQUFBQUFBVFRUVFRUVFRUQUFBQSdcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYyA9IHJpc2sucmNOYW1lO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ2hoaGhoaGhoaGhoJywgc2VsZWN0ZWRSYyk7XHJcblxyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkUmMpIHtcclxuICAgICAgICAgICAgZm9yIChcclxuICAgICAgICAgICAgICBsZXQgY29sSW5kZXggPSAyOTtcclxuICAgICAgICAgICAgICBjb2xJbmRleCA8IGNvbHVtbldpc2VEYXRhLmxlbmd0aDtcclxuICAgICAgICAgICAgICBjb2xJbmRleCArPSAyXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJjTmFtZXNDb2x1bW4gPSBjb2x1bW5XaXNlRGF0YVtjb2xJbmRleF07XHJcbiAgICAgICAgICAgICAgY29uc3QgcmNJZHNDb2x1bW4gPSBjb2x1bW5XaXNlRGF0YVtjb2xJbmRleCArIDFdO1xyXG4gICAgICAgICAgICAgIGlmIChyY05hbWVzQ29sdW1uWzBdID09IHNlbGVjdGVkUmMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcmNOYW1lc0NvbHVtbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyY05hbWVzQ29sdW1uLCAncmNjY2NjY2NjY2NjJyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGdyYyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBncmNOYW1lOiByY05hbWVzQ29sdW1uW2ldLFxyXG4gICAgICAgICAgICAgICAgICAgIGdyY0lkOiByY0lkc0NvbHVtbltpXSxcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmNOYW1lc0NvbHVtblsxXSwgJ2dnZ2dncnJycmNjY2NjJyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJjSWRzQ29sdW1uWzFdLCAnZ3JjSUlJSUlJSUlJRFNTJyk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLmdyY0xpc3QucHVzaChncmMpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnRlbXBsYXRlSW5mby5ncmNMaXN0LCAnZ2dyY0xpc3QnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dFeGNlbCA9IHRydWU7XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcodGFyZ2V0Py5maWxlc1swXSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0VtcHR5RmlsZSgpIHtcclxuICAgIGxldCBpc0VtcHR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwKTtcclxuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoIDwgMSkge1xyXG4gICAgICBpc0VtcHR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc0VtcHR5O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tWYWxpZGl0eShyaXNrOiBhbnkpIHtcclxuICAgIGNvbnN0IHJlID0gLyZuYnNwO3w8YnI+L2c7XHJcbiAgICBsZXQgdHJpbW1lZE5hbWUgPSByaXNrWzBdID8gcmlza1swXS50b1N0cmluZygpLnJlcGxhY2UocmUsICcnKS50cmltKCkgOiAnJztcclxuICAgIHRyaW1tZWROYW1lID0gdHJpbW1lZE5hbWUucmVwbGFjZSgvICArL2csICcgJyk7XHJcbiAgICAvLyB8fCAodGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgJiYgKCFyaXNrWzZdKSlcclxuICAgIGlmIChcclxuICAgICAgIXRyaW1tZWROYW1lIHx8XHJcbiAgICAgIChyaXNrWzNdICYmIHJpc2tbM10gPT0gcmlza1s3XSkgfHxcclxuICAgICAgKCFyaXNrWzNdICYmIHRoaXMuZGVmYXVsdE93bmVyID09IHJpc2tbN10pIHx8XHJcbiAgICAgICFyaXNrWzJdIHx8XHJcbiAgICAgICF0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKHJpc2tbNV0/LnRvTG93ZXJDYXNlKCkpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BRElORyc7XHJcbiAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDA7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpO1xyXG4gICAgY29uc3QgZG93bmxvYWREYXRlID0gdG9kYXlbMF07XHJcbiAgICBjb25zdCBmaWxlTmFtZSA9XHJcbiAgICAgICdWQ29tcGx5IC0gUmlzayBNb2R1bGUgLSBBZGQgTXVsdGlwbGUgUmlza3MgLSAnICtcclxuICAgICAgdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSArXHJcbiAgICAgICcgLSAnICtcclxuICAgICAgZG93bmxvYWREYXRlICtcclxuICAgICAgJy54bHN4JztcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlXHJcbiAgICAgIC5kb3dubG9hZFRlbXBsYXRlKHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5faWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEubG9hZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMTAwICogKGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZGF0YS5ib2R5KSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSB0aGlzLnJpc2tTZXJ2aWNlLmRvd25Mb2FkRmlsZShcclxuICAgICAgICAgICAgICAgIGRhdGEuYm9keSxcclxuICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bHN4JyxcclxuICAgICAgICAgICAgICAgIGZpbGVOYW1lXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSwgMTUwMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJztcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRSaXNrQnVsa1VwbG9hZChjb21wbGV0ZUFzc2Vzc21lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0gW107XHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgZnJlcXVlbmN5VmFsdWUgPSAnJztcclxuICAgICAgaWYgKHJpc2s/LmZyZXF1ZW5jeS50b0xvd2VyQ2FzZSgpID09PSAnb25lIHRpbWUnKSB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgMSk7XHJcbiAgICAgICAgZnJlcXVlbmN5VmFsdWUgPVxyXG4gICAgICAgICAgJzB+JyArXHJcbiAgICAgICAgICAnJyArXHJcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIChkYXRlLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgICAnficgK1xyXG4gICAgICAgICAgZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZnJlcXVlbmN5VmFsdWUgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2Uuc2hvcnRIYW5kX2ZyZXFDYWwoXHJcbiAgICAgICAgICByaXNrPy5mcmVxdWVuY3lcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocmlzay5pc1ZhbGlkKSB7XHJcbiAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgICAgdGl0bGU6IHJpc2s/LnJpc2tOYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IHJpc2s/LmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgY2F0ZWdvcnlfY3VzdG9tX3RhZzogcmlzaz8uY3VzdG9tVGFnLFxyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGU6XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSxcclxuICAgICAgICAgIG93bmVyOiByaXNrPy5vd25lclxyXG4gICAgICAgICAgICA/IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm93bmVyLCAnb3duZXInKVxyXG4gICAgICAgICAgICA6IHRoaXMucmV0dXJuSWRzKHRoaXMuZGVmYXVsdE93bmVyLCAnb3duZXInKSxcclxuICAgICAgICAgIHJpc2tfb3duZXI6IHJpc2s/LnJpc2tPd25lcixcclxuICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZFxyXG4gICAgICAgICAgICA/IFt0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZF1cclxuICAgICAgICAgICAgOiBbXSxcclxuICAgICAgICAgIG1hbmFnZV9vdmVyc2lnaHQ6IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm92ZXJzZWVyLCAnb3ZlcnNlZXInKSxcclxuICAgICAgICAgIHJjX2lkOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19pZCcpLFxyXG4gICAgICAgICAgaGVhZF9pZHM6IHRoaXMucmV0dXJuSWRzKHJpc2s/LnJjTmFtZSwgJ3JjX293bmVyX2lkcycpLCAvLzIgdG8gYmUgYXJheVxyXG4gICAgICAgICAgbGlua2VkX0dSQ19pZHM6IHRoaXMuZmZMaW5rZWRHcmNPYmplY3RzXHJcbiAgICAgICAgICAgID8gdGhpcy5yZXR1cm5JZHMocmlzaz8ubGlua2VkR3JjT2JqZWN0LCAnZ3JjX2lkJylcclxuICAgICAgICAgICAgOiBbXSxcclxuICAgICAgICAgIHJhdGluZ19hcnI6IFtcclxuICAgICAgICAgICAgcmlzaz8ubGlrZWxpaG9vZCA/IHJpc2s/Lmxpa2VsaWhvb2Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8uaW1wYWN0ID8gcmlzaz8uaW1wYWN0LnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICAgIHJpc2s/LnZlbG9jaXR5ID8gcmlzaz8udmVsb2NpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udnVsbmVyYWJpbGl0eSA/IHJpc2s/LnZ1bG5lcmFiaWxpdHkuc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBtZW1iZXJfaWQ6IHRoaXMubWVtYmVySWQsXHJcbiAgICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMub3JnYW5pemF0aW9uSWQsXHJcbiAgICAgICAgICByaXNrX3Byb2dyZXNzX2ZsYWc6IDEsXHJcbiAgICAgICAgICBJZkFzc2Vzc21lbnREb25lOiAwLFxyXG4gICAgICAgICAgd29ya3Nob3BfaWQ6ICcnLFxyXG4gICAgICAgICAgY29tcGxldGVfYXNzZXNzbWVudDogY29tcGxldGVBc3Nlc3NtZW50ID8gMSA6IDAsXHJcbiAgICAgICAgICBtaXRpZ2F0aW9uOiB0aGlzLnJldHVybklkcyhyaXNrPy5taXRpZ2F0aW9uUHJpb3JpdHksICdtaXRpZ2F0aW9uJyksIC8vMyB3cm9uZ1xyXG4gICAgICAgICAgd2VpZ2h0YWdlX2VuYWJsZTogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9lbmFibGUsXHJcbiAgICAgICAgICB0cmVhdG1lbnRfdHlwZTogdGhpcy5zZXR0aW5nc0luZm8/LnRyZWF0bWVudF9jcml0ZXJpYSxcclxuICAgICAgICAgIHdlaWdodGFnZV9kZXRhaWxzOiB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHMsXHJcbiAgICAgICAgICB3ZWlnaHRhZ2Vfc2V0X2J5OiB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX3NldF9ieSxcclxuICAgICAgICAgIHdlaWdodGFnZV9zdHI6IFtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy5pbXBhY3QudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8ubGlrZWxpaG9vZC52YWx1ZSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy52ZWxvY2l0eS52YWx1ZSxcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzPy52dWxuZXJhYmlsaXR5LnZhbHVlLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIC8vIGFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5OiB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnksIC8vY2hlY2sxIG5vdCBhcHBlYXJpbmdcclxuICAgICAgICAgIGFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5OlxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9zZXRfYnkgPz8gdGhpcy5tZW1iZXJJZCwgLy9jaGVjazEgbm90IGFwcGVhcmluZ1xyXG4gICAgICAgICAgYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzOiB0aGlzLnNldHRpbmdzSW5mb1xyXG4gICAgICAgICAgICA/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlXHJcbiAgICAgICAgICAgID8gdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5c1xyXG4gICAgICAgICAgICA6IHJpc2s/LmFzc2Vzc21lbnREZWFkTGluZSxcclxuICAgICAgICAgIGZyZXF1ZW5jeV9kZXRhaWxzOiB7XHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeTogZnJlcXVlbmN5VmFsdWUsXHJcbiAgICAgICAgICAgIHN0YXJ0ZWRfYXQ6XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpKSA/PyBtb21lbnQoKS5mb3JtYXQoJ1lZWVktTU0tREQnKSxcclxuICAgICAgICAgICAgZnJlcXVlbmN5X3RpbWU6ICcxMTowMCBwbScsXHJcbiAgICAgICAgICAgIHJlbWluZF9iZWZvcmVfZGF5czogcmlzaz8uZW1haWxSZW1pbmRlclxyXG4gICAgICAgICAgICAgID8gcmlzaz8uZW1haWxSZW1pbmRlclxyXG4gICAgICAgICAgICAgIDogdGhpcy5zZXREZWZhdWx0RW1haWxSZW1pbmRlclZhbHVlKHJpc2s/LmZyZXF1ZW5jeSksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcmlza19sYWJlbDogdGhpcy5zZXRSaXNrTGFiZWwocmlzaz8ucmlza0xhYmVsKSxcclxuICAgICAgICAgIG1pdGlnYXRpb25fcGxhbl9yZWNvbW1lbmRhdGlvbjogcmlzaz8ubWl0aWdhdGlvblBsYW5zID8/ICcnLFxyXG4gICAgICAgICAgc2FtZVJpc2tSYXRpbmdzRm9yQWxsUkM6IHJpc2s/LmFwcGx5U2FtZVJpc2tSYXRpbmcgPz8gJ05vJyxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHBheWxvYWQucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmlza1NlcnZpY2UuYWRkQnVsa1Jpc2socGF5bG9hZCkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJpc2tEYXRhID0gcmVzO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coXHJcbiAgICAgICAgICAnT09QUyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHRoZSBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQuIENvdWxkIHlvdSBwbGVhc2UgdHJ5IG9uZSBtb3JlIHRpbWU/JyxcclxuICAgICAgICAgICdhbGVydCdcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuSWRzKGl0ZW06IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgJ3JjX2lkJzpcclxuICAgICAgICBjb25zdCByY0lkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QuZm9yRWFjaCgocmNfZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmNfZWxlbWVudC5yY05hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICByY0lkLnB1c2gocmNfZWxlbWVudC5yY19pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJjSWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JjX293bmVyX2lkcyc6XHJcbiAgICAgICAgbGV0IG93bmVyX2lkczogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ucmNMaXN0LmZvckVhY2goKGhlYWRlcklkczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoaGVhZGVySWRzLnJjTmFtZSA9PSBpdGVtICYmIGhlYWRlcklkcy5vd25lcl9pZHMpIHtcclxuICAgICAgICAgICAgb3duZXJfaWRzID0gaGVhZGVySWRzLm93bmVyX2lkcy5pbmNsdWRlcygnLCcpXHJcbiAgICAgICAgICAgICAgPyBoZWFkZXJJZHMub3duZXJfaWRzLnNwbGl0KCcsJykubWFwKE51bWJlcilcclxuICAgICAgICAgICAgICA6IFtOdW1iZXIoaGVhZGVySWRzLm93bmVyX2lkcyldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcl9pZHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ293bmVyJzpcclxuICAgICAgICBjb25zdCBvd25lcklkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5uYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgb3duZXJJZC5wdXNoKGVsZW1lbnQubWVtYmVyX2lkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJJZDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb3ZlcnNlZXInOlxyXG4gICAgICAgIGNvbnN0IG92ZXJzZWVySWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdC5mb3JFYWNoKChvc19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChvc19lbGVtZW50Lm5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBvdmVyc2VlcklkLnB1c2gob3NfZWxlbWVudC5tZW1iZXJfaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvdmVyc2VlcklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnbWl0aWdhdGlvbic6XHJcbiAgICAgICAgbGV0IG1pdGlnYXRpb25JZDogYW55ID0gMDtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5mb3JFYWNoKChtaXRpZ2F0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChtaXRpZ2F0aW9uLm1pdGlnYXRpb25OYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgbWl0aWdhdGlvbklkID0gbWl0aWdhdGlvbi5taXRpZ2F0aW9uX2lkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBtaXRpZ2F0aW9uSWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdncmNfaWQnOlxyXG4gICAgICAgIGNvbnN0IGdyY0lkOiBhbnkgPSBbXTtcclxuICAgICAgICBjb25zdCBncmNFbGVtZW50ID0gdGhpcy50ZW1wbGF0ZUluZm8uZ3JjTGlzdC5maW5kKFxyXG4gICAgICAgICAgKGdyY19lbGVtZW50OiBhbnkpID0+IGdyY19lbGVtZW50LmdyY05hbWUgPT09IGl0ZW1cclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBncmNFbGVtZW50ID8gW2dyY0VsZW1lbnQuZ3JjSWRdIDogW107XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgIGhlYWRlcjogW10sXHJcbiAgICAgIHdlaWdodEZhY3RvcnM6IFtdLFxyXG4gICAgICByaXNrczogW10sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgICByY0xpc3Q6IFtdLFxyXG4gICAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICAgIGdyY0xpc3Q6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsZU5hbWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRhdGEgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmFzc2Vzc21lbnREZWFkTGluZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuICB9XHJcbiAgYWN0aW9uKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQpIHtcclxuICAgICAgY2FzZSAnYWRkTW9yZSc6XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeSA9IHtcclxuICAgICAgICAgIHR5cGU6ICdzdHJhdGVnaWMnLFxyXG4gICAgICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd2aWV3Umlza3MnOlxyXG4gICAgICAgIHRoaXMudmlld1Jpc2tzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZVNtaWxleShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KHsgZXZ0OiB0aGlzLnJpc2tEYXRhLCBjb25maXJtOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIHZpZXdSaXNrcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzY29ubmVjdFJlZnJlc2guZW1pdChmYWxzZSk7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmc7XHJcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3Quc3RhcnRzV2l0aCgnbG9jYWxob3N0JykpIHtcclxuICAgICAgdXJsID0gJ2h0dHA6Ly8nICsgd2luZG93LmxvY2F0aW9uLmhvc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB1cmwgPSAnaHR0cHM6Ly8nICsgd2luZG93LmxvY2F0aW9uLmhvc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3Quc3RhcnRzV2l0aCgnbG9jYWxob3N0JykpIHtcclxuICAgICAgdXJsICs9ICcvcmlzay1yZWdpc3Rlcic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB1cmwgKz0gJy9yaXNrL3Jpc2stcmVnaXN0ZXInO1xyXG4gICAgfVxyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdCB0YWtlcyBhbiBhcnJheSBvZiBzdHJpbmdzIGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aXRoIHRoZSBhcnJheSB2YWx1ZXMgYXMgcHJvcGVydGllcy5cclxuICAgKiA8L2NvZGU+XHJcbiAgICogQHBhcmFtIHthbnl9IHJpc2sgLSBhbnkgPSBbXHJcbiAgICogQHJldHVybnMgW1xyXG4gICAqICAge1xyXG4gICAqICAgICBcInJpc2tOYW1lXCI6IFwiXCIsXHJcbiAgICogICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcclxuICAgKiAgICAgXCJyY05hbWVcIjogXCJcIixcclxuICAgKiAgICAgXCJvd25lclwiOiBcIlwiLFxyXG4gICAqICAgICBcImZyZXF1ZW5jeVwiOiBcIlwiLFxyXG4gICAqICAgICBcImVtYWlsUmVtaW5kZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJvdmVyc2VlclwiOiBcIlwiLFxyXG4gICAqICAgICBcImlzVmFsaWRcIjogZmFsc2UsXHJcbiAgICogICAgIFwibWl0aWdhdGlvblByaW9yaXR5XCI6IFwiXCIsXHJcbiAgICovXHJcbiAgc2V0Umlza0RldGFpbHMocmlzazogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhyaXNrLCAncmlzayBkZXRhaWxzJyk7XHJcbiAgICBsZXQgb2JqOiBhbnk7XHJcbiAgICBvYmogPSB7XHJcbiAgICAgIHJpc2tOYW1lOiByaXNrWzBdID8/ICcnLFxyXG4gICAgICBkZXNjcmlwdGlvbjogcmlza1sxXSA/PyAnJyxcclxuICAgICAgcmNOYW1lOiByaXNrWzJdID8/ICcnLFxyXG4gICAgICBvd25lcjogcmlza1szXSA/PyAnJyxcclxuICAgICAgcmlza093bmVyOiByaXNrWzRdID8/ICcnLFxyXG4gICAgICBmcmVxdWVuY3k6IHJpc2tbNV0gPz8gJycsXHJcbiAgICAgIGVtYWlsUmVtaW5kZXI6IHJpc2tbNl0sXHJcbiAgICAgIG92ZXJzZWVyOiByaXNrWzddID8/ICcnLFxyXG4gICAgICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICB9O1xyXG4gICAgbGV0IGluZGV4ID0gODtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnUmVjb21tZW5kZWQgTWl0aWdhdGlvbiBQcmlvcml0eScpXHJcbiAgICApIHtcclxuICAgICAgb2JqWydtaXRpZ2F0aW9uUHJpb3JpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgb2JqWydtaXRpZ2F0aW9uUGxhbnMnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXgrKztcclxuICAgIG9ialsncmlza0xhYmVsJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBvYmpbJ2xpa2VsaWhvb2QnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXgrKztcclxuICAgIG9ialsnaW1wYWN0J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1ZlbG9jaXR5JykpIHtcclxuICAgICAgb2JqWyd2ZWxvY2l0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSkge1xyXG4gICAgICBvYmpbJ3Z1bG5lcmFiaWxpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkPy5oZWFkZXI/LmluY2x1ZGVzKFxyXG4gICAgICAgICdEbyB5b3Ugd2FudCB0byBhcHBseSB0aGUgc2FtZSByaXNrIHJhdGluZ3MgZm9yIGFsbCBSZXNwb25zaWJpbGl0eSBDZW50ZXJzPydcclxuICAgICAgKVxyXG4gICAgKSB7XHJcbiAgICAgIG9ialsnYXBwbHlTYW1lUmlza1JhdGluZyddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnTGlua2VkIEdSQyBPYmplY3QocyknKSkge1xyXG4gICAgICBvYmpbJ2xpbmtlZEdyY09iamVjdCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgIHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmN1c3RvbV90YWc/LmZvckVhY2goKHRhZzogYW55LCBpOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHRhZykge1xyXG4gICAgICAgIGNvbnN0IGNUYWcgPSB7XHJcbiAgICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrW2luZGV4ICsgaV0gPz8gJycsXHJcbiAgICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIG9ialsnY3VzdG9tVGFnJ10gPSBjdXN0b21UYWdzO1xyXG4gICAgb2JqWydpc1ZhbGlkRnJlcXVlbmN5J10gPSB0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKFxyXG4gICAgICBvYmo/LmZyZXF1ZW5jeT8udG9Mb3dlckNhc2UoKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgZnJlcXVlbmN5VHlwZSBpcyB3ZWVrbHksIHJldHVybiAyLCBpZiBpdCdzIG1vbnRobHksIHJldHVybiA3LCBpZiBpdCdzIHF1YXJ0ZXJseSwgcmV0dXJuIDcsXHJcbiAgICogaWYgaXQncyBiaWFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIGFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIG9uZSB0aW1lLCByZXR1cm4gMTUsIG90aGVyd2lzZVxyXG4gICAqIHJldHVybiAwLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZnJlcXVlbmN5VHlwZV0gLSBzdHJpbmcgLSB0aGUgZnJlcXVlbmN5IHR5cGUgb2YgdGhlIHJlbWluZGVyXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGRheXMgYmVmb3JlIHRoZSBldmVudCB0aGF0IHRoZSByZW1pbmRlciBzaG91bGQgYmUgc2VudC5cclxuICAgKi9cclxuICBzZXREZWZhdWx0RW1haWxSZW1pbmRlclZhbHVlKGZyZXF1ZW5jeVR5cGU/OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgc3dpdGNoIChmcmVxdWVuY3lUeXBlPy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIGNhc2UgJ3dlZWtseSc6XHJcbiAgICAgICAgcmV0dXJuIDI7XHJcbiAgICAgIGNhc2UgJ21vbnRobHknOlxyXG4gICAgICAgIHJldHVybiA3O1xyXG4gICAgICBjYXNlICdxdWFydGVybHknOlxyXG4gICAgICAgIHJldHVybiA3O1xyXG4gICAgICBjYXNlICdiaWFubnVhbCc6XHJcbiAgICAgICAgcmV0dXJuIDMwO1xyXG4gICAgICBjYXNlICdhbm51YWwnOlxyXG4gICAgICAgIHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnb25lIHRpbWUnOlxyXG4gICAgICAgIHJldHVybiAxNTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBsYWJlbCBpcyAnbmV3IHJpc2snLCByZXR1cm4gMSwgaWYgdGhlIGxhYmVsIGlzICdlbWVyZ2luZy9yYXBpZGx5IGNoYW5naW5nIHJpc2tzJywgcmV0dXJuIDIsXHJcbiAgICogb3RoZXJ3aXNlIHJldHVybiAxXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsYWJlbF0gLSB0aGUgbGFiZWwgb2YgdGhlIHJpc2tcclxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBleHByZXNzaW9uIGluIHRoZSBmdW5jdGlvbi5cclxuICAgKi9cclxuICBzZXRSaXNrTGFiZWwobGFiZWw/OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAobGFiZWw/LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnbmV3bHkgaWRlbnRpZmllZCByaXNrcyc6XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ3JhcGlkbHkgY2hhbmdpbmcgcmlza3MnOlxyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXCJJZiB0aGUgZGF0ZSBpcyBhIG51bWJlciwgY29udmVydCBpdCB0byBhIGRhdGUgb2JqZWN0LCB0aGVuIGNyZWF0ZSBhIG5ldyBkYXRlIG9iamVjdCB3aXRoIHRoZVxyXG4gICAqIHRpbWV6b25lIHNldCB0byB0aGUgdXNlcidzIHRpbWV6b25lLCB0aGVuIHJldHVybiB0aGUgZGF0ZSBpbiB0aGUgZm9ybWF0IFlZWVktTU0tREQuXCJcclxuICAgKiA8L2NvZGU+XHJcbiAgICogQHBhcmFtIHthbnl9IGRhdGUgLSBhbnkgLSB0aGUgZGF0ZSB5b3Ugd2FudCB0byBjaGFuZ2UgdGhlIHRpbWV6b25lIG9mXHJcbiAgICogQHJldHVybnMgVGhlIGRhdGUgaXMgYmVpbmcgcmV0dXJuZWQgaW4gdGhlIHRpbWV6b25lIG9mIHRoZSB1c2VyLlxyXG4gICAqL1xyXG4gIGNoYW5nZVRpbWVab25lKGRhdGU6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xyXG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnZEYXRlID0gbmV3IERhdGUoXHJcbiAgICAgIGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgIHRpbWVab25lOiB0aGlzLmF1dGhTZXJ2aWNlLnVzZXJEZXRhaWxzPy50aW1lem9uZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICByZXR1cm4gbW9tZW50KGludkRhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmVhdHVyZUZsYWcoKSB7XHJcbiAgICB0aGlzLmZmTGlua2VkR3JjT2JqZWN0cyA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9ncmNfdjEnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrXCI+XHJcbiAgICA8IS0tIG1haW4gY29udGFpbmVyIHN0YXJ0cyBoZXJlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrLWJvZHlcIiBbY2xhc3MuZGlzYWJsZWRdPVwic2hvd0NhdGVnb3J5TGlzdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlzay1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zcHJlYWRzaGVldC1tdWx0aXBsZS1jYXRlZ29yeS5zdmdcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxoNCBpZD1cIm11bHRpcGxlUmlza1wiPllvdSBjYW4gYWRkIG11bHRpcGxlIHJpc2sgaW4ganVzdCB0aHJlZSBlYXN5IHN0ZXBzPC9oND5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpPiBTZWxlY3QgYSBSaXNrIENhdGVnb3J5LjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+IERvd25sb2FkIHRoZSB0ZW1wbGF0ZSBhbmQgZmlsbCBpbiB0aGUgZGV0YWlscy48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPiBVcGxvYWQgdGhlIC54bHN4IGZpbGUgYW5kIHlvdSdyZSBnb29kIHRvIGdvITwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCIgIFthdHRyLmlkXT1cIidzY3JvbGxSZWZlcmVuY2UnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBDYXRlZ29yeSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwiIWNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2xpY2spPVwiZ2V0Q2F0ZWdvcnlMaXN0KClcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBSaXNrIENhdGVnb3J5XCIgcmVhZG9ubHk+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZFwiICpuZ0lmPVwiY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwQ29udGFpbmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMiB2eC1wci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCIgKGNsaWNrKT1cInJlbW92ZUNhdGVnb3J5KClcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwTmFtZSB2eC1mcy0xMSB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2NhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNoaXAtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJyZW1vdmVDYXRlZ29yeSgpXCI+JiN4ZTkwZDs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaG93Q2F0ZWdvcnlMaXN0PXRydWU7cGlja2VyQ2hhbmdlZC5lbWl0KHRydWUpXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPiBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeVwiID5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ05PVF9ET1dOTE9BRElORydcIiBjbGFzcz1cImRvd25sb2FkXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiPiA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYjs8L2k+IERvd25sb2FkIFRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdET1dOTE9BRElORydcIj5cclxuICAgICAgICAgICAgICAgICAgICBEb3dubG9hZCBpbiBQcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURFRCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYzs8L2k+RG93bmxvYWQgQ29tcGxldGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tYWdhaW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgSXMgdGhlIGZpbGUgbm90IGRvd25sb2FkZWQ/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1dyb25nRmlsZSB8fCBpc1dyb25nRm9ybWF0fHwgaXNGaWxlRW1wdHlcIlxyXG4gICAgICAgICAgICA+e3tlcnJvck1lc3NhZ2V9fTwvcD5cclxuXHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48YXBwLWNhdGVnb3J5LWxpc3QgKm5nSWY9XCJzaG93Q2F0ZWdvcnlMaXN0XCIgW2NhdGVnb3J5TGlzdF09XCJjYXRlZ29yeUxpc3RcIiBbc2VsZWN0ZWRDYXRlZ29yeV09XCJjYXRlZ29yeVwiXHJcbiAgICAoc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnkoJGV2ZW50KTtwaWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpXCIgKGNsb3NlQ2F0ZWdvcmllc0xpc3QpPVwic2hvd0NhdGVnb3J5TGlzdD1mYWxzZTtwaWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpXCIgW2xvYWRlZF09XCIhaXNMb2FkZXJcIiA+XHJcbjwvYXBwLWNhdGVnb3J5LWxpc3Q+XHJcbjxhcHAtYnVsay12aWV3ICpuZ0lmPVwic2hvd0V4Y2VsXCJcclxuW3Jpc2tCdWxrVXBsb2FkXT1cInJpc2tCdWxrVXBsb2FkXCJcclxuW3RlbXBsYXRlSW5mb109XCJ0ZW1wbGF0ZUluZm9cIlxyXG5bZGVmYXVsdE93bmVyXT1cImRlZmF1bHRPd25lclwiXHJcbltmaWxlTmFtZV09XCJmaWxlTmFtZVwiXHJcbltsb2FkZXJdPVwibG9hZGVyXCJcclxuW2Fzc2Vzc21lbnREYXlzRW5hYmxlXT1cImFzc2Vzc21lbnREZWFkTGluZVwiXHJcbihzdWJtaXRSaXNrQnVsa1VwbG9hZCk9XCJzdWJtaXRSaXNrQnVsa1VwbG9hZCgkZXZlbnQpXCJcclxuKGNhbmNlbCk9XCJyZXNldCgpXCJcclxuW2ZmTGlua2VkR3JjT2JqZWN0c109XCJmZkxpbmtlZEdyY09iamVjdHNcIlxyXG4+PC9hcHAtYnVsay12aWV3PlxyXG5cclxuPGlucHV0IHR5cGU9XCJmaWxlXCIgWyhuZ01vZGVsKV09XCJmaWxlVmFsdWVcIiBpZD1cImZpbGVJbnB1dFwiIGNsYXNzPVwiaGlkZGVuLWlucHV0XCIgKGNoYW5nZSk9XCJ1cGxvYWRlZEZpbGUoJGV2ZW50KVwiIC8+XHJcbjxhcHAtc21pbGV5LWRpYWxvZy1pbmxpbmUgKm5nSWY9XCJzaG93U21pbGV5XCIgW21lc3NhZ2VdPVwic21pbGV5TWVzc2FnZVwiIFthY3Rpb25CdXR0b25zXT1cImFjdGlvbkJ1dHRvbnNcIiAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCIgKGNsb3NlU21pbGV5KT1cImNsb3NlU21pbGV5KCRldmVudClcIj48L2FwcC1zbWlsZXktZGlhbG9nLWlubGluZT5cclxuIl19
|
|
850
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBTTdCLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFuQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEZuQyxZQUNVLFdBQTJCLEVBQzNCLFdBQXdCLEVBQ3hCLFFBQXlCLEVBQ3pCLGdCQUFzQztRQUh0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQWhHdEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxpQkFBWSxHQUFpQjtZQUMzQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFdBQVc7Z0JB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LHdCQUF3QjtnQkFDM0IsT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLHdCQUF3QjtnQkFDM0IsT0FBTyxDQUFDLENBQUM7WUFDWDtnQkFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxJQUFTO1FBQ3RCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsUUFBUTtTQUNqRCxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7K0dBOTZCVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5UUN6QnJDLGtrSkEyRUE7OzRGRGxEYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO2dNQUt4QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcbmltcG9ydCB7IENhdGVnb3J5TGlzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY2F0ZWdvcnlMaXN0JztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZFJpc2tTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYWRkLXJpc2suc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5QnVsa1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG50eXBlIEFPQSA9IGFueVtdW107XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1tdWx0aXBsZS1yaXNrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudC5sZXNzJywgJy4uL2Zvcm1zLmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XHJcbiAgQE91dHB1dCgpIHBpY2tlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHBvcHVsYXRlT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkaXNjb25uZWN0UmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjYXRlZ29yeUxpc3Q6IENhdGVnb3J5TGlzdCA9IHtcclxuICAgIHN0cmF0ZWdpYzoge1xyXG4gICAgICBuYW1lOiAnU1RSQVRFR0lDJyxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgb3BlcmF0aW9uYWw6IHtcclxuICAgICAgbmFtZTogJ09QRVJBVElPTkFMJyxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgY29tcGxpYW5jZToge1xyXG4gICAgICBuYW1lOiAnQ09NUExJQU5DRScsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIG90aGVyczoge1xyXG4gICAgICBuYW1lOiAnT1RIRVJTJyxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNhdGVnb3J5OiBhbnkgPSB7XHJcbiAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gIH07XHJcblxyXG4gIHJpc2tCdWxrVXBsb2FkOiBhbnkgPSB7XHJcbiAgICBoZWFkZXI6IFtdLFxyXG4gICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICByaXNrczogW10sXHJcbiAgfTtcclxuXHJcbiAgdGVtcGxhdGVJbmZvOiBhbnkgPSB7XHJcbiAgICBtZW1iZXJJZDogJycsXHJcbiAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgIG93bmVyTGlzdDogW10sXHJcbiAgICByY0xpc3Q6IFtdLFxyXG4gICAgZ3JjTGlzdDogW10sXHJcbiAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICBsaWtlbGlob29kOiBbXSxcclxuICAgIGltcGFjdDogW10sXHJcbiAgICB2ZWxvY2l0eTogW10sXHJcbiAgICB2dWxuZXJhYmlsaXR5OiBbXSxcclxuICB9O1xyXG5cclxuICBpc0xvYWRlciA9IGZhbHNlO1xyXG4gIHNob3dDYXRlZ29yeUxpc3QgPSBmYWxzZTtcclxuICB0ZW1wbGF0ZURvd25sb2FkZWQgPSBmYWxzZTtcclxuICBkb3dubG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICBzZXR0aW5nc0luZm8hOiBhbnk7XHJcbiAgaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICBpc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICBmaWxlTmFtZTogYW55O1xyXG4gIGRhdGE6IGFueTtcclxuICBhc3Nlc3NtZW50RGVhZExpbmU6IGFueTtcclxuICBzaG93RXhjZWwgPSBmYWxzZTtcclxuICBmaWxlVmFsdWU6IGFueTtcclxuICBtZW1iZXJJZCA9IDA7XHJcbiAgb3JnYW5pemF0aW9uSWQgPSAwO1xyXG4gIGVycm9yTWVzc2FnZSA9ICcgaW52YWxpZCBmaWxlIGVycm9yJztcclxuICBkb3dubG9hZFN0YXR1czogc3RyaW5nID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgZG93bmxvYWRQZXJjZW50ID0gMDtcclxuICBmZkxpbmtlZEdyY09iamVjdHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc05vdFZhbGlkR3JjT2JqZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRSY0lkOiBudW1iZXIgPSAwO1xyXG4gIHNlbGVjdGVkR3JjSWQ6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkUmNOYW1lOiBzdHJpbmcgPSAnJztcclxuICBzZWxlY3RlZEdyY05hbWU6IHN0cmluZyA9ICcnO1xyXG4gIGNvbHVtbldpc2VEYXRhOiBhbnkgPSBbXTtcclxuXHJcbiAgc21pbGV5TWVzc2FnZSA9IGBZb3UncmUgQWxsIFNldCEgV2UncmUgdXBsb2FkaW5nIHRoZSByaXNrcy4gVGhlIHJpc2sgb3duZXJzIHdpbGwgYmUgbm90aWZpZWQgb25jZSB0aGUgcmlza3MgaGF2ZSBiZWVuIHVwbG9hZGVkLmA7XHJcbiAgYWN0aW9uQnV0dG9ucyA9IFtcclxuICAgIHsgYnV0dG9uVGV4dDogJ0FkZCBNb3JlIFJpc2tzJywgY2xhc3M6ICd3aGl0ZS1idG4nLCBpZDogJ2FkZE1vcmUnIH0sXHJcbiAgICB7IGJ1dHRvblRleHQ6ICdWaWV3IFJpc2snLCBjbGFzczogJ2JsdWUtYnRuJywgaWQ6ICd2aWV3Umlza3MnIH0sXHJcbiAgXTtcclxuICBzaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgbWVtYmVyX29ial9pZCA9ICcnO1xyXG4gIGRlZmF1bHRPd25lciA9ICcnO1xyXG4gIHJpc2tEYXRhITogYW55O1xyXG4gIGZyZXF1ZW5jeVR5cGUgPSBbXHJcbiAgICAnd2Vla2x5JyxcclxuICAgICdtb250aGx5JyxcclxuICAgICdxdWFydGVybHknLFxyXG4gICAgJ2JpYW5udWFsJyxcclxuICAgICdhbm51YWwnLFxyXG4gICAgJ29uZSB0aW1lJyxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmlza1NlcnZpY2U6IEFkZFJpc2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeUJ1bGtTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7fVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpO1xyXG4gICAgdGhpcy5nZXRTZXR0aW5nc0luZm8oKTtcclxuXHJcbiAgICB0aGlzLm9yZ2FuaXphdGlvbklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpO1xyXG4gICAgdGhpcy5tZW1iZXJJZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKTtcclxuICAgIHRoaXMubWVtYmVyX29ial9pZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKS5faWQ7XHJcbiAgICB0aGlzLnNldEZlYXR1cmVGbGFnKCk7XHJcbiAgfVxyXG4gIGdldENhdGVnb3J5TGlzdCgpIHtcclxuICAgIHRoaXMuc2hvd0NhdGVnb3J5TGlzdCA9IHRydWU7XHJcbiAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdCh0cnVlKTtcclxuICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRDYXRlZ29yeUxpc3QoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdC5zdHJhdGVnaWMuZGF0YSA9IHJlcy5zdHJhdGVnaWNfYXJyO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm9wZXJhdGlvbmFsLmRhdGEgPSByZXMub3BlcmF0aW9uYWxfYXJyO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LmNvbXBsaWFuY2UuZGF0YSA9IHJlcy5jb21wbGlhbmNlX2FycjtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdC5vdGhlcnMuZGF0YSA9IHJlcy5vdGhlcnNfYXJyO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCAhPVxyXG4gICAgICBjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dDYXRlZ29yeUxpc3QgPSBmYWxzZTtcclxuICAgIHRoaXMuY2F0ZWdvcnkgPSBjYXRlZ29yeTtcclxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNzY3JvbGxSZWZlcmVuY2UnKTtcclxuICAgIGlmIChyZWZlcmVuY2UpIHtcclxuICAgICAgcmVmZXJlbmNlLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG4gIHJlbW92ZUNhdGVnb3J5KCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeSA9IHtcclxuICAgICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVzZXQoKTtcclxuICB9XHJcbiAgZ2V0U2V0dGluZ3NJbmZvKCkge1xyXG4gICAgdGhpcy5yaXNrU2VydmljZS5nZXRSaXNrU2V0dGluZ0RldGFpbHMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLnNldHRpbmdzSW5mbyA9IHJlcztcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XHJcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpO1xyXG4gICAgaWYgKGdldEZpbGUpIHtcclxuICAgICAgZ2V0RmlsZS5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkZWRGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgICAgICByaXNrczogW10sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICAgIG1lbWJlcklkOiAnJyxcclxuICAgICAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgICAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgICAgIHJjTGlzdDogW10sXHJcbiAgICAgICAgZ3JjTGlzdDogW10sXHJcbiAgICAgICAgbWl0aWdhdGlvbkxpc3Q6IFtdLFxyXG4gICAgICAgIGxpa2VsaWhvb2Q6IFtdLFxyXG4gICAgICAgIGltcGFjdDogW10sXHJcbiAgICAgICAgdmVsb2NpdHk6IFtdLFxyXG4gICAgICAgIHZ1bG5lcmFiaWxpdHk6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCByZWZlcmVuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2Nyb2xsUmVmZXJlbmNlJyk7XHJcbiAgICAgIGlmIChyZWZlcmVuY2UpIHtcclxuICAgICAgICByZWZlcmVuY2Uuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBldmVudC50YXJnZXQuZmlsZXNbMF0ubmFtZTtcclxuXHJcbiAgICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gZXZlbnQudGFyZ2V0IGFzIERhdGFUcmFuc2ZlcjtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjdXJseVxyXG4gICAgICBpZiAodGFyZ2V0LmZpbGVzLmxlbmd0aCAhPT0gMSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgbXVsdGlwbGUgZmlsZXMnKTtcclxuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbMF07XHJcbiAgICAgICAgY29uc3Qgd3NuYW1lMTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1sxXTtcclxuXHJcbiAgICAgICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcbiAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZTFdO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24od3MsIHtcclxuICAgICAgICAgIGhlYWRlcjogMSxcclxuICAgICAgICB9KSBhcyBBT0E7XHJcblxyXG4gICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7IGhlYWRlcjogMSB9KSBhcyBBT0E7XHJcbiAgICAgICAgY29uc3QgdGVtcExpc3QgPSB0RGF0YS5maWx0ZXIoXHJcbiAgICAgICAgICAoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZ2V0Q29sdW1uV2lzZURhdGEgPSAoZGF0YTogYW55W11bXSk6IGFueVtdW10gPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGFbMF0ubWFwKChfLCBjb2xJbmRleCkgPT4gZGF0YS5tYXAoKHJvdykgPT4gcm93W2NvbEluZGV4XSkpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuY29sdW1uV2lzZURhdGEgPSBnZXRDb2x1bW5XaXNlRGF0YSh0RGF0YSk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVsyN107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8uY2F0ZWdvcnlJZCA9IHRlbXBMaXN0WzBdWzI2XTtcclxuICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlciA9IGNsb25lRGVlcChcclxuICAgICAgICAgIHRoaXMuZGF0YVs0XS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgdGhpcy5kYXRhWzVdLmZpbHRlcigod2VpZ2h0RmFjdG9yOiBhbnkpID0+IHdlaWdodEZhY3Rvci5sZW5ndGggPiAwKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRlbXBMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIGlmIChlbGVtZW50WzhdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1lbWJlciA9IHtcclxuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50WzhdLFxyXG4gICAgICAgICAgICAgIG1lbWJlcl9pZDogZWxlbWVudFs5XSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LnB1c2gobWVtYmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzJdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1pdGlnYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgbWl0aWdhdGlvbk5hbWU6IGVsZW1lbnRbMl0sXHJcbiAgICAgICAgICAgICAgbWl0aWdhdGlvbl9pZDogZWxlbWVudFszXSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWl0aWdhdGlvbkxpc3QucHVzaChtaXRpZ2F0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzZdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJjID0ge1xyXG4gICAgICAgICAgICAgIHJjTmFtZTogZWxlbWVudFs2XSxcclxuICAgICAgICAgICAgICByY19pZDogZWxlbWVudFs3XSxcclxuICAgICAgICAgICAgICBvd25lcl9pZHM6IGVsZW1lbnRbMTFdLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5yY0xpc3QucHVzaChyYyk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTJdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5saWtlbGlob29kLnB1c2goZWxlbWVudFsxMl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTNdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QucHVzaChlbGVtZW50WzEzXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpICYmXHJcbiAgICAgICAgICAgIGVsZW1lbnRbMTRdXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udmVsb2NpdHkucHVzaChlbGVtZW50WzE0XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykgJiZcclxuICAgICAgICAgICAgZWxlbWVudFsxNV1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52dWxuZXJhYmlsaXR5LnB1c2goZWxlbWVudFsxNV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlclswXSAhPT1cclxuICAgICAgICAgICdXaGF0IHJpc2sgd291bGQgeW91IGxpa2UgdG8gbWFuYWdlPyonXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArXHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YT8uc2xpY2UoNyk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8/Lm93bmVyTGlzdD8uZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PSB0aGlzLm1lbWJlcklkXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoZGVmYXVsdE93bmVyICE9IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdFtkZWZhdWx0T3duZXJdLm5hbWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tZW1iZXJfb2JqX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkIHx8XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLmNhdGVnb3J5SWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmNoZWNrRW1wdHlGaWxlKCk7XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlcls2XSA9PT0gJ1Jpc2sgQXNzZXNzbWVudCBEZWFkbGluZSonKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJpc2tEYXRhID0gdGhpcy5kYXRhLmZpbHRlcihcclxuICAgICAgICAgIChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmlza0RhdGEuZm9yRWFjaCgocmlzazogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBjb25zdCBvYmo6IGFueSA9IHtcclxuICAgICAgICAgIC8vICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBtaXRpZ2F0aW9uUHJpb3JpdHk6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG92ZXJzZWVyOiByaXNrWzVdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gaWYgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lKSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5hc3Nlc3NtZW50RGVhZExpbmUgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmoubGlrZWxpaG9vZCA9IHJpc2tbN10gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5pbXBhY3QgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbMTBdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IGN1c3RvbVRhZ3M6IGFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzcgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s3XSA/PyAnJztcclxuXHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDMpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDQpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICAgIG9iai52dWxuZXJhYmlsaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzYgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgbGV0IG9iaiA9IHRoaXMuc2V0Umlza0RldGFpbHMocmlzayk7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8ubGlrZWxpaG9vZCAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/Lmxpa2VsaWhvb2QuaW5jbHVkZXMob2JqPy5saWtlbGlob29kKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy5pbXBhY3QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5pbXBhY3QuaW5jbHVkZXMob2JqPy5pbXBhY3QpKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udmVsb2NpdHkgJiZcclxuICAgICAgICAgICAgIXRoaXMudGVtcGxhdGVJbmZvPy52ZWxvY2l0eS5pbmNsdWRlcyhvYmo/LnZlbG9jaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG9iaj8udnVsbmVyYWJpbGl0eSAmJlxyXG4gICAgICAgICAgICAhdGhpcy50ZW1wbGF0ZUluZm8/LnZ1bG5lcmFiaWxpdHkuaW5jbHVkZXMob2JqPy52dWxuZXJhYmlsaXR5KVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvYmouaXNHcmNOb3RWYWxpZCA9IHRoaXMudmFsaWRhdGVHcmNPYmplY3RGb3JSYyhvYmoucmNOYW1lLCBvYmoubGlua2VkR3JjT2JqZWN0KTtcclxuICAgICAgICAgIGlmIChvYmouaXNHcmNOb3RWYWxpZCkge1xyXG4gICAgICAgICAgICBvYmouaXNWYWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQucmlza3MucHVzaChvYmopO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LnJpc2tzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFJjSWQgPSB0aGlzLnJldHVybklkcyhyaXNrLnJjTmFtZSwgJ3JjX2lkJyk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSY0lkKSB7XHJcbiAgICAgICAgICAgIGZvciAoXHJcbiAgICAgICAgICAgICAgbGV0IGNvbEluZGV4ID0gMjk7XHJcbiAgICAgICAgICAgICAgY29sSW5kZXggPCB0aGlzLmNvbHVtbldpc2VEYXRhLmxlbmd0aDtcclxuICAgICAgICAgICAgICBjb2xJbmRleCArPSAyXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJjTmFtZXNDb2x1bW4gPSB0aGlzLmNvbHVtbldpc2VEYXRhW2NvbEluZGV4XTtcclxuICAgICAgICAgICAgICBjb25zdCByY0lkc0NvbHVtbiA9IHRoaXMuY29sdW1uV2lzZURhdGFbY29sSW5kZXggKyAxXTtcclxuICAgICAgICAgICAgICBpZiAocmNJZHNDb2x1bW5bMF0gPT0gdGhpcy5zZWxlY3RlZFJjSWQpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcmNOYW1lc0NvbHVtbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBncmNOYW1lID0gcmNOYW1lc0NvbHVtbltpXTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZ3JjSWQgPSByY0lkc0NvbHVtbltpXTtcclxuICAgICAgICAgICAgICAgICAgaWYgKGdyY05hbWUgJiYgZ3JjSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBncmMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBncmNOYW1lOiBncmNOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZ3JjSWQ6IGdyY0lkLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8uZ3JjTGlzdC5wdXNoKGdyYyk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEdyY0lkID0gdGhpcy5yZXR1cm5JZHMocmlzay5saW5rZWRHcmNPYmplY3QsICdncmNfaWQnKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEdyY05hbWUgPSByaXNrPy5saW5rZWRHcmNPYmplY3Q7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSY05hbWUgPSByaXNrPy5yY05hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSB0cnVlO1xyXG4gICAgICB9O1xyXG4gICAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldD8uZmlsZXNbMF0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tFbXB0eUZpbGUoKSB7XHJcbiAgICBsZXQgaXNFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA8IDEpIHtcclxuICAgICAgaXNFbXB0eSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNFbXB0eTtcclxuICB9XHJcblxyXG4gIGNoZWNrVmFsaWRpdHkocmlzazogYW55KSB7XHJcbiAgICBjb25zdCByZSA9IC8mbmJzcDt8PGJyPi9nO1xyXG4gICAgbGV0IHRyaW1tZWROYW1lID0gcmlza1swXSA/IHJpc2tbMF0udG9TdHJpbmcoKS5yZXBsYWNlKHJlLCAnJykudHJpbSgpIDogJyc7XHJcbiAgICB0cmltbWVkTmFtZSA9IHRyaW1tZWROYW1lLnJlcGxhY2UoLyAgKy9nLCAnICcpO1xyXG4gICAgLy8gfHwgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lICYmICghcmlza1s2XSkpXHJcbiAgICBpZiAoXHJcbiAgICAgICF0cmltbWVkTmFtZSB8fFxyXG4gICAgICAocmlza1szXSAmJiByaXNrWzNdID09IHJpc2tbN10pIHx8XHJcbiAgICAgICghcmlza1szXSAmJiB0aGlzLmRlZmF1bHRPd25lciA9PSByaXNrWzddKSB8fFxyXG4gICAgICAhcmlza1syXSB8fFxyXG4gICAgICAhdGhpcy5mcmVxdWVuY3lUeXBlPy5pbmNsdWRlcyhyaXNrWzVdPy50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVHcmNPYmplY3RGb3JSYyhyY0lkOiAgc3RyaW5nLCBncmNJZDogc3RyaW5nKSB7XHJcbiAgICBmb3IgKFxyXG4gICAgICBsZXQgY29sSW5kZXggPSAyOTtcclxuICAgICAgY29sSW5kZXggPCB0aGlzLmNvbHVtbldpc2VEYXRhLmxlbmd0aDtcclxuICAgICAgY29sSW5kZXggKz0gMlxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IHJjTmFtZXNDb2x1bW49dGhpcy5jb2x1bW5XaXNlRGF0YVtjb2xJbmRleF07XHJcbiAgICAgIGNvbnN0IHJjSWRzQ29sdW1uID0gdGhpcy5jb2x1bW5XaXNlRGF0YVtjb2xJbmRleCArIDFdO1xyXG5cclxuICAgICAgaWYgKHJjTmFtZXNDb2x1bW5bMF0gPT09IHJjSWQpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJjTmFtZXNDb2x1bW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmIChyY05hbWVzQ29sdW1uW2ldID09PSBncmNJZHx8ICFncmNJZCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzTm90VmFsaWRHcmNPYmplY3QgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURJTkcnO1xyXG4gICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAwO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKTtcclxuICAgIGNvbnN0IGRvd25sb2FkRGF0ZSA9IHRvZGF5WzBdO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPVxyXG4gICAgICAnVkNvbXBseSAtIFJpc2sgTW9kdWxlIC0gQWRkIE11bHRpcGxlIFJpc2tzIC0gJyArXHJcbiAgICAgIHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWUgK1xyXG4gICAgICAnIC0gJyArXHJcbiAgICAgIGRvd25sb2FkRGF0ZSArXHJcbiAgICAgICcueGxzeCc7XHJcblxyXG4gICAgdGhpcy5yaXNrU2VydmljZVxyXG4gICAgICAuZG93bmxvYWRUZW1wbGF0ZSh0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhLmxvYWRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDEwMCAqIChkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGRhdGEuYm9keSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gdGhpcy5yaXNrU2VydmljZS5kb3duTG9hZEZpbGUoXHJcbiAgICAgICAgICAgICAgICBkYXRhLmJvZHksXHJcbiAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veGxzeCcsXHJcbiAgICAgICAgICAgICAgICBmaWxlTmFtZVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0sIDE1MDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCc7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Umlza0J1bGtVcGxvYWQoY29tcGxldGVBc3Nlc3NtZW50OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFtdO1xyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZC5yaXNrcy5mb3JFYWNoKChyaXNrOiBhbnkpID0+IHtcclxuICAgICAgbGV0IGZyZXF1ZW5jeVZhbHVlID0gJyc7XHJcbiAgICAgIGlmIChyaXNrPy5mcmVxdWVuY3kudG9Mb3dlckNhc2UoKSA9PT0gJ29uZSB0aW1lJykge1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIDEpO1xyXG4gICAgICAgIGZyZXF1ZW5jeVZhbHVlID1cclxuICAgICAgICAgICcwficgK1xyXG4gICAgICAgICAgJycgK1xyXG4gICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAgICd+JyArXHJcbiAgICAgICAgICAoZGF0ZS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZyZXF1ZW5jeVZhbHVlID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnNob3J0SGFuZF9mcmVxQ2FsKFxyXG4gICAgICAgICAgcmlzaz8uZnJlcXVlbmN5XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHJpc2suaXNWYWxpZCkge1xyXG4gICAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgIHRpdGxlOiByaXNrPy5yaXNrTmFtZSxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiByaXNrPy5kZXNjcmlwdGlvbixcclxuICAgICAgICAgIGNhdGVnb3J5X2N1c3RvbV90YWc6IHJpc2s/LmN1c3RvbVRhZyxcclxuICAgICAgICAgIGFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlOlxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9lbmFibGUsXHJcbiAgICAgICAgICBvd25lcjogcmlzaz8ub3duZXJcclxuICAgICAgICAgICAgPyB0aGlzLnJldHVybklkcyhyaXNrPy5vd25lciwgJ293bmVyJylcclxuICAgICAgICAgICAgOiB0aGlzLnJldHVybklkcyh0aGlzLmRlZmF1bHRPd25lciwgJ293bmVyJyksXHJcbiAgICAgICAgICByaXNrX293bmVyOiByaXNrPy5yaXNrT3duZXIsXHJcbiAgICAgICAgICBjYXRlZ29yeTogdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRcclxuICAgICAgICAgICAgPyBbdGhpcy5jYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWRdXHJcbiAgICAgICAgICAgIDogW10sXHJcbiAgICAgICAgICBtYW5hZ2Vfb3ZlcnNpZ2h0OiB0aGlzLnJldHVybklkcyhyaXNrPy5vdmVyc2VlciwgJ292ZXJzZWVyJyksXHJcbiAgICAgICAgICByY19pZDogdGhpcy5yZXR1cm5JZHMocmlzaz8ucmNOYW1lLCAncmNfaWQnKSxcclxuICAgICAgICAgIGhlYWRfaWRzOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19vd25lcl9pZHMnKSwgLy8yIHRvIGJlIGFyYXlcclxuICAgICAgICAgIGxpbmtlZF9HUkNfaWRzOiB0aGlzLmZmTGlua2VkR3JjT2JqZWN0c1xyXG4gICAgICAgICAgICA/IHRoaXMucmV0dXJuSWRzKHJpc2s/LmxpbmtlZEdyY09iamVjdCwgJ2dyY19pZCcpXHJcbiAgICAgICAgICAgIDogW10sXHJcbiAgICAgICAgICByYXRpbmdfYXJyOiBbXHJcbiAgICAgICAgICAgIHJpc2s/Lmxpa2VsaWhvb2QgPyByaXNrPy5saWtlbGlob29kLnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICAgIHJpc2s/LmltcGFjdCA/IHJpc2s/LmltcGFjdC5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy52ZWxvY2l0eSA/IHJpc2s/LnZlbG9jaXR5LnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICAgIHJpc2s/LnZ1bG5lcmFiaWxpdHkgPyByaXNrPy52dWxuZXJhYmlsaXR5LnNwbGl0KCcgLSAnKVsxXSA6IDAsXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgbWVtYmVyX2lkOiB0aGlzLm1lbWJlcklkLFxyXG4gICAgICAgICAgb3JnYW5pc2F0aW9uX2lkOiB0aGlzLm9yZ2FuaXphdGlvbklkLFxyXG4gICAgICAgICAgcmlza19wcm9ncmVzc19mbGFnOiAxLFxyXG4gICAgICAgICAgSWZBc3Nlc3NtZW50RG9uZTogMCxcclxuICAgICAgICAgIHdvcmtzaG9wX2lkOiAnJyxcclxuICAgICAgICAgIGNvbXBsZXRlX2Fzc2Vzc21lbnQ6IGNvbXBsZXRlQXNzZXNzbWVudCA/IDEgOiAwLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbjogdGhpcy5yZXR1cm5JZHMocmlzaz8ubWl0aWdhdGlvblByaW9yaXR5LCAnbWl0aWdhdGlvbicpLCAvLzMgd3JvbmdcclxuICAgICAgICAgIHdlaWdodGFnZV9lbmFibGU6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZW5hYmxlLFxyXG4gICAgICAgICAgdHJlYXRtZW50X3R5cGU6IHRoaXMuc2V0dGluZ3NJbmZvPy50cmVhdG1lbnRfY3JpdGVyaWEsXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZGV0YWlsczogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9zZXRfYnksXHJcbiAgICAgICAgICB3ZWlnaHRhZ2Vfc3RyOiBbXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8uaW1wYWN0LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/Lmxpa2VsaWhvb2QudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udmVsb2NpdHkudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udnVsbmVyYWJpbGl0eS52YWx1ZSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICAvLyBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5LCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTpcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5ID8/IHRoaXMubWVtYmVySWQsIC8vY2hlY2sxIG5vdCBhcHBlYXJpbmdcclxuICAgICAgICAgIGFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5czogdGhpcy5zZXR0aW5nc0luZm9cclxuICAgICAgICAgICAgPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZVxyXG4gICAgICAgICAgICA/IHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXNcclxuICAgICAgICAgICAgOiByaXNrPy5hc3Nlc3NtZW50RGVhZExpbmUsXHJcbiAgICAgICAgICBmcmVxdWVuY3lfZGV0YWlsczoge1xyXG4gICAgICAgICAgICBmcmVxdWVuY3k6IGZyZXF1ZW5jeVZhbHVlLFxyXG4gICAgICAgICAgICBzdGFydGVkX2F0OlxyXG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKSkgPz8gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyksXHJcbiAgICAgICAgICAgIGZyZXF1ZW5jeV90aW1lOiAnMTE6MDAgcG0nLFxyXG4gICAgICAgICAgICByZW1pbmRfYmVmb3JlX2RheXM6IHJpc2s/LmVtYWlsUmVtaW5kZXJcclxuICAgICAgICAgICAgICA/IHJpc2s/LmVtYWlsUmVtaW5kZXJcclxuICAgICAgICAgICAgICA6IHRoaXMuc2V0RGVmYXVsdEVtYWlsUmVtaW5kZXJWYWx1ZShyaXNrPy5mcmVxdWVuY3kpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHJpc2tfbGFiZWw6IHRoaXMuc2V0Umlza0xhYmVsKHJpc2s/LnJpc2tMYWJlbCksXHJcbiAgICAgICAgICBtaXRpZ2F0aW9uX3BsYW5fcmVjb21tZW5kYXRpb246IHJpc2s/Lm1pdGlnYXRpb25QbGFucyA/PyAnJyxcclxuICAgICAgICAgIHNhbWVSaXNrUmF0aW5nc0ZvckFsbFJDOiByaXNrPy5hcHBseVNhbWVSaXNrUmF0aW5nID8/ICdObycsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBwYXlsb2FkLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmFkZEJ1bGtSaXNrKHBheWxvYWQpLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd1NtaWxleSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yaXNrRGF0YSA9IHJlcztcclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxyXG4gICAgICAgICAgJ09PUFMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbmUgbW9yZSB0aW1lPycsXHJcbiAgICAgICAgICAnYWxlcnQnXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJldHVybklkcyhpdGVtOiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICBjYXNlICdyY19pZCc6XHJcbiAgICAgICAgY29uc3QgcmNJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ucmNMaXN0LmZvckVhY2goKHJjX2VsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJjX2VsZW1lbnQucmNOYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgcmNJZC5wdXNoKHJjX2VsZW1lbnQucmNfaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByY0lkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyY19vd25lcl9pZHMnOlxyXG4gICAgICAgIGxldCBvd25lcl9pZHM6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChoZWFkZXJJZHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGhlYWRlcklkcy5yY05hbWUgPT0gaXRlbSAmJiBoZWFkZXJJZHMub3duZXJfaWRzKSB7XHJcbiAgICAgICAgICAgIG93bmVyX2lkcyA9IGhlYWRlcklkcy5vd25lcl9pZHMuaW5jbHVkZXMoJywnKVxyXG4gICAgICAgICAgICAgID8gaGVhZGVySWRzLm93bmVyX2lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpXHJcbiAgICAgICAgICAgICAgOiBbTnVtYmVyKGhlYWRlcklkcy5vd25lcl9pZHMpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3duZXJfaWRzO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvd25lcic6XHJcbiAgICAgICAgY29uc3Qgb3duZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG93bmVySWQucHVzaChlbGVtZW50Lm1lbWJlcl9pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG93bmVySWQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ292ZXJzZWVyJzpcclxuICAgICAgICBjb25zdCBvdmVyc2VlcklkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3QuZm9yRWFjaCgob3NfZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAob3NfZWxlbWVudC5uYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgb3ZlcnNlZXJJZC5wdXNoKG9zX2VsZW1lbnQubWVtYmVyX2lkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3ZlcnNlZXJJZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ21pdGlnYXRpb24nOlxyXG4gICAgICAgIGxldCBtaXRpZ2F0aW9uSWQ6IGFueSA9IDA7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWl0aWdhdGlvbkxpc3QuZm9yRWFjaCgobWl0aWdhdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAobWl0aWdhdGlvbi5taXRpZ2F0aW9uTmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG1pdGlnYXRpb25JZCA9IG1pdGlnYXRpb24ubWl0aWdhdGlvbl9pZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbWl0aWdhdGlvbklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnZ3JjX2lkJzpcclxuICAgICAgICBjb25zdCBncmNJZDogYW55ID0gW107XHJcbiAgICAgICAgY29uc3QgZ3JjRWxlbWVudCA9IHRoaXMudGVtcGxhdGVJbmZvLmdyY0xpc3QuZmluZChcclxuICAgICAgICAgIChncmNfZWxlbWVudDogYW55KSA9PiBncmNfZWxlbWVudC5ncmNOYW1lID09PSBpdGVtXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZ3JjRWxlbWVudCA/IFtncmNFbGVtZW50LmdyY0lkXSA6IFtdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnJpc2tCdWxrVXBsb2FkID0ge1xyXG4gICAgICBoZWFkZXI6IFtdLFxyXG4gICAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgICAgcmlza3M6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICBjYXRlZ29yeUlkOiAnJyxcclxuICAgICAgb3duZXJMaXN0OiBbXSxcclxuICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgbWl0aWdhdGlvbkxpc3Q6IFtdLFxyXG4gICAgICBncmNMaXN0OiBbXSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgfVxyXG4gIGFjdGlvbihldmVudDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ2FkZE1vcmUnOlxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSB7XHJcbiAgICAgICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndmlld1Jpc2tzJzpcclxuICAgICAgICB0aGlzLnZpZXdSaXNrcygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dDogdGhpcy5yaXNrRGF0YSwgY29uZmlybTogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICB2aWV3Umlza3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCA9ICdodHRwOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsID0gJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2stcmVnaXN0ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsICs9ICcvcmlzay9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH1cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXQgdGFrZXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCB0aGUgYXJyYXkgdmFsdWVzIGFzIHByb3BlcnRpZXMuXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSByaXNrIC0gYW55ID0gW1xyXG4gICAqIEByZXR1cm5zIFtcclxuICAgKiAgIHtcclxuICAgKiAgICAgXCJyaXNrTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXHJcbiAgICogICAgIFwicmNOYW1lXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3duZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJmcmVxdWVuY3lcIjogXCJcIixcclxuICAgKiAgICAgXCJlbWFpbFJlbWluZGVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3ZlcnNlZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJpc1ZhbGlkXCI6IGZhbHNlLFxyXG4gICAqICAgICBcIm1pdGlnYXRpb25Qcmlvcml0eVwiOiBcIlwiLFxyXG4gICAqL1xyXG4gIHNldFJpc2tEZXRhaWxzKHJpc2s6IGFueSkge1xyXG4gICAgbGV0IG9iajogYW55O1xyXG4gICAgb2JqID0ge1xyXG4gICAgICByaXNrTmFtZTogcmlza1swXSA/PyAnJyxcclxuICAgICAgZGVzY3JpcHRpb246IHJpc2tbMV0gPz8gJycsXHJcbiAgICAgIHJjTmFtZTogcmlza1syXSA/PyAnJyxcclxuICAgICAgb3duZXI6IHJpc2tbM10gPz8gJycsXHJcbiAgICAgIHJpc2tPd25lcjogcmlza1s0XSA/PyAnJyxcclxuICAgICAgZnJlcXVlbmN5OiByaXNrWzVdID8/ICcnLFxyXG4gICAgICBlbWFpbFJlbWluZGVyOiByaXNrWzZdLFxyXG4gICAgICBvdmVyc2Vlcjogcmlza1s3XSA/PyAnJyxcclxuICAgICAgaXNWYWxpZDogdGhpcy5jaGVja1ZhbGlkaXR5KHJpc2spLFxyXG4gICAgICBpc0dyY05vdFZhbGlkOiB0aGlzLnZhbGlkYXRlR3JjT2JqZWN0Rm9yUmMoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJjTmFtZSxcclxuICAgICAgICB0aGlzLnNlbGVjdGVkR3JjTmFtZVxyXG4gICAgICApLFxyXG4gICAgfTtcclxuICAgIGxldCBpbmRleCA9IDg7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LmhlYWRlcj8uaW5jbHVkZXMoJ1JlY29tbWVuZGVkIE1pdGlnYXRpb24gUHJpb3JpdHknKVxyXG4gICAgKSB7XHJcbiAgICAgIG9ialsnbWl0aWdhdGlvblByaW9yaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXgrKztcclxuICAgIH1cclxuICAgIG9ialsnbWl0aWdhdGlvblBsYW5zJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBvYmpbJ3Jpc2tMYWJlbCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCsrO1xyXG4gICAgb2JqWydsaWtlbGlob29kJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4Kys7XHJcbiAgICBvYmpbJ2ltcGFjdCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCsrO1xyXG4gICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpKSB7XHJcbiAgICAgIG9ialsndmVsb2NpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykpIHtcclxuICAgICAgb2JqWyd2dWxuZXJhYmlsaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXgrKztcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcyhcclxuICAgICAgICAnRG8geW91IHdhbnQgdG8gYXBwbHkgdGhlIHNhbWUgcmlzayByYXRpbmdzIGZvciBhbGwgUmVzcG9uc2liaWxpdHkgQ2VudGVycz8nXHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICBvYmpbJ2FwcGx5U2FtZVJpc2tSYXRpbmcnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LmhlYWRlcj8uaW5jbHVkZXMoJ0xpbmtlZCBHUkMgT2JqZWN0KHMpJykpIHtcclxuICAgICAgb2JqWydsaW5rZWRHcmNPYmplY3QnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jdXN0b21fdGFnPy5mb3JFYWNoKCh0YWc6IGFueSwgaTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0YWcpIHtcclxuICAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1tpbmRleCArIGldID8/ICcnLFxyXG4gICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGN1c3RvbVRhZ3MucHVzaChjVGFnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBvYmpbJ2N1c3RvbVRhZyddID0gY3VzdG9tVGFncztcclxuICAgIG9ialsnaXNWYWxpZEZyZXF1ZW5jeSddID0gdGhpcy5mcmVxdWVuY3lUeXBlPy5pbmNsdWRlcyhcclxuICAgICAgb2JqPy5mcmVxdWVuY3k/LnRvTG93ZXJDYXNlKClcclxuICAgICk7XHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIGZyZXF1ZW5jeVR5cGUgaXMgd2Vla2x5LCByZXR1cm4gMiwgaWYgaXQncyBtb250aGx5LCByZXR1cm4gNywgaWYgaXQncyBxdWFydGVybHksIHJldHVybiA3LFxyXG4gICAqIGlmIGl0J3MgYmlhbm51YWwsIHJldHVybiAzMCwgaWYgaXQncyBhbm51YWwsIHJldHVybiAzMCwgaWYgaXQncyBvbmUgdGltZSwgcmV0dXJuIDE1LCBvdGhlcndpc2VcclxuICAgKiByZXR1cm4gMC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2ZyZXF1ZW5jeVR5cGVdIC0gc3RyaW5nIC0gdGhlIGZyZXF1ZW5jeSB0eXBlIG9mIHRoZSByZW1pbmRlclxyXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIG51bWJlciBvZiBkYXlzIGJlZm9yZSB0aGUgZXZlbnQgdGhhdCB0aGUgcmVtaW5kZXIgc2hvdWxkIGJlIHNlbnQuXHJcbiAgICovXHJcbiAgc2V0RGVmYXVsdEVtYWlsUmVtaW5kZXJWYWx1ZShmcmVxdWVuY3lUeXBlPzogc3RyaW5nKTogYW55IHtcclxuICAgIHN3aXRjaCAoZnJlcXVlbmN5VHlwZT8udG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICd3ZWVrbHknOlxyXG4gICAgICAgIHJldHVybiAyO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAncXVhcnRlcmx5JzpcclxuICAgICAgICByZXR1cm4gNztcclxuICAgICAgY2FzZSAnYmlhbm51YWwnOlxyXG4gICAgICAgIHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnYW5udWFsJzpcclxuICAgICAgICByZXR1cm4gMzA7XHJcbiAgICAgIGNhc2UgJ29uZSB0aW1lJzpcclxuICAgICAgICByZXR1cm4gMTU7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgbGFiZWwgaXMgJ25ldyByaXNrJywgcmV0dXJuIDEsIGlmIHRoZSBsYWJlbCBpcyAnZW1lcmdpbmcvcmFwaWRseSBjaGFuZ2luZyByaXNrcycsIHJldHVybiAyLFxyXG4gICAqIG90aGVyd2lzZSByZXR1cm4gMVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbGFiZWxdIC0gdGhlIGxhYmVsIG9mIHRoZSByaXNrXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgdmFsdWUgb2YgdGhlIGxhc3QgZXhwcmVzc2lvbiBpbiB0aGUgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgc2V0Umlza0xhYmVsKGxhYmVsPzogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGxhYmVsPy50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgIGNhc2UgJ25ld2x5IGlkZW50aWZpZWQgcmlza3MnOlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICBjYXNlICdyYXBpZGx5IGNoYW5naW5nIHJpc2tzJzpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFwiSWYgdGhlIGRhdGUgaXMgYSBudW1iZXIsIGNvbnZlcnQgaXQgdG8gYSBkYXRlIG9iamVjdCwgdGhlbiBjcmVhdGUgYSBuZXcgZGF0ZSBvYmplY3Qgd2l0aCB0aGVcclxuICAgKiB0aW1lem9uZSBzZXQgdG8gdGhlIHVzZXIncyB0aW1lem9uZSwgdGhlbiByZXR1cm4gdGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBZWVlZLU1NLURELlwiXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSBkYXRlIC0gYW55IC0gdGhlIGRhdGUgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSB0aW1lem9uZSBvZlxyXG4gICAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIGJlaW5nIHJldHVybmVkIGluIHRoZSB0aW1lem9uZSBvZiB0aGUgdXNlci5cclxuICAgKi9cclxuICBjaGFuZ2VUaW1lWm9uZShkYXRlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW52RGF0ZSA9IG5ldyBEYXRlKFxyXG4gICAgICBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICB0aW1lWm9uZTogdGhpcy5hdXRoU2VydmljZS51c2VyRGV0YWlscz8udGltZXpvbmUsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG1vbWVudChpbnZEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICB9XHJcblxyXG4gIHNldEZlYXR1cmVGbGFnKCkge1xyXG4gICAgdGhpcy5mZkxpbmtlZEdyY09iamVjdHMgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfZ3JjX3YxJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlza1wiPlxyXG4gICAgPCEtLSBtYWluIGNvbnRhaW5lciBzdGFydHMgaGVyZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlzay1ib2R5XCIgW2NsYXNzLmRpc2FibGVkXT1cInNob3dDYXRlZ29yeUxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLW11bHRpcGxlLXJpc2stY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc3ByZWFkc2hlZXQtbXVsdGlwbGUtY2F0ZWdvcnkuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8aDQgaWQ9XCJtdWx0aXBsZVJpc2tcIj5Zb3UgY2FuIGFkZCBtdWx0aXBsZSByaXNrIGluIGp1c3QgdGhyZWUgZWFzeSBzdGVwczwvaDQ+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxsaT4gU2VsZWN0IGEgUmlzayBDYXRlZ29yeS48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpPiBEb3dubG9hZCB0aGUgdGVtcGxhdGUgYW5kIGZpbGwgaW4gdGhlIGRldGFpbHMuPC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT4gVXBsb2FkIHRoZSAueGxzeCBmaWxlIGFuZCB5b3UncmUgZ29vZCB0byBnbyE8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiICBbYXR0ci5pZF09XCInc2Nyb2xsUmVmZXJlbmNlJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJpc2sgQ2F0ZWdvcnkgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIiAqbmdJZj1cIiFjYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cImdldENhdGVnb3J5TGlzdCgpXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgUmlzayBDYXRlZ29yeVwiIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cImNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcENvbnRhaW5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTIgdngtcHItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHQgdngtbXItMVwiIChjbGljayk9XCJyZW1vdmVDYXRlZ29yeSgpXCI+JiN4ZTlhZTs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwiY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoKVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd0NhdGVnb3J5TGlzdD10cnVlO3BpY2tlckNoYW5nZWQuZW1pdCh0cnVlKVwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT4gRWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnlcIiA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdOT1RfRE9XTkxPQURJTkcnXCIgY2xhc3M9XCJkb3dubG9hZFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj4gPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWI7PC9pPiBEb3dubG9hZCBUZW1wbGF0ZVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURJTkcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQgaW4gUHJvZ3Jlc3NcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiJzInXCI+PC9hcHAtbGluZS1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FERUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLWFnYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElzIHRoZSBmaWxlIG5vdCBkb3dubG9hZGVkP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNXcm9uZ0ZpbGUgfHwgaXNXcm9uZ0Zvcm1hdHx8IGlzRmlsZUVtcHR5XCJcclxuICAgICAgICAgICAgPnt7ZXJyb3JNZXNzYWdlfX08L3A+XHJcblxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGFwcC1jYXRlZ29yeS1saXN0ICpuZ0lmPVwic2hvd0NhdGVnb3J5TGlzdFwiIFtjYXRlZ29yeUxpc3RdPVwiY2F0ZWdvcnlMaXN0XCIgW3NlbGVjdGVkQ2F0ZWdvcnldPVwiY2F0ZWdvcnlcIlxyXG4gICAgKHNhdmVTZWxlY3RlZENhdGVnb3J5KT1cInNhdmVTZWxlY3RlZENhdGVnb3J5KCRldmVudCk7cGlja2VyQ2hhbmdlZC5lbWl0KGZhbHNlKVwiIChjbG9zZUNhdGVnb3JpZXNMaXN0KT1cInNob3dDYXRlZ29yeUxpc3Q9ZmFsc2U7cGlja2VyQ2hhbmdlZC5lbWl0KGZhbHNlKVwiIFtsb2FkZWRdPVwiIWlzTG9hZGVyXCIgPlxyXG48L2FwcC1jYXRlZ29yeS1saXN0PlxyXG48YXBwLWJ1bGstdmlldyAqbmdJZj1cInNob3dFeGNlbFwiXHJcbltyaXNrQnVsa1VwbG9hZF09XCJyaXNrQnVsa1VwbG9hZFwiXHJcblt0ZW1wbGF0ZUluZm9dPVwidGVtcGxhdGVJbmZvXCJcclxuW2RlZmF1bHRPd25lcl09XCJkZWZhdWx0T3duZXJcIlxyXG5bZmlsZU5hbWVdPVwiZmlsZU5hbWVcIlxyXG5bbG9hZGVyXT1cImxvYWRlclwiXHJcblthc3Nlc3NtZW50RGF5c0VuYWJsZV09XCJhc3Nlc3NtZW50RGVhZExpbmVcIlxyXG4oc3VibWl0Umlza0J1bGtVcGxvYWQpPVwic3VibWl0Umlza0J1bGtVcGxvYWQoJGV2ZW50KVwiXHJcbihjYW5jZWwpPVwicmVzZXQoKVwiXHJcbltmZkxpbmtlZEdyY09iamVjdHNdPVwiZmZMaW5rZWRHcmNPYmplY3RzXCJcclxuW2lzTm90VmFsaWRHcmNPYmplY3RdPVwiaXNOb3RWYWxpZEdyY09iamVjdFwiXHJcbj48L2FwcC1idWxrLXZpZXc+XHJcblxyXG48aW5wdXQgdHlwZT1cImZpbGVcIiBbKG5nTW9kZWwpXT1cImZpbGVWYWx1ZVwiIGlkPVwiZmlsZUlucHV0XCIgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiAoY2hhbmdlKT1cInVwbG9hZGVkRmlsZSgkZXZlbnQpXCIgLz5cclxuPGFwcC1zbWlsZXktZGlhbG9nLWlubGluZSAqbmdJZj1cInNob3dTbWlsZXlcIiBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCIgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiIChhY3Rpb24pPVwiYWN0aW9uKCRldmVudClcIiAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiPjwvYXBwLXNtaWxleS1kaWFsb2ctaW5saW5lPlxyXG4iXX0=
|