vcomply-workflow-engine 3.0.271 → 3.0.273
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/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +3 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +3 -3
- package/esm2020/lib/workflow-engine.module.mjs +2 -2
- package/fesm2015/vcomply-workflow-engine.mjs +4 -4
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +4 -4
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/package.json +1 -1
package/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs
CHANGED
|
@@ -285,10 +285,10 @@ export class FrequencyContainerComponent {
|
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
FrequencyContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyContainerComponent, deps: [{ token: i1.FrequencyService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
288
|
-
FrequencyContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyContainerComponent, selector: "app-frequency-container", inputs: { frequencyDetails: "frequencyDetails", mode: "mode", feature: "feature", pageType: "pageType" }, outputs: { selectedFrequency: "selectedFrequency", closeFrequency: "closeFrequency" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"frequency-dialog\" *ngIf=\"mode !== 'policy'\">\r\n <div\r\n class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n [feature]=\"feature\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n (radioForm)=\"openedRadio($event)\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"frequency-dialog-footer\" *ngIf=\"!openedRadioForm\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- When responsibility list show then hide frequency-dialog html -->\r\n\r\n<!-- For Policy -->\r\n<div class=\"frequency-dialog\" *ngIf=\"mode === 'policy'\">\r\n <div class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-dialog-footer\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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\";::ng-deep .frequency-dialog{position:fixed;inset:0 500px 0 0;z-index:11}::ng-deep .frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .frequency-dialog-head{background:#FBFBFB;border-radius:.125rem .125rem 0 0;border-bottom:1px solid #f1f1f1}::ng-deep .frequency-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body-inner{width:auto}}::ng-deep .frequency-dialog-body .frequency-tab{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;height:1.5rem;margin-right:1.5rem!important}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn:last-of-type{margin-right:0!important}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:1rem!important}}@media screen and (max-width: 1280px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:.75rem!important}}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn.active{color:#1e5dd3!important;border-color:#1e5dd3}::ng-deep .frequency-dialog-footer{padding:0 2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i5.FrequencyDailyComponent, selector: "app-frequency-daily", inputs: ["mode", "frequencyData", "startDate", "pageType"], outputs: ["frequencyDetails"] }, { kind: "component", type: i6.FrequencyWeeklyComponent, selector: "app-frequency-weekly", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i7.FrequencyMonthlyComponent, selector: "app-frequency-monthly", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i8.FrequencyQuarterlyComponent, selector: "app-frequency-quarterly", inputs: ["mode", "startDate", "frequencyData", "pageType"], outputs: ["frequencyDetails"] }, { kind: "component", type: i9.FrequencyBiannualComponent, selector: "app-frequency-biannual", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i10.FrequencyAnnualComponent, selector: "app-frequency-annual", inputs: ["pageType", "frequencyData", "mode", "startDate"], outputs: ["frequencyDetails"] }, { kind: "component", type: i11.FrequencyOneTimeComponent, selector: "app-frequency-one-time", inputs: ["pageType", "frequencyData", "mode"], outputs: ["frequencyDetails"] }, { kind: "component", type: i12.FrequencyRandomComponent, selector: "app-frequency-random", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i13.FrequencyOnCompletionOfComponent, selector: "app-frequency-on-completion-of", inputs: ["mode", "feature", "startDate", "frequencyData"], outputs: ["frequencyDetails", "radioForm"] }, { kind: "component", type: i14.FrequencyOngoingComponent, selector: "app-frequency-ongoing", inputs: ["selectedType", "selectedOngoingType", "frequencyData", "startDate"], outputs: ["frequencyDetails"] }] });
|
|
288
|
+
FrequencyContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyContainerComponent, selector: "app-frequency-container", inputs: { frequencyDetails: "frequencyDetails", mode: "mode", feature: "feature", pageType: "pageType" }, outputs: { selectedFrequency: "selectedFrequency", closeFrequency: "closeFrequency" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"frequency-dialog\" *ngIf=\"mode !== 'policy'\">\r\n <div\r\n class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <h1>Hello world</h1>\r\n <div>{{frequencyDetails | json}}</div>\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n [feature]=\"feature\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n (radioForm)=\"openedRadio($event)\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"frequency-dialog-footer\" *ngIf=\"!openedRadioForm\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- When responsibility list show then hide frequency-dialog html -->\r\n\r\n<!-- For Policy -->\r\n<div class=\"frequency-dialog\" *ngIf=\"mode === 'policy'\">\r\n <div class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-dialog-footer\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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\";::ng-deep .frequency-dialog{position:fixed;inset:0 500px 0 0;z-index:11}::ng-deep .frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .frequency-dialog-head{background:#FBFBFB;border-radius:.125rem .125rem 0 0;border-bottom:1px solid #f1f1f1}::ng-deep .frequency-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body-inner{width:auto}}::ng-deep .frequency-dialog-body .frequency-tab{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;height:1.5rem;margin-right:1.5rem!important}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn:last-of-type{margin-right:0!important}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:1rem!important}}@media screen and (max-width: 1280px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:.75rem!important}}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn.active{color:#1e5dd3!important;border-color:#1e5dd3}::ng-deep .frequency-dialog-footer{padding:0 2rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "component", type: i5.FrequencyDailyComponent, selector: "app-frequency-daily", inputs: ["mode", "frequencyData", "startDate", "pageType"], outputs: ["frequencyDetails"] }, { kind: "component", type: i6.FrequencyWeeklyComponent, selector: "app-frequency-weekly", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i7.FrequencyMonthlyComponent, selector: "app-frequency-monthly", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i8.FrequencyQuarterlyComponent, selector: "app-frequency-quarterly", inputs: ["mode", "startDate", "frequencyData", "pageType"], outputs: ["frequencyDetails"] }, { kind: "component", type: i9.FrequencyBiannualComponent, selector: "app-frequency-biannual", inputs: ["mode", "pageType", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i10.FrequencyAnnualComponent, selector: "app-frequency-annual", inputs: ["pageType", "frequencyData", "mode", "startDate"], outputs: ["frequencyDetails"] }, { kind: "component", type: i11.FrequencyOneTimeComponent, selector: "app-frequency-one-time", inputs: ["pageType", "frequencyData", "mode"], outputs: ["frequencyDetails"] }, { kind: "component", type: i12.FrequencyRandomComponent, selector: "app-frequency-random", inputs: ["mode", "startDate", "frequencyData"], outputs: ["frequencyDetails"] }, { kind: "component", type: i13.FrequencyOnCompletionOfComponent, selector: "app-frequency-on-completion-of", inputs: ["mode", "feature", "startDate", "frequencyData"], outputs: ["frequencyDetails", "radioForm"] }, { kind: "component", type: i14.FrequencyOngoingComponent, selector: "app-frequency-ongoing", inputs: ["selectedType", "selectedOngoingType", "frequencyData", "startDate"], outputs: ["frequencyDetails"] }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] });
|
|
289
289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyContainerComponent, decorators: [{
|
|
290
290
|
type: Component,
|
|
291
|
-
args: [{ selector: 'app-frequency-container', template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"frequency-dialog\" *ngIf=\"mode !== 'policy'\">\r\n <div\r\n class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n [feature]=\"feature\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n (radioForm)=\"openedRadio($event)\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"frequency-dialog-footer\" *ngIf=\"!openedRadioForm\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- When responsibility list show then hide frequency-dialog html -->\r\n\r\n<!-- For Policy -->\r\n<div class=\"frequency-dialog\" *ngIf=\"mode === 'policy'\">\r\n <div class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-dialog-footer\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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\";::ng-deep .frequency-dialog{position:fixed;inset:0 500px 0 0;z-index:11}::ng-deep .frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .frequency-dialog-head{background:#FBFBFB;border-radius:.125rem .125rem 0 0;border-bottom:1px solid #f1f1f1}::ng-deep .frequency-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body-inner{width:auto}}::ng-deep .frequency-dialog-body .frequency-tab{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;height:1.5rem;margin-right:1.5rem!important}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn:last-of-type{margin-right:0!important}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:1rem!important}}@media screen and (max-width: 1280px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:.75rem!important}}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn.active{color:#1e5dd3!important;border-color:#1e5dd3}::ng-deep .frequency-dialog-footer{padding:0 2rem}\n"] }]
|
|
291
|
+
args: [{ selector: 'app-frequency-container', template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"frequency-dialog\" *ngIf=\"mode !== 'policy'\">\r\n <div\r\n class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <h1>Hello world</h1>\r\n <div>{{frequencyDetails | json}}</div>\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n [feature]=\"feature\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n (radioForm)=\"openedRadio($event)\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"frequency-dialog-footer\" *ngIf=\"!openedRadioForm\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<!-- When responsibility list show then hide frequency-dialog html -->\r\n\r\n<!-- For Policy -->\r\n<div class=\"frequency-dialog\" *ngIf=\"mode === 'policy'\">\r\n <div class=\"frequency-dialog-head vx-p-3 vx-mb-4 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Set a Frequency</div>\r\n </div>\r\n <div class=\"frequency-dialog-body vx-pl-4 vx-pr-4\">\r\n <div class=\"frequency-dialog-body-inner\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab vx-d-flex vx-align-center\">\r\n <ng-container *ngFor=\"let frequencyType of frequencyList; let i = index\">\r\n <button (click)=\"changeFrequencyTab(frequencyType)\" class=\"tab-btn vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0\" [class.active]=\"frequencyType?.type == frequencyTab\">{{ frequencyType?.name }}</button>\r\n </ng-container>\r\n </div>\r\n <div class=\"frequency-tab-bottom vx-pl-4 vx-pr-4\">\r\n <!-- Daily Frequency Start -->\r\n <app-frequency-daily\r\n *ngSwitchCase=\"'daily'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-daily>\r\n <!-- Daily Frequency End -->\r\n <!-- Weekly Frequency Start -->\r\n <app-frequency-weekly\r\n *ngSwitchCase=\"'weekly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-weekly>\r\n <!-- Weekly Frequency End -->\r\n <!-- Monthly Frequency Start -->\r\n <app-frequency-monthly\r\n *ngSwitchCase=\"'monthly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-monthly>\r\n <!-- Monthly Frequency End -->\r\n <!-- Quarterly Frequency Start -->\r\n <app-frequency-quarterly\r\n *ngSwitchCase=\"'quarterly'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-quarterly>\r\n <!-- Quarterly Frequency End -->\r\n <!-- Biannual Frequency Start -->\r\n <app-frequency-biannual\r\n *ngSwitchCase=\"'biannual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-biannual>\r\n <!-- Biannual Frequency End -->\r\n <!-- Annual Frequency Start -->\r\n <app-frequency-annual\r\n *ngSwitchCase=\"'annual'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-annual>\r\n <!-- Annual Frequency End -->\r\n <!-- One Time Frequency Start -->\r\n <app-frequency-one-time\r\n *ngSwitchCase=\"'oneTime'\"\r\n [mode]=\"mode\"\r\n [pageType]=\"pageType\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-one-time>\r\n <!-- One Time Frequency End -->\r\n <!-- Random Frequency Start -->\r\n <app-frequency-random\r\n *ngSwitchCase=\"'random'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-random>\r\n <!-- Random Frequency End -->\r\n <!-- On Completion Frequency Start -->\r\n <app-frequency-on-completion-of\r\n *ngSwitchCase=\"'onCompletionOf'\"\r\n [mode]=\"mode\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-on-completion-of>\r\n <!-- On Completion Frequency End -->\r\n <!-- Ongoing Frequency Start -->\r\n <app-frequency-ongoing\r\n *ngSwitchCase=\"'ongoing'\"\r\n (frequencyDetails)=\"onFrequencySelected($event)\"\r\n [frequencyData]=\"frequencyDetails\"\r\n ></app-frequency-ongoing>\r\n <!-- Ongoing Frequency End -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-dialog-footer\">\r\n <app-floating-bar\r\n [showFrequencyText]=\"true\"\r\n [currentFrequency]=\"currentTabName\"\r\n [isDisabled]=\"isNextDisabled\"\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n ></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.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/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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\";::ng-deep .frequency-dialog{position:fixed;inset:0 500px 0 0;z-index:11}::ng-deep .frequency-dialog:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .frequency-dialog-head{background:#FBFBFB;border-radius:.125rem .125rem 0 0;border-bottom:1px solid #f1f1f1}::ng-deep .frequency-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .frequency-dialog-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .frequency-dialog-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .frequency-dialog-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body-inner{width:auto}}::ng-deep .frequency-dialog-body .frequency-tab{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;height:1.5rem;margin-right:1.5rem!important}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn:last-of-type{margin-right:0!important}@media screen and (max-width: 1366px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:1rem!important}}@media screen and (max-width: 1280px){::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn{margin-right:.75rem!important}}::ng-deep .frequency-dialog-body .frequency-tab button.tab-btn.active{color:#1e5dd3!important;border-color:#1e5dd3}::ng-deep .frequency-dialog-footer{padding:0 2rem}\n"] }]
|
|
292
292
|
}], ctorParameters: function () { return [{ type: i1.FrequencyService }, { type: i2.SnackBarService }]; }, propDecorators: { frequencyDetails: [{
|
|
293
293
|
type: Input
|
|
294
294
|
}], selectedFrequency: [{
|
|
@@ -302,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
302
302
|
}], pageType: [{
|
|
303
303
|
type: Input
|
|
304
304
|
}] } });
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTakMsTUFBTSxPQUFPLDJCQUEyQjtJQTREdEMsWUFDVSxnQkFBa0MsRUFDbEMsUUFBeUI7UUFEekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQTdEbkMsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxTQUFTLENBQUM7UUFHakIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVmLGFBQVEsR0FBZ0MsZ0JBQWdCLENBQUM7UUFJbEUsa0JBQWEsR0FBRztZQUNkO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtn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QUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixJQUFJO0lBRUosSUFBSTtJQUVKLElBQUk7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7d0hBOVNVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHFSQ2pCeEMsc29VQXdPQTsyRkR2TmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5QjtxSUFRMUIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBmcmVxdWVuY3lUYWIgPSAnZGFpbHknO1xyXG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEZXRhaWxzOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG5cclxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIGZyZXF1ZW5jeUxpc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdEYWlseScsXHJcbiAgICAgIHR5cGU6ICdkYWlseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnV2Vla2x5JyxcclxuICAgICAgdHlwZTogJ3dlZWtseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnTW9udGhseScsXHJcbiAgICAgIHR5cGU6ICdtb250aGx5JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdRdWFydGVybHknLFxyXG4gICAgICB0eXBlOiAncXVhcnRlcmx5JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdCaWFubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdiaWFubnVhbCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQW5udWFsJyxcclxuICAgICAgdHlwZTogJ2FubnVhbCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25lIFRpbWUnLFxyXG4gICAgICB0eXBlOiAnb25lVGltZScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnUmFuZG9tJyxcclxuICAgICAgdHlwZTogJ3JhbmRvbScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT24gQ29tcGxldGlvbiBPZicsXHJcbiAgICAgIHR5cGU6ICdvbkNvbXBsZXRpb25PZicsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25nb2luZycsXHJcbiAgICAgIHR5cGU6ICdvbmdvaW5nJyxcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgaXNOZXh0RGlzYWJsZWQ6IGFueSA9IGZhbHNlO1xyXG4gIGZlYXR1cmVGbGFnX29uX2NvbXBsZXRpb25fb2Y6IGFueTtcclxuICBvcGVuZWRSYWRpb0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnY29udGFpbmVyIHR5cGUnLCB0aGlzLnBhZ2VUeXBlLCB0aGlzLm1vZGUpO1xyXG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXHJcbiAgICAgICdmZl9mcmVxdWVuY3lfb25fY29tcGxldGlvbl9vZidcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4gIT0gJycpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCAnb25Db21wbGV0aW9uT2YnLCAnb25nb2luZyddO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5Jykge1xyXG4gICAgICBoaWRlRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsICdyYW5kb20nLCAnb25Db21wbGV0aW9uT2YnLCAnb25nb2luZyddO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmV2aWV3ZXJGcmVxdWVuY3knKSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID1cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnd2Vla2x5JyA6IHRoaXMuZnJlcXVlbmN5VGFiO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID1cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnYSB3ZWVrbHknIDogdGhpcy5jdXJyZW50VGFiTmFtZTtcclxuXHJcbiAgICAgIGhpZGVFbGVtZW50czIuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7IC4uLnRoaXMuZnJlcXVlbmN5RGV0YWlscyB9KTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oeyAuLi50aGlzLmZyZXF1ZW5jeURldGFpbHMgfSk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVBhdHRlcm4gPSBwYXJzZUludChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4uc3BsaXQoJ34nKVswXVxyXG4gICAgKTtcclxuXHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZVRpbWUnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBvbmUgdGltZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIHdlZWtseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgbW9udGhseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uQ29tcGxldGlvbk9mJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uIGNvbXBsZXRpb24gb2YnO1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBxdWFydGVybHknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcmFuZG9tJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb25nb2luZyc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGcmVxdWVuY3lUYWIoZnJlcXVlbmN5OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gZnJlcXVlbmN5LnR5cGU7XHJcblxyXG4gICAgaWYgKGZyZXF1ZW5jeS5uYW1lID09ICdPbmUgVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPVxyXG4gICAgICAgIGZyZXF1ZW5jeS5uYW1lLnN0YXJ0c1dpdGgoJ09uJykgfHxcclxuICAgICAgICBmcmVxdWVuY3kubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xyXG4gICAgICAgICAgPyAnYW4gJyArIGZyZXF1ZW5jeS5uYW1lXHJcbiAgICAgICAgICA6ICdhICcgKyBmcmVxdWVuY3kubmFtZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGxldCBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4/LnNwbGl0KCd+Jyk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgIGNhc2UgJ2RhaWx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnd2Vla2x5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzFdID09ICcnIHx8XHJcbiAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1sxXSB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XHJcbiAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdiaWFubnVhbCc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPT09IDAgfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0gPT09ICcnIHx8XHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdLnNwbGl0KCcsJyk/Lmxlbmd0aCA8IDJcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb25lVGltZSc6XHJcbiAgICAgICAgaWYgKGZyZXF1ZW5jeURldGFpbHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVGltZSA9IG1vbWVudChcclxuICAgICAgICAgICAgYCR7ZnJlcXVlbmN5RGV0YWlsc1szXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzJdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhLnRpbWVJbjEyaHJ9YCxcclxuICAgICAgICAgICAgJ0RELU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgICAgICkudW5peCgpO1xyXG4gICAgICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gc2VsZWN0ZWRUaW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnUGxlYXNlIHNldCBhIGZ1dHVyZSBkYXRlLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRJZCA+IDApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3JhbmRvbSc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcclxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIG9uRnJlcXVlbmN5U2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50Li4uLi4nLCBldmVudCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEgPSBldmVudDtcclxuICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSB0aGlzLmlzSW52YWxpZCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbmVkUmFkaW8oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vcGVuZWRSYWRpb0Zvcm0gPSBldmVudDtcclxuICB9XHJcblxyXG4gIC8vICAgY2hlY2tOZXh0VmFsaWRpdHkoKVxyXG4gIC8vIHtcclxuXHJcbiAgLy8gfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeS5lbWl0KHRoaXMuZnJlcXVlbmN5RGF0YSk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyZXF1ZW5jeS5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctaGVhZCB2eC1wLTMgdngtbWItNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2V0IGEgRnJlcXVlbmN5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHkgdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZnJlcXVlbmN5VHlwZSBvZiBmcmVxdWVuY3lMaXN0OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiPnt7IGZyZXF1ZW5jeVR5cGU/Lm5hbWUgfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvdHRvbSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktZGFpbHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYWlseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWRhaWx5PlxyXG4gICAgICAgICAgPCEtLSBEYWlseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktd2Vla2x5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInd2Vla2x5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktd2Vla2x5PlxyXG4gICAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1tb250aGx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW1vbnRobHk+XHJcbiAgICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseT5cclxuICAgICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWJpYW5udWFsXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYmlhbm51YWwnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1iaWFubnVhbD5cclxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LWFubnVhbFxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2FubnVhbCdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWFubnVhbD5cclxuICAgICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZS10aW1lXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25lVGltZSdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZS10aW1lPlxyXG4gICAgICAgICAgPCEtLSBPbmUgVGltZSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcmFuZG9tXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFuZG9tJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxyXG4gICAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25Db21wbGV0aW9uT2YnXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgICAgKHJhZGlvRm9ybSk9XCJvcGVuZWRSYWRpbygkZXZlbnQpXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZj5cclxuICAgICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uZ29pbmdcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxyXG4gICAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCIgKm5nSWY9XCIhb3BlbmVkUmFkaW9Gb3JtXCI+XHJcbiAgICAgIDxhcHAtZmxvYXRpbmctYmFyXHJcbiAgICAgICAgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIlxyXG4gICAgICAgIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCJcclxuICAgICAgICBbaXNEaXNhYmxlZF09XCJpc05leHREaXNhYmxlZFwiXHJcbiAgICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48IS0tIFdoZW4gcmVzcG9uc2liaWxpdHkgbGlzdCBzaG93IHRoZW4gaGlkZSBmcmVxdWVuY3ktZGlhbG9nIGh0bWwgLS0+XHJcblxyXG48IS0tIEZvciBQb2xpY3kgLS0+XHJcbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlID09PSAncG9saWN5J1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWhlYWQgdngtcC0zIHZ4LW1iLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2V0IGEgRnJlcXVlbmN5PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmcmVxdWVuY3lUeXBlIG9mIGZyZXF1ZW5jeUxpc3Q7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiPnt7IGZyZXF1ZW5jeVR5cGU/Lm5hbWUgfX08L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvdHRvbSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkYWlseSdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XHJcbiAgICAgICAgPCEtLSBEYWlseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gV2Vla2x5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHlcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInd2Vla2x5J1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XHJcbiAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHlcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbW9udGhseSdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cclxuICAgICAgICA8IS0tIE1vbnRobHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8IS0tIFF1YXJ0ZXJseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5XHJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxyXG4gICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWxcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYmlhbm51YWwnXCJcclxuICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxyXG4gICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8IS0tIEFubnVhbCBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsXHJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2FubnVhbCdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktYW5udWFsPlxyXG4gICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBPbmUgVGltZSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25lLXRpbWVcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInb25lVGltZSdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktb25lLXRpbWU+XHJcbiAgICAgICAgPCEtLSBPbmUgVGltZSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1yYW5kb21cclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFuZG9tJ1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXJhbmRvbT5cclxuICAgICAgICA8IS0tIFJhbmRvbSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktb24tY29tcGxldGlvbi1vZlxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbkNvbXBsZXRpb25PZidcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mPlxyXG4gICAgICAgIDwhLS0gT24gQ29tcGxldGlvbiBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25nb2luZ1xyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmdvaW5nJ1wiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmdvaW5nPlxyXG4gICAgICAgIDwhLS0gT25nb2luZyBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWZvb3RlclwiPlxyXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgW3Nob3dGcmVxdWVuY3lUZXh0XT1cInRydWVcIlxyXG4gICAgICBbY3VycmVudEZyZXF1ZW5jeV09XCJjdXJyZW50VGFiTmFtZVwiXHJcbiAgICAgIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTakMsTUFBTSxPQUFPLDJCQUEyQjtJQTREdEMsWUFDVSxnQkFBa0MsRUFDbEMsUUFBeUI7UUFEekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQTdEbkMsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxTQUFTLENBQUM7UUFHakIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVmLGFBQVEsR0FBZ0MsZ0JBQWdCLENBQUM7UUFJbEUsa0JBQWEsR0FBRztZQUNkO2dCQUNFLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNEO2dCQUNFLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsU0FBUzthQUNoQjtTQUNGLENBQUM7UUFHRixtQkFBYyxHQUFRLEtBQUssQ0FBQztRQUU1QixvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUk5QixDQUFDO0lBRUosUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQy9ELCtCQUErQixDQUNoQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtRQUNELE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDekIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDeEMsQ0FBQyxZQUFpQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FDcEQsQ0FBQztnQkFDRixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksbUJBQW1CLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN0RSxJQUFJLENBQUMsY0FBYztnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUUxRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN4QyxDQUFDLFlBQWlCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUNwRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztRQUVGLFFBQVEsZ0JBQWdCLEVBQUU7WUFDeEIsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztnQkFDbkMsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7Z0JBQ2hDLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztnQkFDbEMsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7Z0JBQ25DLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7Z0JBQ3BFLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO2dCQUNwQyxNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO2dCQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7Z0JBQ25DLE1BQU07WUFDUixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO2dCQUNuQyxNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBYztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFbkMsSUFBSSxTQUFTLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWM7Z0JBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztvQkFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRO29CQUN2QyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxJQUFJO29CQUN4QixDQUFDLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxRQUFRLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekIsS0FBSyxPQUFPO2dCQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNyRSxTQUFTLEdBQUcsSUFBSSxDQUFDO2lCQUNsQjtxQkFBTTtvQkFDTCxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDN0I7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxFQUFFO29CQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDckUsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDakIsTUFBTTtpQkFDUDtxQkFBTTtvQkFDTCxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDN0I7Z0JBRUQsSUFDRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUN6QixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztvQkFDcEIsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDM0I7b0JBQ0EsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDbkI7Z0JBRUQsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxFQUFFO29CQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDckUsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDakIsTUFBTTtpQkFDUDtxQkFBTTtvQkFDTCxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDN0I7Z0JBRUQsSUFDRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUN6QixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztvQkFDcEIsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDM0I7b0JBQ0EsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDbkI7Z0JBRUQsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixJQUNFLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDO29CQUM3QixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO29CQUMxQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFDMUM7b0JBQ0EsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDbkI7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLGdCQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ2hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FDekIsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxFQUN2RyxvQkFBb0IsQ0FDckIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsWUFBWSxFQUFFO3dCQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDekQsU0FBUyxHQUFHLElBQUksQ0FBQzt3QkFDakIsTUFBTTtxQkFDUDt5QkFBTTt3QkFDTCxTQUFTLEdBQUcsS0FBSyxDQUFDO3dCQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztxQkFDN0I7aUJBQ0Y7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssZ0JBQWdCO2dCQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtvQkFDbkMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDbkI7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssUUFBUTtnQkFDWCxJQUNFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQ2xDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTt3QkFDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7d0JBQ3BCLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDOUI7b0JBQ0EsU0FBUyxHQUFHLElBQUksQ0FBQztpQkFDbEI7cUJBQU07b0JBQ0wsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDbkI7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLFNBQVMsR0FBRyxLQUFLLENBQUM7U0FDckI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixJQUFJO0lBRUosSUFBSTtJQUVKLElBQUk7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7d0hBOVNVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHFSQ2pCeEMsNHRVQTBPQTsyRkR6TmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHlCQUF5QjtxSUFRMUIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBmcmVxdWVuY3lUYWIgPSAnZGFpbHknO1xyXG4gIGN1cnJlbnRUYWJOYW1lID0gJ2EgRGFpbHknO1xyXG5cclxuICBASW5wdXQoKSBmcmVxdWVuY3lEZXRhaWxzOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG5cclxuICBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIGZyZXF1ZW5jeUxpc3QgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdEYWlseScsXHJcbiAgICAgIHR5cGU6ICdkYWlseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnV2Vla2x5JyxcclxuICAgICAgdHlwZTogJ3dlZWtseScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnTW9udGhseScsXHJcbiAgICAgIHR5cGU6ICdtb250aGx5JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdRdWFydGVybHknLFxyXG4gICAgICB0eXBlOiAncXVhcnRlcmx5JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdCaWFubnVhbCcsXHJcbiAgICAgIHR5cGU6ICdiaWFubnVhbCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnQW5udWFsJyxcclxuICAgICAgdHlwZTogJ2FubnVhbCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25lIFRpbWUnLFxyXG4gICAgICB0eXBlOiAnb25lVGltZScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnUmFuZG9tJyxcclxuICAgICAgdHlwZTogJ3JhbmRvbScsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT24gQ29tcGxldGlvbiBPZicsXHJcbiAgICAgIHR5cGU6ICdvbkNvbXBsZXRpb25PZicsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnT25nb2luZycsXHJcbiAgICAgIHR5cGU6ICdvbmdvaW5nJyxcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgc2VsZWN0ZWRGcmVxdWVuY3lEYXRhOiBhbnk7XHJcbiAgaXNOZXh0RGlzYWJsZWQ6IGFueSA9IGZhbHNlO1xyXG4gIGZlYXR1cmVGbGFnX29uX2NvbXBsZXRpb25fb2Y6IGFueTtcclxuICBvcGVuZWRSYWRpb0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnY29udGFpbmVyIHR5cGUnLCB0aGlzLnBhZ2VUeXBlLCB0aGlzLm1vZGUpO1xyXG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXHJcbiAgICAgICdmZl9mcmVxdWVuY3lfb25fY29tcGxldGlvbl9vZidcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4gIT0gJycpIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGlkZUVsZW1lbnRzID0gWydyYW5kb20nLCAnb25Db21wbGV0aW9uT2YnLCAnb25nb2luZyddO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5Jykge1xyXG4gICAgICBoaWRlRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBoaWRlRWxlbWVudHMyID0gWydkYWlseScsICdyYW5kb20nLCAnb25Db21wbGV0aW9uT2YnLCAnb25nb2luZyddO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncmV2aWV3ZXJGcmVxdWVuY3knKSB7XHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID1cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnd2Vla2x5JyA6IHRoaXMuZnJlcXVlbmN5VGFiO1xyXG4gICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID1cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHM/LnBhdHRlcm4gPT0gJycgPyAnYSB3ZWVrbHknIDogdGhpcy5jdXJyZW50VGFiTmFtZTtcclxuXHJcbiAgICAgIGhpZGVFbGVtZW50czIuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZyZXF1ZW5jeUxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgICAgKGVsZW1lbnRJbmRleDogYW55KSA9PiBlbGVtZW50SW5kZXgudHlwZSA9PSBlbGVtZW50XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmVxdWVuY3lEYXRhID0gT2JqZWN0LmFzc2lnbih7IC4uLnRoaXMuZnJlcXVlbmN5RGV0YWlscyB9KTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGF0YSA9IE9iamVjdC5hc3NpZ24oeyAuLi50aGlzLmZyZXF1ZW5jeURldGFpbHMgfSk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVBhdHRlcm4gPSBwYXJzZUludChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLnBhdHRlcm4uc3BsaXQoJ34nKVswXVxyXG4gICAgKTtcclxuXHJcbiAgICBzd2l0Y2ggKGZyZXF1ZW5jeVBhdHRlcm4pIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZVRpbWUnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBvbmUgdGltZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIHdlZWtseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdtb250aGx5JztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgbW9udGhseSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdhbm51YWwnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gYW5udWFsICc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdkYWlseSc7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIGRhaWx5JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uQ29tcGxldGlvbk9mJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2FuIG9uIGNvbXBsZXRpb24gb2YnO1xyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRfaWQgPSB0aGlzLmZyZXF1ZW5jeURldGFpbHMuc2VsZWN0ZWRSZXBvcnQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9ICdxdWFydGVybHknO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYSBxdWFydGVybHknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUYWIgPSAncmFuZG9tJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgcmFuZG9tJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ2JpYW5udWFsJztcclxuICAgICAgICB0aGlzLmN1cnJlbnRUYWJOYW1lID0gJ2EgYmlhbm51YWwnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gJ29uZ29pbmcnO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPSAnYW4gb25nb2luZyc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGcmVxdWVuY3lUYWIoZnJlcXVlbmN5OiBhbnkpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gZnJlcXVlbmN5LnR5cGU7XHJcblxyXG4gICAgaWYgKGZyZXF1ZW5jeS5uYW1lID09ICdPbmUgVGltZScpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiTmFtZSA9ICdhIG9uZSB0aW1lJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYk5hbWUgPVxyXG4gICAgICAgIGZyZXF1ZW5jeS5uYW1lLnN0YXJ0c1dpdGgoJ09uJykgfHxcclxuICAgICAgICBmcmVxdWVuY3kubmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYW5udWFsJ1xyXG4gICAgICAgICAgPyAnYW4gJyArIGZyZXF1ZW5jeS5uYW1lXHJcbiAgICAgICAgICA6ICdhICcgKyBmcmVxdWVuY3kubmFtZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGxldCBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeURldGFpbHMgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4/LnNwbGl0KCd+Jyk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgIGNhc2UgJ2RhaWx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc05leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnd2Vla2x5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzFdID09ICcnIHx8XHJcbiAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1sxXSB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmNvbnRpbnVvdXNfZmFpbGVkX2RheXMgPCAyKSB7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrYmFyLnNob3coJ0lucHV0IHZhbHVlIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMS4nLCAnYWxlcnQnKTtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdID09ICcnIHx8XHJcbiAgICAgICAgICAhZnJlcXVlbmN5RGV0YWlsc1syXSB8fFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdiaWFubnVhbCc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPT09IDAgfHxcclxuICAgICAgICAgIGZyZXF1ZW5jeURldGFpbHNbMl0gPT09ICcnIHx8XHJcbiAgICAgICAgICBmcmVxdWVuY3lEZXRhaWxzWzJdLnNwbGl0KCcsJyk/Lmxlbmd0aCA8IDJcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnb25lVGltZSc6XHJcbiAgICAgICAgaWYgKGZyZXF1ZW5jeURldGFpbHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVGltZSA9IG1vbWVudChcclxuICAgICAgICAgICAgYCR7ZnJlcXVlbmN5RGV0YWlsc1szXX0tJHtmcmVxdWVuY3lEZXRhaWxzWzJdfS0ke2ZyZXF1ZW5jeURldGFpbHNbMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhLnRpbWVJbjEyaHJ9YCxcclxuICAgICAgICAgICAgJ0RELU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgICAgICkudW5peCgpO1xyXG4gICAgICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gc2VsZWN0ZWRUaW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hY2tiYXIuc2hvdygnUGxlYXNlIHNldCBhIGZ1dHVyZSBkYXRlLicsICdhbGVydCcpO1xyXG4gICAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvbkNvbXBsZXRpb25PZic6XHJcbiAgICAgICAgaWYgKHRoaXMuZnJlcXVlbmN5RGF0YS5yZXBvcnRJZCA+IDApIHtcclxuICAgICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpc0ludmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3JhbmRvbSc6XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5RGV0YWlsc1sxXSkgPT0gMiAmJlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHNbMl0gPT0gJycgfHxcclxuICAgICAgICAgICAgIWZyZXF1ZW5jeURldGFpbHNbMl0gfHxcclxuICAgICAgICAgICAgZnJlcXVlbmN5RGV0YWlscy5sZW5ndGggPCA0KVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaXNJbnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSW52YWxpZDtcclxuICB9XHJcblxyXG4gIG9uRnJlcXVlbmN5U2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50Li4uLi4nLCBldmVudCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURhdGEgPSBldmVudDtcclxuICAgIHRoaXMuaXNOZXh0RGlzYWJsZWQgPSB0aGlzLmlzSW52YWxpZCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbmVkUmFkaW8oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vcGVuZWRSYWRpb0Zvcm0gPSBldmVudDtcclxuICB9XHJcblxyXG4gIC8vICAgY2hlY2tOZXh0VmFsaWRpdHkoKVxyXG4gIC8vIHtcclxuXHJcbiAgLy8gfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyZXF1ZW5jeS5lbWl0KHRoaXMuZnJlcXVlbmN5RGF0YSk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyZXF1ZW5jeS5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nXCIgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctaGVhZCB2eC1wLTMgdngtbWItNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2V0IGEgRnJlcXVlbmN5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHkgdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLWJvZHktaW5uZXJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZnJlcXVlbmN5VHlwZSBvZiBmcmVxdWVuY3lMaXN0OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNoYW5nZUZyZXF1ZW5jeVRhYihmcmVxdWVuY3lUeXBlKVwiIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGFyYWdyYXBoLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wXCIgW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUeXBlPy50eXBlID09IGZyZXF1ZW5jeVRhYlwiPnt7IGZyZXF1ZW5jeVR5cGU/Lm5hbWUgfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWJvdHRvbSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGgxPkhlbGxvIHdvcmxkPC9oMT5cclxuICAgICAgICAgIDxkaXY+e3tmcmVxdWVuY3lEZXRhaWxzIHwganNvbn19PC9kaXY+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kYWlseVxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktZGFpbHk+XHJcbiAgICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIFdlZWtseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS13ZWVrbHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS13ZWVrbHk+XHJcbiAgICAgICAgICA8IS0tIFdlZWtseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBNb250aGx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW1vbnRobHlcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktbW9udGhseT5cclxuICAgICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBRdWFydGVybHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktcXVhcnRlcmx5XHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5PlxyXG4gICAgICAgICAgPCEtLSBRdWFydGVybHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQmlhbm51YWwgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYmlhbm51YWxcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LWJpYW5udWFsPlxyXG4gICAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktYW5udWFsXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktYW5udWFsPlxyXG4gICAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gT25lIFRpbWUgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25lLXRpbWVcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmVUaW1lJ1wiXHJcbiAgICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICAgID48L2FwcC1mcmVxdWVuY3ktb25lLXRpbWU+XHJcbiAgICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIFJhbmRvbSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgICA8YXBwLWZyZXF1ZW5jeS1yYW5kb21cclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidyYW5kb20nXCJcclxuICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1yYW5kb20+XHJcbiAgICAgICAgICA8IS0tIFJhbmRvbSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICAgIDxhcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2ZcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbkNvbXBsZXRpb25PZidcIlxyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiXHJcbiAgICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgICAgICAocmFkaW9Gb3JtKT1cIm9wZW5lZFJhZGlvKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mPlxyXG4gICAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGFwcC1mcmVxdWVuY3ktb25nb2luZ1xyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uZ29pbmcnXCJcclxuICAgICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZ29pbmc+XHJcbiAgICAgICAgICA8IS0tIE9uZ29pbmcgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1mb290ZXJcIiAqbmdJZj1cIiFvcGVuZWRSYWRpb0Zvcm1cIj5cclxuICAgICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgICBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2N1cnJlbnRGcmVxdWVuY3ldPVwiY3VycmVudFRhYk5hbWVcIlxyXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImlzTmV4dERpc2FibGVkXCJcclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXHJcbiAgICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gV2hlbiByZXNwb25zaWJpbGl0eSBsaXN0IHNob3cgdGhlbiBoaWRlIGZyZXF1ZW5jeS1kaWFsb2cgaHRtbCAtLT5cclxuXHJcbjwhLS0gRm9yIFBvbGljeSAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2dcIiAqbmdJZj1cIm1vZGUgPT09ICdwb2xpY3knXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctaGVhZCB2eC1wLTMgdngtbWItNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZXQgYSBGcmVxdWVuY3k8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1ib2R5IHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctYm9keS1pbm5lclwiIFtuZ1N3aXRjaF09XCJmcmVxdWVuY3lUYWJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZyZXF1ZW5jeVR5cGUgb2YgZnJlcXVlbmN5TGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2hhbmdlRnJlcXVlbmN5VGFiKGZyZXF1ZW5jeVR5cGUpXCIgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTBcIiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVR5cGU/LnR5cGUgPT0gZnJlcXVlbmN5VGFiXCI+e3sgZnJlcXVlbmN5VHlwZT8ubmFtZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWItYm90dG9tIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDwhLS0gRGFpbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LWRhaWx5XHJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2RhaWx5J1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1kYWlseT5cclxuICAgICAgICA8IS0tIERhaWx5IEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBXZWVrbHkgRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LXdlZWtseVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid3ZWVrbHknXCJcclxuICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LXdlZWtseT5cclxuICAgICAgICA8IS0tIFdlZWtseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgU3RhcnQgLS0+XHJcbiAgICAgICAgPGFwcC1mcmVxdWVuY3ktbW9udGhseVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1tb250aGx5PlxyXG4gICAgICAgIDwhLS0gTW9udGhseSBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gUXVhcnRlcmx5IEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1xdWFydGVybHlcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncXVhcnRlcmx5J1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1xdWFydGVybHk+XHJcbiAgICAgICAgPCEtLSBRdWFydGVybHkgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8IS0tIEJpYW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1iaWFubnVhbFxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidiaWFubnVhbCdcIlxyXG4gICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktYmlhbm51YWw+XHJcbiAgICAgICAgPCEtLSBCaWFubnVhbCBGcmVxdWVuY3kgRW5kIC0tPlxyXG4gICAgICAgIDwhLS0gQW5udWFsIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1hbm51YWxcclxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYW5udWFsJ1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1hbm51YWw+XHJcbiAgICAgICAgPCEtLSBBbm51YWwgRnJlcXVlbmN5IEVuZCAtLT5cclxuICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmUtdGltZVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidvbmVUaW1lJ1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAgICAgICAoZnJlcXVlbmN5RGV0YWlscyk9XCJvbkZyZXF1ZW5jeVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZyZXF1ZW5jeURhdGFdPVwiZnJlcXVlbmN5RGV0YWlsc1wiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1vbmUtdGltZT5cclxuICAgICAgICA8IS0tIE9uZSBUaW1lIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBSYW5kb20gRnJlcXVlbmN5IFN0YXJ0IC0tPlxyXG4gICAgICAgIDxhcHAtZnJlcXVlbmN5LXJhbmRvbVxyXG4gICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidyYW5kb20nXCJcclxuICAgICAgICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgICAgICAgKGZyZXF1ZW5jeURldGFpbHMpPVwib25GcmVxdWVuY3lTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIFtmcmVxdWVuY3lEYXRhXT1cImZyZXF1ZW5jeURldGFpbHNcIlxyXG4gICAgICAgID48L2FwcC1mcmVxdWVuY3ktcmFuZG9tPlxyXG4gICAgICAgIDwhLS0gUmFuZG9tIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mXHJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uQ29tcGxldGlvbk9mJ1wiXHJcbiAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2Y+XHJcbiAgICAgICAgPCEtLSBPbiBDb21wbGV0aW9uIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBTdGFydCAtLT5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1vbmdvaW5nXHJcbiAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ29uZ29pbmcnXCJcclxuICAgICAgICAgIChmcmVxdWVuY3lEZXRhaWxzKT1cIm9uRnJlcXVlbmN5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZnJlcXVlbmN5RGF0YV09XCJmcmVxdWVuY3lEZXRhaWxzXCJcclxuICAgICAgICA+PC9hcHAtZnJlcXVlbmN5LW9uZ29pbmc+XHJcbiAgICAgICAgPCEtLSBPbmdvaW5nIEZyZXF1ZW5jeSBFbmQgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctZm9vdGVyXCI+XHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2hvd0ZyZXF1ZW5jeVRleHRdPVwidHJ1ZVwiXHJcbiAgICAgIFtjdXJyZW50RnJlcXVlbmN5XT1cImN1cnJlbnRUYWJOYW1lXCJcclxuICAgICAgW2lzRGlzYWJsZWRdPVwiaXNOZXh0RGlzYWJsZWRcIlxyXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|