vcomply-workflow-engine 3.4.27 → 3.4.28
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/constants/time.constants.mjs +2 -0
- package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +29 -12
- package/esm2020/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +17 -8
- package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +15 -6
- package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +3 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +14 -6
- package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +3 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +3 -3
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +5 -3
- package/esm2020/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2020/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +194 -0
- package/esm2020/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +8 -7
- package/esm2020/lib/workflow-engine.module.mjs +7 -3
- package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +5 -4
- package/esm2020/lib/workflow-services/log-issue.service.mjs +39 -140
- package/fesm2015/vcomply-workflow-engine.mjs +369 -221
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +351 -202
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/constants/time.constants.d.ts +1 -0
- package/lib/log-an-issue/log-an-issue.component.d.ts +2 -3
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +2 -0
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +2 -0
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +2 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -0
- package/lib/ui-kit/time-picker/constants/constant.d.ts +4 -0
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +25 -0
- package/lib/ui-kit/time-picker/time-picker.module.d.ts +8 -0
- package/lib/workflow-engine.module.d.ts +2 -1
- package/lib/workflow-services/log-issue.service.d.ts +0 -1
- package/package.json +2 -2
package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { Component, ViewChild, Input, Output, EventEmitter, } from '@angular/core';
|
|
2
2
|
import moment from 'moment/moment';
|
|
3
|
+
import { DEFAULT_TIME } from '../../../constants/time.constants';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "../frequency.service";
|
|
5
6
|
import * as i2 from "@angular/forms";
|
|
6
7
|
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "
|
|
8
|
-
import * as i5 from "
|
|
8
|
+
import * as i4 from "../../../ui-kit/popover/popover.component";
|
|
9
|
+
import * as i5 from "../../../ui-kit/popover/popover.directive";
|
|
10
|
+
import * as i6 from "ng2-date-picker";
|
|
11
|
+
import * as i7 from "../../../ui-kit/time-picker/time-picker/time-picker.component";
|
|
12
|
+
import * as i8 from "../frequency-due-date/frequency-due-date.component";
|
|
9
13
|
export class FrequencyOneTimeComponent {
|
|
10
14
|
constructor(frequencyService) {
|
|
11
15
|
this.frequencyService = frequencyService;
|
|
16
|
+
this.DEFAULT_TIME = DEFAULT_TIME;
|
|
12
17
|
this.datepickerOverlay = false;
|
|
13
18
|
this.showDateError = false;
|
|
14
19
|
this.oneTimeFailed = 5;
|
|
15
20
|
this.oneTimeWindow = 15;
|
|
16
|
-
this.oneTimeStartTime =
|
|
21
|
+
this.oneTimeStartTime = DEFAULT_TIME;
|
|
17
22
|
this.oneTimeSelected = '';
|
|
18
23
|
this.todayDate = new Date();
|
|
19
24
|
this.shortMonth = [];
|
|
@@ -138,12 +143,16 @@ export class FrequencyOneTimeComponent {
|
|
|
138
143
|
this.frequencyInfo.reportId = 0;
|
|
139
144
|
this.frequencyDetails.emit(this.frequencyInfo);
|
|
140
145
|
}
|
|
146
|
+
timeSelection(event) {
|
|
147
|
+
const selectedValue = event.selectedValue;
|
|
148
|
+
this.onTimeChanged(selectedValue);
|
|
149
|
+
}
|
|
141
150
|
}
|
|
142
151
|
FrequencyOneTimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyOneTimeComponent, deps: [{ token: i1.FrequencyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
-
FrequencyOneTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyOneTimeComponent, selector: "app-frequency-one-time", inputs: { pageType: "pageType", frequencyData: "frequencyData", mode: "mode" }, outputs: { frequencyDetails: "frequencyDetails" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- For Policy -->\r\n<ng-container *ngIf=\"mode === 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\"><i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"></i>\r\n <input type=\"text\" [value]=\"todayDate | date : 'dd MMM yyyy'\" [placeholder]=\"todayDate | date : 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input type=\"text\" aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date [id]=\"6\" [mode]=\"mode\" [pageName]=\"'one-time'\" [isDeactivated]=\"false\" [completedValue]=\"oneTimeWindow\" [notCompletedValue]=\"oneTimeFailed\" [pageType]=\"pageType\" (valueChange)=\"onValueChange($event)\"></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"\r\n openDatePicker();\r\n dateChange($event);\r\n showDateError = false;\r\n datepickerOverlay = false\r\n \"\r\n></dp-date-picker>\r\n<div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatepicker()\"\r\n *ngIf=\"datepickerOverlay\"\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-onetime{position:relative}::ng-deep .frequency-onetime-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-onetime-inner .date-field{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;position:relative;width:12.25rem;height:2rem}::ng-deep .frequency-onetime-inner .date-field .calendar-icon{position:absolute;top:7px;left:.5rem}::ng-deep .frequency-onetime-inner .date-field input{background:transparent;border-radius:0;border:none;color:#747576;font-size:11px;padding:.5rem .5rem .5rem 2.25rem;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-onetime-inner .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1}::ng-deep .frequency-onetime-inner .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-onetime-inner .time-picker-group .time-field{position:relative}::ng-deep .frequency-onetime-inner .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DatePickerComponent, selector: "dp-date-picker", inputs: ["mode", "placeholder", "disabled", "config", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "component", type: i5.FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: ["mode", "pageType", "completedRequired", "notCompletedRequired", "completedValue", "notCompletedValue", "deactivateValue", "isDeactivated", "id", "pageName"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
152
|
+
FrequencyOneTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyOneTimeComponent, selector: "app-frequency-one-time", inputs: { pageType: "pageType", frequencyData: "frequencyData", mode: "mode" }, outputs: { frequencyDetails: "frequencyDetails" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"timePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input class=\"input\" [placeholder]=\"oneTimeStartTime\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n <app-popover #timePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"oneTimeStartTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); timePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- For Policy -->\r\n<ng-container *ngIf=\"mode === 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"12hr format\"\r\n [(ngModel)]=\"oneTimeStartTime\"\r\n [placeholder]=\"DEFAULT_TIME\"\r\n readonly\r\n />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n [pageType]=\"pageType\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"\r\n openDatePicker();\r\n dateChange($event);\r\n showDateError = false;\r\n datepickerOverlay = false\r\n \"\r\n></dp-date-picker>\r\n<div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatepicker()\"\r\n *ngIf=\"datepickerOverlay\"\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-onetime{position:relative}::ng-deep .frequency-onetime-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-onetime-inner .date-field{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;position:relative;width:12.25rem;height:2rem}::ng-deep .frequency-onetime-inner .date-field .calendar-icon{position:absolute;top:7px;left:.5rem}::ng-deep .frequency-onetime-inner .date-field input{background:transparent;border-radius:0;border:none;color:#747576;font-size:11px;padding:.5rem .5rem .5rem 2.25rem;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-onetime-inner .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-onetime-inner .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i5.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.DatePickerComponent, selector: "dp-date-picker", inputs: ["mode", "placeholder", "disabled", "config", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "component", type: i7.TimePickerComponent, selector: "app-time-picker", inputs: ["time"], outputs: ["onTimeSelection"] }, { kind: "component", type: i8.FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: ["mode", "pageType", "completedRequired", "notCompletedRequired", "completedValue", "notCompletedValue", "deactivateValue", "isDeactivated", "id", "pageName"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
144
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyOneTimeComponent, decorators: [{
|
|
145
154
|
type: Component,
|
|
146
|
-
args: [{ selector: 'app-frequency-one-time', template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input class=\"input\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- For Policy -->\r\n<ng-container *ngIf=\"mode === 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">DUE DATE FREQUENCY:</div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\"><i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"></i>\r\n <input type=\"text\" [value]=\"todayDate | date : 'dd MMM yyyy'\" [placeholder]=\"todayDate | date : 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input type=\"text\" aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"11:59 PM\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date [id]=\"6\" [mode]=\"mode\" [pageName]=\"'one-time'\" [isDeactivated]=\"false\" [completedValue]=\"oneTimeWindow\" [notCompletedValue]=\"oneTimeFailed\" [pageType]=\"pageType\" (valueChange)=\"onValueChange($event)\"></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"\r\n openDatePicker();\r\n dateChange($event);\r\n showDateError = false;\r\n datepickerOverlay = false\r\n \"\r\n></dp-date-picker>\r\n<div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatepicker()\"\r\n *ngIf=\"datepickerOverlay\"\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-onetime{position:relative}::ng-deep .frequency-onetime-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-onetime-inner .date-field{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;position:relative;width:12.25rem;height:2rem}::ng-deep .frequency-onetime-inner .date-field .calendar-icon{position:absolute;top:7px;left:.5rem}::ng-deep .frequency-onetime-inner .date-field input{background:transparent;border-radius:0;border:none;color:#747576;font-size:11px;padding:.5rem .5rem .5rem 2.25rem;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-onetime-inner .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1}::ng-deep .frequency-onetime-inner .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-onetime-inner .time-picker-group .time-field{position:relative}::ng-deep .frequency-onetime-inner .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}\n"] }]
|
|
155
|
+
args: [{ selector: 'app-frequency-one-time', template: "<ng-container *ngIf=\"mode !== 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div\r\n class=\"time-field\"\r\n appPopover\r\n (click)=\"timePicker.popover()\"\r\n placement=\"right\"\r\n >\r\n <input class=\"input\" [placeholder]=\"oneTimeStartTime\" readonly />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n <app-popover #timePicker [dontCloseonClick]=\"true\">\r\n <app-time-picker\r\n [time]=\"oneTimeStartTime\"\r\n (onTimeSelection)=\"\r\n timeSelection($event); timePicker.closePopover('top')\r\n \"\r\n ></app-time-picker>\r\n </app-popover>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- For Policy -->\r\n<ng-container *ngIf=\"mode === 'policy'\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\r\n DUE DATE FREQUENCY:\r\n </div>\r\n <div class=\"frequency-onetime\">\r\n <div class=\"frequency-onetime-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"date-field vx-m-0 vx-mr-3\">\r\n <i class=\"icons calendar-icon vx-fs-16 vx-paragraph-txt vx-mr-3\"\r\n ></i\r\n >\r\n <input\r\n type=\"text\"\r\n [value]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n (click)=\"openDatePicker()\"\r\n readonly\r\n />\r\n </div>\r\n\r\n <div class=\"time-picker-group vx-d-flex\">\r\n <div class=\"time-field\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"12hr format\"\r\n [(ngModel)]=\"oneTimeStartTime\"\r\n [placeholder]=\"DEFAULT_TIME\"\r\n readonly\r\n />\r\n <div class=\"clock-icon vx-d-flex vx-align-center vx-justify-center\">\r\n <i class=\"icons vx-fs-12 vx-paragraph-txt\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-frequency-due-date\r\n [id]=\"6\"\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [notCompletedValue]=\"oneTimeFailed\"\r\n [pageType]=\"pageType\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-due-date>\r\n </div>\r\n</ng-container>\r\n\r\n<dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date : 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"\r\n openDatePicker();\r\n dateChange($event);\r\n showDateError = false;\r\n datepickerOverlay = false\r\n \"\r\n></dp-date-picker>\r\n<div\r\n class=\"vx-overlay\"\r\n (click)=\"closeDatepicker()\"\r\n *ngIf=\"datepickerOverlay\"\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-onetime{position:relative}::ng-deep .frequency-onetime-inner{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-onetime-inner .date-field{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;position:relative;width:12.25rem;height:2rem}::ng-deep .frequency-onetime-inner .date-field .calendar-icon{position:absolute;top:7px;left:.5rem}::ng-deep .frequency-onetime-inner .date-field input{background:transparent;border-radius:0;border:none;color:#747576;font-size:11px;padding:.5rem .5rem .5rem 2.25rem;margin:0;position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group{background:#fff;border-radius:.25rem;display:flex;position:relative}::ng-deep .frequency-onetime-inner .time-picker-group input{background:transparent;border-radius:.25rem;border:1px solid #DBDBDB;color:#747576;font-size:13px;font-weight:400;width:6.25rem;padding:0 .75rem;margin:0;height:2rem;outline:none;position:relative;z-index:1;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group input::placeholder{color:#747576}::ng-deep .frequency-onetime-inner .time-picker-group .time-field{position:relative;cursor:pointer}::ng-deep .frequency-onetime-inner .time-picker-group .time-field .clock-icon{height:2rem;width:.75rem;position:absolute;right:.75rem;top:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}\n"] }]
|
|
147
156
|
}], ctorParameters: function () { return [{ type: i1.FrequencyService }]; }, propDecorators: { datePicker: [{
|
|
148
157
|
type: ViewChild,
|
|
149
158
|
args: ['datePicker']
|
|
@@ -156,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
156
165
|
}], frequencyDetails: [{
|
|
157
166
|
type: Output
|
|
158
167
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW9uZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmUtdGltZS9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZS10aW1lL2ZyZXF1ZW5jeS1vbmUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFPbkMsTUFBTSxPQUFPLHlCQUF5QjtJQXNCcEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwQnRELHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixxQkFBZ0IsR0FBUSxVQUFVLENBQUM7UUFDbkMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFFckIsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFdkIsZUFBVSxHQUFrQixFQUFFLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxD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QWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3NIQXBLVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwyU0NqQnRDLHd0R0FnRkE7MkZEL0RhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0I7dUdBS1QsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQWVkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1vbmUtdGltZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1vbmUtdGltZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LW9uZS10aW1lLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lPbmVUaW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgZGF0ZVBpY2tlciE6IERhdGVQaWNrZXJDb21wb25lbnQ7XHJcbiAgZGF0ZXBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICBzaG93RGF0ZUVycm9yID0gZmFsc2U7XHJcbiAgb25lVGltZUZhaWxlZCA9IDU7XHJcbiAgb25lVGltZVdpbmRvdyA9IDE1O1xyXG4gIG9uZVRpbWVTdGFydFRpbWU6IGFueSA9ICcxMTo1OSBwbSc7XHJcbiAgb25lVGltZVNlbGVjdGVkID0gJyc7XHJcbiAgZGF0ZUNvbmZpZzogYW55O1xyXG4gIHRvZGF5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHNob3J0TW9udGg6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBkYXRlT2JqZWN0RGF0YSA9IG5ldyBEYXRlKCk7XHJcbiAgbWluRGF0ZSA9IG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKT8uc3BsaXQoJyAnKVswXTtcclxuICBzZWxlY3RlZERhdGU6IGFueTtcclxuXHJcbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlQ29uZmlnID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRhdGVDb25maWc7XHJcbiAgICB0aGlzLmRhdGVDb25maWdbJ21pbiddID0gbmV3IERhdGUoKS5nZXREYXRlKCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgdGhpcy5zaG9ydE1vbnRoID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLm1vbnRoQXJyYXkubWFwKChtb250aCkgPT5cclxuICAgICAgbW9udGguc3Vic3RyaW5nKDAsIDMpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBtb21lbnQodGhpcy50b2RheURhdGUpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdID09PSAnMCdcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xyXG4gICAgY29uc3QgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICBgJHtwYXR0ZXJuSW5mb1szXX0tJHtwYXR0ZXJuSW5mb1syXX0tJHtwYXR0ZXJuSW5mb1sxXX0gJHt0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZX1gLFxyXG4gICAgICAnREQtTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgKS51bml4KCk7XHJcbiAgICB0aGlzLnRvZGF5RGF0ZSA9IG5ldyBEYXRlKHRpbWVTdGFtcCAqIDEwMDApO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBtb21lbnQodGhpcy50b2RheURhdGUpO1xyXG4gICAgdGhpcy5vbmVUaW1lRmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIHRoaXMub25lVGltZVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMub25lVGltZVNlbGVjdGVkID1cclxuICAgICAgcGF0dGVybkluZm9bMV0gKyAnficgKyBwYXR0ZXJuSW5mb1syXSArICd+JyArIHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG5ldyBEYXRlKFxyXG4gICAgICBtb21lbnQoXHJcbiAgICAgICAgdGhpcy5vbmVUaW1lU2VsZWN0ZWQgKyAnICcgKyB0aGlzLm9uZVRpbWVTdGFydFRpbWUsXHJcbiAgICAgICAgJ1lZWVl+TU1+REQgSEg6bW06c3MnXHJcbiAgICAgICkudW5peCgpICogMTAwMFxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2V0T25lVGltZUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRhdGVQaWNrZXIoKSB7XHJcbiAgICBjb25zdCBuZXdEYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5hcGkubW92ZUNhbGVuZGFyVG8obmV3RGF0ZSk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuYXBpLm9wZW4oKTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlck92ZXJsYXkgPSB0cnVlO1xyXG4gIH1cclxuICBjbG9zZURhdGVwaWNrZXIoKSB7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuYXBpLmNsb3NlKCk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLm9uZVRpbWVXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25lVGltZUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9zZURhdGVwaWNrZXIoKTtcclxuICAgIHRoaXMuZ2V0T25lVGltZUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25UaW1lQ2hhbmdlZChldmVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWUgPSBldmVudDtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRlT2JqZWN0RGF0YSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aGlzLmRhdGVPYmplY3REYXRhID0gbW9tZW50KHRoaXMuZGF0ZU9iamVjdERhdGEpLnRvRGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXREYXRlKCkgK1xyXG4gICAgICAgICctJyArXHJcbiAgICAgICAgKHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0TW9udGgoKSArIDEpICtcclxuICAgICAgICAnLScgK1xyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgJyAnICtcclxuICAgICAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWUsXHJcbiAgICAgICdERC1NTS1ZWVlZIGhoOm1tIGEnXHJcbiAgICApLnVuaXgoKTtcclxuICAgIHRoaXMub25lVGltZVNlbGVjdGVkID0gbW9tZW50KHRpbWVTdGFtcCAqIDEwMDApXHJcbiAgICAgIC5mb3JtYXQoJ1lZWVl+TU1+RERUSEg6bW06c3NaJylcclxuICAgICAgLnNwbGl0KCdUJylbMF07XHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGRhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBldmVudC5kYXRlO1xyXG4gICAgY29uc3QgbmV3RGF0ZSA9IG1vbWVudChldmVudC5kYXRlKS51bml4KCk7XHJcblxyXG4gICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG5ldyBEYXRlKG5ld0RhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMudG9kYXlEYXRlID0gdGhpcy5kYXRlT2JqZWN0RGF0YTtcclxuICAgIGxldCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAnLScgK1xyXG4gICAgICAgICh0aGlzLmRhdGVPYmplY3REYXRhLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICcgJyArXHJcbiAgICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lLFxyXG4gICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgKS51bml4KCk7XHJcbiAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCA9IGV2ZW50LmRhdGVcclxuICAgICAgLmZvcm1hdCgnWVlZWX5NTX5ERFRISDptbTpzc1onKVxyXG4gICAgICAuc3BsaXQoJ1QnKVswXTtcclxuXHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldE9uZVRpbWVGcmVxdWVuY3koKSB7XHJcbiAgICBpZiAodGhpcy5vbmVUaW1lU2VsZWN0ZWQgIT09ICcnKSB7XHJcbiAgICAgIHRoaXMudG9kYXlEYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKS50b0RhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxyXG4gICAgICAnT25lIFRpbWUgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldERhdGUoKSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnRvZGF5RGF0ZS5nZXRNb250aCgpXSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAnIGJ5ICcgK1xyXG4gICAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDAgK1xyXG4gICAgICAnficgK1xyXG4gICAgICAodGhpcy5vbmVUaW1lU2VsZWN0ZWQgPT09ICcnXHJcbiAgICAgICAgPyBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgICAnficgK1xyXG4gICAgICAgICAgbmV3IERhdGUoKS5nZXREYXRlKClcclxuICAgICAgICA6IHRoaXMub25lVGltZVNlbGVjdGVkKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ29uZVRpbWUnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5vbmVUaW1lRmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMub25lVGltZVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5vbmVUaW1lU3RhcnRUaW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgIT09ICdwb2xpY3knXCI+XHJcbiAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5cclxuICAgIERVRSBEQVRFIEZSRVFVRU5DWTpcclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LW9uZXRpbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktb25ldGltZS1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXAtM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1maWVsZCB2eC1tLTAgdngtbXItM1wiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgY2FsZW5kYXItaWNvbiB2eC1mcy0xNiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIlxyXG4gICAgICAgICAgPiYjeGU5MmQ7PC9pXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInRvZGF5RGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0b2RheURhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5J1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiXHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyLWdyb3VwIHZ4LWQtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWZpZWxkXCI+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dFwiIHBsYWNlaG9sZGVyPVwiMTE6NTkgUE1cIiByZWFkb25seSAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNsb2NrLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOTU1OzwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgICAgW2lkXT1cIjZcIlxyXG4gICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgW3BhZ2VOYW1lXT1cIidvbmUtdGltZSdcIlxyXG4gICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lV2luZG93XCJcclxuICAgICAgW25vdENvbXBsZXRlZFZhbHVlXT1cIm9uZVRpbWVGYWlsZWRcIlxyXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPCEtLSBGb3IgUG9saWN5IC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3BvbGljeSdcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkRVRSBEQVRFIEZSRVFVRU5DWTo8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LW9uZXRpbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktb25ldGltZS1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXAtM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1maWVsZCB2eC1tLTAgdngtbXItM1wiPjxpIGNsYXNzPVwiaWNvbnMgY2FsZW5kYXItaWNvbiB2eC1mcy0xNiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj4mI3hlOTJkOzwvaT5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwidG9kYXlEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIiBbcGxhY2Vob2xkZXJdPVwidG9kYXlEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIiAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiIHJlYWRvbmx5IC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyLWdyb3VwIHZ4LWQtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWZpZWxkXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiBbKG5nTW9kZWwpXT1cIm9uZVRpbWVTdGFydFRpbWVcIiBwbGFjZWhvbGRlcj1cIjExOjU5IFBNXCIgcmVhZG9ubHkgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9jay1pY29uIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlIFtpZF09XCI2XCIgW21vZGVdPVwibW9kZVwiIFtwYWdlTmFtZV09XCInb25lLXRpbWUnXCIgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIiBbY29tcGxldGVkVmFsdWVdPVwib25lVGltZVdpbmRvd1wiIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lRmFpbGVkXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZT5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZHAtZGF0ZS1waWNrZXJcclxuICAjZGF0ZVBpY2tlclxyXG4gIFtpZF09XCInc3RhcnQtZGF0ZS0nICsgNlwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cInRvZGF5RGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcclxuICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgW2NvbmZpZ109XCJkYXRlQ29uZmlnXCJcclxuICAob25TZWxlY3QpPVwiXHJcbiAgICBvcGVuRGF0ZVBpY2tlcigpO1xyXG4gICAgZGF0ZUNoYW5nZSgkZXZlbnQpO1xyXG4gICAgc2hvd0RhdGVFcnJvciA9IGZhbHNlO1xyXG4gICAgZGF0ZXBpY2tlck92ZXJsYXkgPSBmYWxzZVxyXG4gIFwiXHJcbj48L2RwLWRhdGUtcGlja2VyPlxyXG48ZGl2XHJcbiAgY2xhc3M9XCJ2eC1vdmVybGF5XCJcclxuICAoY2xpY2spPVwiY2xvc2VEYXRlcGlja2VyKClcIlxyXG4gICpuZ0lmPVwiZGF0ZXBpY2tlck92ZXJsYXlcIlxyXG4+PC9kaXY+XHJcbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW9uZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmUtdGltZS9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZS10aW1lL2ZyZXF1ZW5jeS1vbmUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7O0FBT2pFLE1BQU0sT0FBTyx5QkFBeUI7SUF1QnBDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckJ0RCxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUM1QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIscUJBQWdCLEdBQVEsWUFBWSxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXJCLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXZCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxJQUFJ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QUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O3NIQTFLVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwyU0NsQnRDLGs5SEF1SEE7MkZEckdhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0I7dUdBS1QsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQWdCZCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktb25lLXRpbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1vbmUtdGltZS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5T25lVGltZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIERFRkFVTFRfVElNRSA9IERFRkFVTFRfVElNRTtcclxuICBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIHNob3dEYXRlRXJyb3IgPSBmYWxzZTtcclxuICBvbmVUaW1lRmFpbGVkID0gNTtcclxuICBvbmVUaW1lV2luZG93ID0gMTU7XHJcbiAgb25lVGltZVN0YXJ0VGltZTogYW55ID0gREVGQVVMVF9USU1FO1xyXG4gIG9uZVRpbWVTZWxlY3RlZCA9ICcnO1xyXG4gIGRhdGVDb25maWc6IGFueTtcclxuICB0b2RheURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZSgpO1xyXG4gIG1pbkRhdGUgPSBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk/LnNwbGl0KCcgJylbMF07XHJcbiAgc2VsZWN0ZWREYXRlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZUNvbmZpZyA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXRlQ29uZmlnO1xyXG4gICAgdGhpcy5kYXRlQ29uZmlnWydtaW4nXSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcCgobW9udGgpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSA9PT0gJzAnXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnN0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgYCR7cGF0dGVybkluZm9bM119LSR7cGF0dGVybkluZm9bMl19LSR7cGF0dGVybkluZm9bMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWV9YCxcclxuICAgICAgJ0RELU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICkudW5peCgpO1xyXG4gICAgdGhpcy50b2RheURhdGUgPSBuZXcgRGF0ZSh0aW1lU3RhbXAgKiAxMDAwKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIHRoaXMub25lVGltZUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICB0aGlzLm9uZVRpbWVXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCA9XHJcbiAgICAgIHBhdHRlcm5JbmZvWzFdICsgJ34nICsgcGF0dGVybkluZm9bMl0gKyAnficgKyBwYXR0ZXJuSW5mb1szXTtcclxuICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZShcclxuICAgICAgbW9tZW50KFxyXG4gICAgICAgIHRoaXMub25lVGltZVNlbGVjdGVkICsgJyAnICsgdGhpcy5vbmVUaW1lU3RhcnRUaW1lLFxyXG4gICAgICAgICdZWVlZfk1NfkREIEhIOm1tOnNzJ1xyXG4gICAgICApLnVuaXgoKSAqIDEwMDBcclxuICAgICk7XHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9wZW5EYXRlUGlja2VyKCkge1xyXG4gICAgY29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuYXBpLm1vdmVDYWxlbmRhclRvKG5ld0RhdGUpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLmFwaS5vcGVuKCk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJPdmVybGF5ID0gdHJ1ZTtcclxuICB9XHJcbiAgY2xvc2VEYXRlcGlja2VyKCkge1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLmFwaS5jbG9zZSgpO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy5vbmVUaW1lV2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9uZVRpbWVGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuY2xvc2VEYXRlcGlja2VyKCk7XHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lID0gZXZlbnQ7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZGF0ZU9iamVjdERhdGEgPT0gJ29iamVjdCcpIHtcclxuICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgIH1cclxuICAgIGxldCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAnLScgK1xyXG4gICAgICAgICh0aGlzLmRhdGVPYmplY3REYXRhLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICcgJyArXHJcbiAgICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lLFxyXG4gICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgKS51bml4KCk7XHJcbiAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCA9IG1vbWVudCh0aW1lU3RhbXAgKiAxMDAwKVxyXG4gICAgICAuZm9ybWF0KCdZWVlZfk1NfkREVEhIOm1tOnNzWicpXHJcbiAgICAgIC5zcGxpdCgnVCcpWzBdO1xyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZXZlbnQuZGF0ZTtcclxuICAgIGNvbnN0IG5ld0RhdGUgPSBtb21lbnQoZXZlbnQuZGF0ZSkudW5peCgpO1xyXG5cclxuICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZShuZXdEYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLnRvZGF5RGF0ZSA9IHRoaXMuZGF0ZU9iamVjdERhdGE7XHJcbiAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldERhdGUoKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICctJyArXHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAnICcgK1xyXG4gICAgICAgIHRoaXMub25lVGltZVN0YXJ0VGltZSxcclxuICAgICAgJ0RELU1NLVlZWVkgaGg6bW0gYSdcclxuICAgICkudW5peCgpO1xyXG4gICAgdGhpcy5vbmVUaW1lU2VsZWN0ZWQgPSBldmVudC5kYXRlXHJcbiAgICAgIC5mb3JtYXQoJ1lZWVl+TU1+RERUSEg6bW06c3NaJylcclxuICAgICAgLnNwbGl0KCdUJylbMF07XHJcblxyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRPbmVUaW1lRnJlcXVlbmN5KCkge1xyXG4gICAgaWYgKHRoaXMub25lVGltZVNlbGVjdGVkICE9PSAnJykge1xyXG4gICAgICB0aGlzLnRvZGF5RGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSkudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID1cclxuICAgICAgJ09uZSBUaW1lICcgK1xyXG4gICAgICB0aGlzLnRvZGF5RGF0ZS5nZXREYXRlKCkgK1xyXG4gICAgICAnICcgK1xyXG4gICAgICB0aGlzLnNob3J0TW9udGhbdGhpcy50b2RheURhdGUuZ2V0TW9udGgoKV0gK1xyXG4gICAgICAnICcgK1xyXG4gICAgICB0aGlzLnRvZGF5RGF0ZS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgJyBieSAnICtcclxuICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBhdHRlcm4gPVxyXG4gICAgICAwICtcclxuICAgICAgJ34nICtcclxuICAgICAgKHRoaXMub25lVGltZVNlbGVjdGVkID09PSAnJ1xyXG4gICAgICAgID8gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAgICd+JyArXHJcbiAgICAgICAgICAobmV3IERhdGUoKS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0RGF0ZSgpXHJcbiAgICAgICAgOiB0aGlzLm9uZVRpbWVTZWxlY3RlZCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICdvbmVUaW1lJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMub25lVGltZUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLm9uZVRpbWVXaW5kb3c7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8udGltZUluMTJociA9IHRoaXMub25lVGltZVN0YXJ0VGltZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMub25lVGltZVN0YXJ0VGltZVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRfdGltZV91dGMgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICB0aW1lU2VsZWN0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBldmVudC5zZWxlY3RlZFZhbHVlO1xyXG4gICAgdGhpcy5vblRpbWVDaGFuZ2VkKHNlbGVjdGVkVmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxyXG4gICAgRFVFIERBVEUgRlJFUVVFTkNZOlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktb25ldGltZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1vbmV0aW1lLWlubmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcC0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWZpZWxkIHZ4LW0tMCB2eC1tci0zXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjYWxlbmRhci1pY29uIHZ4LWZzLTE2IHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiXHJcbiAgICAgICAgICA+JiN4ZTkyZDs8L2lcclxuICAgICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidG9kYXlEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvZGF5RGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRGF0ZVBpY2tlcigpXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItZ3JvdXAgdngtZC1mbGV4XCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ0aW1lLWZpZWxkXCJcclxuICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgIChjbGljayk9XCJ0aW1lUGlja2VyLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwib25lVGltZVN0YXJ0VGltZVwiIHJlYWRvbmx5IC8+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1wb3BvdmVyICN0aW1lUGlja2VyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgIDxhcHAtdGltZS1waWNrZXJcclxuICAgICAgICAgICAgW3RpbWVdPVwib25lVGltZVN0YXJ0VGltZVwiXHJcbiAgICAgICAgICAgIChvblRpbWVTZWxlY3Rpb24pPVwiXHJcbiAgICAgICAgICAgICAgdGltZVNlbGVjdGlvbigkZXZlbnQpOyB0aW1lUGlja2VyLmNsb3NlUG9wb3ZlcigndG9wJylcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgID48L2FwcC10aW1lLXBpY2tlcj5cclxuICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgICAgW2lkXT1cIjZcIlxyXG4gICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgW3BhZ2VOYW1lXT1cIidvbmUtdGltZSdcIlxyXG4gICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lV2luZG93XCJcclxuICAgICAgW25vdENvbXBsZXRlZFZhbHVlXT1cIm9uZVRpbWVGYWlsZWRcIlxyXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPCEtLSBGb3IgUG9saWN5IC0tPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3BvbGljeSdcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxyXG4gICAgRFVFIERBVEUgRlJFUVVFTkNZOlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktb25ldGltZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1vbmV0aW1lLWlubmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcC0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWZpZWxkIHZ4LW0tMCB2eC1tci0zXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjYWxlbmRhci1pY29uIHZ4LWZzLTE2IHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiXHJcbiAgICAgICAgICA+JiN4ZTkyZDs8L2lcclxuICAgICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidG9kYXlEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvZGF5RGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuRGF0ZVBpY2tlcigpXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItZ3JvdXAgdngtZC1mbGV4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtZmllbGRcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIxMmhyIGZvcm1hdFwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwib25lVGltZVN0YXJ0VGltZVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJERUZBVUxUX1RJTUVcIlxyXG4gICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9jay1pY29uIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICAgIFtpZF09XCI2XCJcclxuICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgIFtwYWdlTmFtZV09XCInb25lLXRpbWUnXCJcclxuICAgICAgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbY29tcGxldGVkVmFsdWVdPVwib25lVGltZVdpbmRvd1wiXHJcbiAgICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lRmFpbGVkXCJcclxuICAgICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkcC1kYXRlLXBpY2tlclxyXG4gICNkYXRlUGlja2VyXHJcbiAgW2lkXT1cIidzdGFydC1kYXRlLScgKyA2XCJcclxuICBbcGxhY2Vob2xkZXJdPVwidG9kYXlEYXRlIHwgZGF0ZSA6ICdkZCBNTU0geXl5eSdcIlxyXG4gIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlXCJcclxuICBbY29uZmlnXT1cImRhdGVDb25maWdcIlxyXG4gIChvblNlbGVjdCk9XCJcclxuICAgIG9wZW5EYXRlUGlja2VyKCk7XHJcbiAgICBkYXRlQ2hhbmdlKCRldmVudCk7XHJcbiAgICBzaG93RGF0ZUVycm9yID0gZmFsc2U7XHJcbiAgICBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlXHJcbiAgXCJcclxuPjwvZHAtZGF0ZS1waWNrZXI+XHJcbjxkaXZcclxuICBjbGFzcz1cInZ4LW92ZXJsYXlcIlxyXG4gIChjbGljayk9XCJjbG9zZURhdGVwaWNrZXIoKVwiXHJcbiAgKm5nSWY9XCJkYXRlcGlja2VyT3ZlcmxheVwiXHJcbj48L2Rpdj5cclxuIl19
|
package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { DEFAULT_TIME } from '../../../constants/time.constants';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "../frequency.service";
|
|
4
5
|
import * as i2 from "@angular/common";
|
|
@@ -47,9 +48,9 @@ export class FrequencyOngoingComponent {
|
|
|
47
48
|
this.frequencyInfo.case = 'onGoing';
|
|
48
49
|
this.frequencyInfo.failedAfter = 0;
|
|
49
50
|
this.frequencyInfo.window = 0;
|
|
50
|
-
this.frequencyInfo.timeIn12hr =
|
|
51
|
+
this.frequencyInfo.timeIn12hr = DEFAULT_TIME;
|
|
51
52
|
this.frequencyInfo.timeIn24Hr =
|
|
52
|
-
this.frequencyService.timeFrom12hTo24h(
|
|
53
|
+
this.frequencyService.timeFrom12hTo24h(DEFAULT_TIME);
|
|
53
54
|
this.frequencyInfo.failed_time_utc = 0;
|
|
54
55
|
this.frequencyInfo.reportId = 0;
|
|
55
56
|
this.frequencyDetails.emit(this.frequencyInfo);
|
|
@@ -71,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
71
72
|
}], frequencyDetails: [{
|
|
72
73
|
type: Output
|
|
73
74
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LW9uZ29pbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZ29pbmcvZnJlcXVlbmN5LW9uZ29pbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZ29pbmcvZnJlcXVlbmN5LW9uZ29pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBTWpFLE1BQU0sT0FBTyx5QkFBeUI7SUFhcEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFaN0MsaUJBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDbEMsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO1FBRzVELGdCQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUc5RCxjQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkQscUJBQWdCLEdBQVEsZUFBZSxDQUFDO1FBRTlCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFSSxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENB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cG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LW9uZ29pbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktb25nb2luZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LW9uZ29pbmcuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVHlwZSA9IDA7IC8vIHNlbGVjdGVkIHR5cGVcclxuICBASW5wdXQoKSBzZWxlY3RlZE9uZ29pbmdUeXBlID0gMjsgLy8gZGVmYXVsdCBtb250aCBzZWxlY3RlZDtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIG9uZ29pbmdUeXBlID0gWydXZWVrJywgJ01vbnRoJywgJ1F1YXJ0ZXInLCAnRXZlcnkgNiBtb250aHMnLCAnQW5udWFsJ107XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG5cclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4gIT0gJycgJiZcclxuICAgICAgcGFyc2VJbnQodGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKVswXSkgPT09IDEwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRPbmdvaW5nRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IGZyZXF1ZW5jeVNlbGVjdGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUeXBlID0gcGFyc2VJbnQoZnJlcXVlbmN5U2VsZWN0ZWRbMV0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9uZ29pbmdUeXBlID1cclxuICAgICAgcGFyc2VJbnQoZnJlcXVlbmN5U2VsZWN0ZWRbMl0pID09PSAwID8gMiA6IHBhcnNlSW50KGZyZXF1ZW5jeVNlbGVjdGVkWzJdKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFR5cGUgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0T25nb2luZ0ZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZE9uR29pbmdUeXBlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPbmdvaW5nVHlwZSA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgdGhpcy5nZXRPbmdvaW5nRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRPbmdvaW5nRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnBsYWNlaG9sZGVyID0gJ1lvdSBoYXZlIHNlbGVjdGVkIGFuIG9uZ29pbmcgZnJlcXVlbmN5Lic7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDEwICtcclxuICAgICAgJ34nICtcclxuICAgICAgdGhpcy5zZWxlY3RlZFR5cGUgK1xyXG4gICAgICAnficgK1xyXG4gICAgICAodGhpcy5zZWxlY3RlZFR5cGUgPyB0aGlzLnNlbGVjdGVkT25nb2luZ1R5cGUgOiAwKSArXHJcbiAgICAgICd+MCc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICdvbkdvaW5nJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ud2luZG93ID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gREVGQVVMVF9USU1FO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPVxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChERUZBVUxUX1RJTUUpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1vbmdvaW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkRVRSBEQVRFIEZSRVFVRU5DWTo8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktb25nb2luZy1pdGVtIGZpcnN0IHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGFwcC1jcy1yYWRpbyBcclxuICAgICAgICBpZD1cIm9uZ29pbmctMVwiIFxyXG4gICAgICAgIFt2YWx1ZV09XCIwXCIgXHJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRUeXBlID09PSAwXCIgXHJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJvblNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiPkRvIG5vdCBzZW5kIHJlbWluZGVyczwvZGl2PlxyXG4gICAgICAgIDwvYXBwLWNzLXJhZGlvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LW9uZ29pbmctaXRlbSBsYXN0IHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBcclxuICAgICAgICAgICAgICAgIGlkPVwib25nb2luZy0yXCIgXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiMVwiIFxyXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRUeXBlID09PSAxXCIgXHJcbiAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiPlJlbWluZCB0aGUgYXNzaWduZWUgYXQgdGhlIHN0YXJ0IG9me3tzZWxlY3RlZFR5cGU9PT0gMSA/ICc6JyA6Jyd9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItcmFkaW8gdngtZC1mbGV4IHZ4LW10LTQgdngtbWItMlwiICpuZ0lmPVwic2VsZWN0ZWRUeXBlID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvIFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIG9uZ29pbmdUeXBlOyBsZXQgaSA9IGluZGV4XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImkgKyAxXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRPbmdvaW5nVHlwZSA9PSBpICsgMVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyZW1pbmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uU2VsZWN0ZWRPbkdvaW5nVHlwZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiPnt7ZGF0YX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTIgdngtbGFiZWwtdHh0XCI+RXZlcnkgNiBtb250aDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMiB2eC1sYWJlbC10eHRcIj5ZZWFyPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import moment from 'moment/moment';
|
|
3
|
+
import { DEFAULT_TIME } from '../../../constants/time.constants';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "../frequency.service";
|
|
5
6
|
import * as i2 from "../frequency-top/frequency-top.component";
|
|
@@ -10,7 +11,7 @@ export class FrequencyQuarterlyComponent {
|
|
|
10
11
|
constructor(frequencyService) {
|
|
11
12
|
this.frequencyService = frequencyService;
|
|
12
13
|
this.mode = '';
|
|
13
|
-
this.quarterlyInterval =
|
|
14
|
+
this.quarterlyInterval = DEFAULT_TIME;
|
|
14
15
|
this.quarterlyInput = new Date().getDate();
|
|
15
16
|
this.quarterlyFailed = 5;
|
|
16
17
|
this.quarterlyWindow = 7;
|
|
@@ -54,7 +55,7 @@ export class FrequencyQuarterlyComponent {
|
|
|
54
55
|
this.quarterlyLifeCycleStart = new Date(this.frequencyData.startDate * 1000);
|
|
55
56
|
this.quarterlyFailed = this.frequencyData.failed;
|
|
56
57
|
if (lifecycleInfo[0] !== '0000-00-00') {
|
|
57
|
-
const dateSelected = moment(lifecycleInfo[0] + '
|
|
58
|
+
const dateSelected = moment(lifecycleInfo[0] + ' ' + DEFAULT_TIME, 'DD-MMMM-YYYY HH:mm a').unix();
|
|
58
59
|
this.quarterlyLifeCycleEndTime = new Date(dateSelected * 1000);
|
|
59
60
|
}
|
|
60
61
|
this.lifecycleDetails = this.frequencyData.lifecycle;
|
|
@@ -210,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
210
211
|
}], frequencyDetails: [{
|
|
211
212
|
type: Output
|
|
212
213
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcXVhcnRlcmx5L2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT25DLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLHNCQUFpQixHQUFHLFVBQVUsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLDRCQUF1QixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDckMsOEJBQXlCLEdBQUcsSUFBSSxJQUFJLENBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQ2xELENBQUM7UUFDRixnQ0FBMkIsR0FBRyxF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LENBQUM7b0JBQzNDLE1BQU07b0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQzFCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7d0hBOU1VLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDBOQ1R4QyxtMUNBc0NBOzJGRDdCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCO3VHQUsxQixJQUFJO3NCQUFaLEtBQUs7Z0JBaUJHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1xdWFydGVybHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lRdWFydGVybHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBxdWFydGVybHlJbnRlcnZhbCA9ICcxMTo1OSBwbSc7XHJcbiAgcXVhcnRlcmx5SW5wdXQgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBxdWFydGVybHlGYWlsZWQgPSA1O1xyXG4gIHF1YXJ0ZXJseVdpbmRvdyA9IDc7XHJcbiAgc2VsZWN0ZWRRdWFydGVybHkgPSAxO1xyXG4gIHF1YXJ0ZXJseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoKTtcclxuICBxdWFydGVybHlMaWZlQ3ljbGVFbmRUaW1lID0gbmV3IERhdGUoXHJcbiAgICB0aGlzLnF1YXJ0ZXJseUxpZmVDeWNsZVN0YXJ0LmdldFRpbWUoKSArIDg2NDAwMDAwXHJcbiAgKTtcclxuICBxdWFydGVybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSAxMDtcclxuICBxdWFydGVybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgcXVhcnRlcmx5R3JvdXAgPSBbMCwgMywgNiwgOSwgMSwgNCwgNywgMTAsIDIsIDUsIDgsIDExXTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgcXVhcnRlcmx5QXJyYXk6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc3RhcnREYXRlID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VUeXBlOiAncmVzcG9uc2liaWxpdHknIHwgJ3BvbGljeScgPSAncmVzcG9uc2liaWxpdHknO1xyXG5cclxuICBsaWZlY3ljbGVEZXRhaWxzOiBhbnkgPSAnMDAwMC0wMC0wMH5+MCc7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMucXVhcnRlcmx5QXJyYXkgPSBbLi4ubmV3IFNldCh0aGlzLmZyZXF1ZW5jeVNlcnZpY2UucXVhcnRlcmx5TW9udGgpXTtcclxuICAgIGNvbnN0IGluZGV4T2ZNb250aCA9IHRoaXMucXVhcnRlcmx5R3JvdXAuaW5kZXhPZihuZXcgRGF0ZSgpLmdldE1vbnRoKCkpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9XHJcbiAgICAgIGluZGV4T2ZNb250aCA8IDQgPyAwIDogaW5kZXhPZk1vbnRoID4gMyAmJiBpbmRleE9mTW9udGggPCA4ID8gMSA6IDI7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHBhcnNlSW50KHRoaXMuZnJlcXVlbmN5RGF0YS5wYXR0ZXJuLnNwbGl0KCd+JylbMF0pID09PSA3XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wb3B1bGF0ZUZyZXF1ZW5jeSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpO1xyXG4gICAgY29uc3QgbW9udGggPSBwYXJzZUludChwYXR0ZXJuSW5mb1syXS5zcGxpdCgnLCcpLm1hcChOdW1iZXIpWzBdKTtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5xdWFydGVybHlHcm91cC5pbmRleE9mKG1vbnRoIC0gMSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUXVhcnRlcmx5ID0gaW5kZXggPCA0ID8gMCA6IGluZGV4ID4gMyAmJiBpbmRleCA8IDggPyAxIDogMjtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5xdWFydGVybHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnB1dCA9IHBhdHRlcm5JbmZvWzFdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPSB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5xdWFydGVybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlICogMTAwMFxyXG4gICAgKTtcclxuICAgIHRoaXMucXVhcnRlcmx5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIGlmIChsaWZlY3ljbGVJbmZvWzBdICE9PSAnMDAwMC0wMC0wMCcpIHtcclxuICAgICAgY29uc3QgZGF0ZVNlbGVjdGVkID0gbW9tZW50KFxyXG4gICAgICAgIGxpZmVjeWNsZUluZm9bMF0gKyAnIDExOjU5IHBtJyxcclxuICAgICAgICAnREQtTU1NTS1ZWVlZIEhIOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShkYXRlU2VsZWN0ZWQgKiAxMDAwKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGU7XHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZSA9PSAnMDAwMC0wMC0wMH5+MCcpIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDI7XHJcbiAgICB9IGVsc2UgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2VkRmlyc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkTW9udGgoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20pO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuZEJ5RGF0ZSA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwICsgODY0MDAwMDApO1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IDApIHtcclxuICAgICAgZW5kQnlEYXRlID0gZXZlbnQuZW5kc0J5XHJcbiAgICAgICAgPyBtb21lbnQoZXZlbnQuZW5kc0J5ICsgJyAwMDowMDowMCcsICdERC1NTU0tWVlZWSBISDptbTpzcycpLnVuaXgoKVxyXG4gICAgICAgIDogZW5kQnlEYXRlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRRdWFydGVybHlGcmVxdWVuY3koKSB7XHJcbiAgICBsZXQgbW9udGhTZXF1ZW5jZSA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDBcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoMCwgNClcclxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDFcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoNCwgOClcclxuICAgICAgICA6IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoOCk7XHJcbiAgICBtb250aFNlcXVlbmNlID0gbW9udGhTZXF1ZW5jZS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDcgKyAnficgKyB0aGlzLnF1YXJ0ZXJseUlucHV0ICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArICcwJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3F1YXJ0ZXJseSc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLnF1YXJ0ZXJseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLnF1YXJ0ZXJseVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy5xdWFydGVybHlJbnB1dClcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGxhY2Vob2xkZXIocXVhcnRlcmx5SW5wdXQ6IG51bWJlcikge1xyXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gJyc7XHJcblxyXG4gICAgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnMXN0IG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5QXJyYXlbdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseV0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcybmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzNyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMSB8fCBxdWFydGVybHlJbnB1dCA9PT0gMzEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHF1YXJ0ZXJseUlucHV0ICtcclxuICAgICAgICAnc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMjIpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHF1YXJ0ZXJseUlucHV0ICtcclxuICAgICAgICAnbmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMjMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHF1YXJ0ZXJseUlucHV0ICtcclxuICAgICAgICAncmQgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA+IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgIHF1YXJ0ZXJseUlucHV0ICtcclxuICAgICAgICAndGggb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1xdWFydGVybHkgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1xdWFydGVybHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIzXCJcclxuICAgIFtpbnB1dFRpbWVdPVwicXVhcnRlcmx5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJxdWFydGVybHlJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIzXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdFxyXG4gICAgW3JhZGlvTGlzdF09XCJxdWFydGVybHlBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFF1YXJ0ZXJseVwiXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJzZWxlY3RlZE1vbnRoKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ3F1YXJ0ZXInXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdD5cclxuICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgW2lkXT1cIjNcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbcGFnZU5hbWVdPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cInF1YXJ0ZXJseVdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicXVhcnRlcmx5RmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cInF1YXJ0ZXJseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcXVhcnRlcmx5L2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sMkJBQTJCO0lBMEJ0QyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCN0MsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxZQUFZLENBQUM7UUFDakMsbUJBQWMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0Qiw0QkFBdUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JDLDhCQUF5QixHQUFHLElBQUksSUFBSSxDQUNsQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxF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b0JBQ2QsY0FBYztvQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDM0MsTUFBTTtvQkFDTixJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDMUI7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzt3SEE5TVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsME5DVnhDLG0xQ0FzQ0E7MkZENUJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx5QkFBeUI7dUdBSzFCLElBQUk7c0JBQVosS0FBSztnQkFpQkcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5pbXBvcnQgeyBERUZBVUxUX1RJTUUgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGltZS5jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LXF1YXJ0ZXJseScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeVF1YXJ0ZXJseUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcblxyXG4gIHF1YXJ0ZXJseUludGVydmFsID0gREVGQVVMVF9USU1FO1xyXG4gIHF1YXJ0ZXJseUlucHV0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgcXVhcnRlcmx5RmFpbGVkID0gNTtcclxuICBxdWFydGVybHlXaW5kb3cgPSA3O1xyXG4gIHNlbGVjdGVkUXVhcnRlcmx5ID0gMTtcclxuICBxdWFydGVybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XHJcbiAgcXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5xdWFydGVybHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgcXVhcnRlcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gMTA7XHJcbiAgcXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIHF1YXJ0ZXJseUdyb3VwID0gWzAsIDMsIDYsIDksIDEsIDQsIDcsIDEwLCAyLCA1LCA4LCAxMV07XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHF1YXJ0ZXJseUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuXHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnF1YXJ0ZXJseU1vbnRoKV07XHJcbiAgICBjb25zdCBpbmRleE9mTW9udGggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobmV3IERhdGUoKS5nZXRNb250aCgpKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPVxyXG4gICAgICBpbmRleE9mTW9udGggPCA0ID8gMCA6IGluZGV4T2ZNb250aCA+IDMgJiYgaW5kZXhPZk1vbnRoIDwgOCA/IDEgOiAyO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gN1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQocGF0dGVybkluZm9bMl0uc3BsaXQoJywnKS5tYXAoTnVtYmVyKVswXSk7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMucXVhcnRlcmx5R3JvdXAuaW5kZXhPZihtb250aCAtIDEpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9IGluZGV4IDwgNCA/IDAgOiBpbmRleCA+IDMgJiYgaW5kZXggPCA4ID8gMSA6IDI7XHJcbiAgICBjb25zdCBsaWZlY3ljbGVJbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZS5zcGxpdCgnfn4nKTtcclxuICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWwgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkVGltZTtcclxuICAgIHRoaXMucXVhcnRlcmx5V2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhLndpbmRvdztcclxuICAgIHRoaXMucXVhcnRlcmx5SW5wdXQgPSBwYXR0ZXJuSW5mb1sxXTtcclxuICAgIGlmIChOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSkgPiAwKSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhcnREYXRlID0gdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMucXVhcnRlcmx5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZShcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLnN0YXJ0RGF0ZSAqIDEwMDBcclxuICAgICk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWQ7XHJcbiAgICBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTZWxlY3RlZCA9IG1vbWVudChcclxuICAgICAgICBsaWZlY3ljbGVJbmZvWzBdICsgJyAnICsgREVGQVVMVF9USU1FLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25UaW1lQ2hhbmdlZChldmVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUXVhcnRlcmx5ID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSBldmVudC5lbmRzQnkgKyAnfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4nICsgZXZlbnQuZW5kYWZ0ZXI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuc3RhcnRGcm9tLnRvU3RyaW5nKCkubGVuZ3RoID4gMTApIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSAvIDEwMDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydERhdGUgPSBNYXRoLmZsb29yKGV2ZW50LnN0YXJ0RnJvbSk7XHJcbiAgICB9XHJcbiAgICBsZXQgZW5kQnlEYXRlID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAgKyA4NjQwMDAwMCk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkX3RpbWVfdXRjID0gZW5kQnlEYXRlO1xyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5V2luZG93ID0gZXZlbnQudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpIHtcclxuICAgIGxldCBtb250aFNlcXVlbmNlID1cclxuICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9PT0gMFxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSgwLCA0KVxyXG4gICAgICAgIDogdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9PT0gMVxyXG4gICAgICAgID8gdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg0LCA4KVxyXG4gICAgICAgIDogdGhpcy5xdWFydGVybHlHcm91cC5zbGljZSg4KTtcclxuICAgIG1vbnRoU2VxdWVuY2UgPSBtb250aFNlcXVlbmNlLm1hcCgoZWxlKSA9PiBlbGUgKyAxKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgNyArICd+JyArIHRoaXMucXVhcnRlcmx5SW5wdXQgKyAnficgKyBtb250aFNlcXVlbmNlICsgJ34nICsgJzAnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhc2UgPSAncXVhcnRlcmx5JztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMucXVhcnRlcmx5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMucXVhcnRlcmx5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9IHRoaXMuc3RhcnREYXRlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoXHJcbiAgICAgIE51bWJlcih0aGlzLnF1YXJ0ZXJseUlucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5RGV0YWlscy5lbWl0KHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlcihxdWFydGVybHlJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgICBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzJuZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5QXJyYXlbdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseV0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDIxIHx8IHF1YXJ0ZXJseUlucHV0ID09PSAzMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICduZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICd0aCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXF1YXJ0ZXJseSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXF1YXJ0ZXJseVwiPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxyXG4gICAgW2lkXT1cIjNcIlxyXG4gICAgW2lucHV0VGltZV09XCJxdWFydGVybHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cInF1YXJ0ZXJseUlucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjNcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0XHJcbiAgICBbcmFkaW9MaXN0XT1cInF1YXJ0ZXJseUFycmF5XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkUXVhcnRlcmx5XCJcclxuICAgIChzZWxlY3RlZFJhZGlvKT1cInNlbGVjdGVkTW9udGgoJGV2ZW50KVwiXHJcbiAgICBbbmFtZV09XCIncXVhcnRlcidcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS1yYWRpby1saXN0PlxyXG4gIDxhcHAtZnJlcXVlbmN5LWR1ZS1kYXRlXHJcbiAgICBbaWRdPVwiM1wiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgIFtwYWdlTmFtZV09XCIncXVhcnRlcmx5J1wiXHJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXHJcbiAgICBbY29tcGxldGVkVmFsdWVdPVwicXVhcnRlcmx5V2luZG93XCJcclxuICAgIFtub3RDb21wbGV0ZWRWYWx1ZV09XCJxdWFydGVybHlGYWlsZWRcIlxyXG4gICAgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktZHVlLWRhdGU+XHJcbiAgPGFwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlXHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cInF1YXJ0ZXJseUxpZmVDeWNsZVN0YXJ0XCJcclxuICAgIFtlbmREYXRlXT1cInF1YXJ0ZXJseUxpZmVDeWNsZUVuZFRpbWVcIlxyXG4gICAgW29jY3VycmFuY2VdPVwicXVhcnRlcmx5TGlmZWN5Y2xlT2NjdXJhbmNlXCJcclxuICAgIFtzZWxlY3RlZExpZmVjeWNsZVR5cGVdPVwicXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGVcIlxyXG4gICAgKHNlbGVjdGVkT2NjdXJhbmNlKT1cImxpZmVjeWNsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktbGlmZWN5Y2xlPlxyXG48L2Rpdj5cclxuIl19
|