@apipass/inputs 1.0.169 → 1.0.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -33
- package/assets/css/inputs.scss +298 -298
- package/esm2022/ace-editor/component.mjs +1 -1
- package/esm2022/ace-editor/directive.mjs +1 -1
- package/esm2022/ace-editor-input/ace-editor-input.component.mjs +3 -3
- package/esm2022/custom-select/custom-select-item.mjs +1 -1
- package/esm2022/custom-select/custom-select.component.mjs +3 -3
- package/esm2022/debounce-model-directive/debouceInput.directive.mjs +1 -1
- package/esm2022/field/field.component.mjs +27 -27
- package/esm2022/input-avatar/input-avatar.component.mjs +3 -3
- package/esm2022/input-boolean/input-boolean.component.mjs +3 -3
- package/esm2022/input-date-time-interval/builder/default-intervals.builder.mjs +1 -1
- package/esm2022/input-date-time-interval/builder/time-interval-value.builder.mjs +1 -1
- package/esm2022/input-date-time-interval/builder/time-intervals.builder.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/current-month-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-five-minutes-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-hour-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-minute-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-month-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-one-week-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-quarter-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-ten-minutes-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-thirty-minutes-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-three-hours-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-twenty-four-hours-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-two-hours-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/last-year-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/this-quarter-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/this-week-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/this-year-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/time-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/today-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/default-interval/yesterday-interval.mjs +1 -1
- package/esm2022/input-date-time-interval/input-date-time-interval.component.mjs +3 -3
- package/esm2022/input-date-time-interval/model/date-time-internal.model.mjs +1 -1
- package/esm2022/input-date-time-interval/public-api.mjs +1 -1
- package/esm2022/input-file/input-file.component.mjs +3 -3
- package/esm2022/input-image/input-image.component.mjs +3 -3
- package/esm2022/input-key-value/key-value-input.component.mjs +3 -3
- package/esm2022/input-number/input-number.component.mjs +3 -3
- package/esm2022/input-text/input-text.component.mjs +3 -3
- package/esm2022/inputs.module.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/select-box/mat-select-infinite-scroll.directive.mjs +1 -1
- package/esm2022/select-box/select-box.component.mjs +3 -3
- package/esm2022/select-enum/select-enum.component.mjs +3 -3
- package/esm2022/select-interpolation/select-interpolation.component.mjs +3 -3
- package/esm2022/value-acessor-base.mjs +1 -1
- package/fesm2022/apipass-inputs.mjs +52 -52
- package/fesm2022/apipass-inputs.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -249,7 +249,7 @@ class InputDateTimeIntervalComponent {
|
|
|
249
249
|
provide: NG_VALUE_ACCESSOR,
|
|
250
250
|
useExisting: forwardRef(() => InputDateTimeIntervalComponent),
|
|
251
251
|
multi: true
|
|
252
|
-
}], viewQueries: [{ propertyName: "scrollbarRef", first: true, predicate: ["intervalsBar"], descendants: true }], ngImport: i0, template: "<div class=\"input-date-time-interval\">\r\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\r\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\r\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\r\n <span class=\"interval-input\">\r\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\r\n <mat-icon>date_range</mat-icon>\r\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\r\n </div>\r\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\r\n </span>\r\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\r\n </mat-form-field>\r\n</div>\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\r\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\r\n (backdropClick)=\"closeDropdown($event)\"\r\n (overlayOutsideClick)=\"closeDropdown($event)\"\r\n [cdkConnectedOverlayOrigin]=\"origin\"\r\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\r\n <div class=\"input-date-time-interval-dropdown\">\r\n <div class=\"input-options-container\">\r\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\r\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\r\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\r\n </div>\r\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\r\n <div class=\"interval\"\r\n [id]=\"'apipass-datetime-interval-' + interval.id\"\r\n (click)=\"selectInterval(interval)\"\r\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\r\n *ngFor=\"let interval of this.intervals\">\r\n <div class=\"interval-label\">\r\n <span [innerHTML]=\"interval.label\"></span>\r\n </div>\r\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\r\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n\r\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\r\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\r\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\r\n </div>\r\n <div class=\"picker\">\r\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\r\n <div class=\"picker-group\">\r\n <mat-form-field class=\"apipass-input-text-slim\">\r\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\r\n <input matInput [(ngModel)]=\"selectedStartDate\"\r\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\r\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\r\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"picker-group\">\r\n <mat-form-field class=\"apipass-input-text-slim\">\r\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\r\n <input matInput [(ngModel)]=\"selectedEndDate\"\r\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\r\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\r\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-calendar\r\n [selected]=\"_selectedDateRange\"\r\n [maxDate]=\"calendarMaxDate\"\r\n [minDate]=\"calendarMinDate\"\r\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-date-time-actions\">\r\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\r\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\r\n </button>\r\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\r\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px;display:flex;justify-content:flex-start;align-items:center}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
252
|
+
}], viewQueries: [{ propertyName: "scrollbarRef", first: true, predicate: ["intervalsBar"], descendants: true }], ngImport: i0, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px;display:flex;justify-content:flex-start;align-items:center}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
253
253
|
}
|
|
254
254
|
export { InputDateTimeIntervalComponent };
|
|
255
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputDateTimeIntervalComponent, decorators: [{
|
|
@@ -258,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
258
258
|
provide: NG_VALUE_ACCESSOR,
|
|
259
259
|
useExisting: forwardRef(() => InputDateTimeIntervalComponent),
|
|
260
260
|
multi: true
|
|
261
|
-
}], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-date-time-interval\">\r\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\r\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\r\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\r\n <span class=\"interval-input\">\r\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\r\n <mat-icon>date_range</mat-icon>\r\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\r\n </div>\r\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\r\n </span>\r\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\r\n </mat-form-field>\r\n</div>\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\r\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\r\n (backdropClick)=\"closeDropdown($event)\"\r\n (overlayOutsideClick)=\"closeDropdown($event)\"\r\n [cdkConnectedOverlayOrigin]=\"origin\"\r\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\r\n <div class=\"input-date-time-interval-dropdown\">\r\n <div class=\"input-options-container\">\r\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\r\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\r\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\r\n </div>\r\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\r\n <div class=\"interval\"\r\n [id]=\"'apipass-datetime-interval-' + interval.id\"\r\n (click)=\"selectInterval(interval)\"\r\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\r\n *ngFor=\"let interval of this.intervals\">\r\n <div class=\"interval-label\">\r\n <span [innerHTML]=\"interval.label\"></span>\r\n </div>\r\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\r\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n </div>\r\n\r\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\r\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\r\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\r\n </div>\r\n <div class=\"picker\">\r\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\r\n <div class=\"picker-group\">\r\n <mat-form-field class=\"apipass-input-text-slim\">\r\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\r\n <input matInput [(ngModel)]=\"selectedStartDate\"\r\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\r\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\r\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"picker-group\">\r\n <mat-form-field class=\"apipass-input-text-slim\">\r\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\r\n <input matInput [(ngModel)]=\"selectedEndDate\"\r\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\r\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\r\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\r\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <mat-calendar\r\n [selected]=\"_selectedDateRange\"\r\n [maxDate]=\"calendarMaxDate\"\r\n [minDate]=\"calendarMinDate\"\r\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-date-time-actions\">\r\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\r\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\r\n </button>\r\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\r\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px;display:flex;justify-content:flex-start;align-items:center}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"] }]
|
|
261
|
+
}], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:0 10px;margin-top:-1px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px;display:flex;justify-content:flex-start;align-items:center}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"] }]
|
|
262
262
|
}], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }]; }, propDecorators: { timezone: [{
|
|
263
263
|
type: Input
|
|
264
264
|
}], dateMask: [{
|
|
@@ -314,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
314
314
|
type: HostListener,
|
|
315
315
|
args: ['document:keydown.escape', ['$event']]
|
|
316
316
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQTZIdEI7SUEzSFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcs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QURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQVdvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWxCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuaW1wb3J0IHsgVGltZUludGVydmFsIH0gZnJvbSAnLi9kZWZhdWx0LWludGVydmFsL3RpbWUtaW50ZXJ2YWwnO1xyXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IFNjcm9sbFN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcclxuaW1wb3J0IHsgTmdTY3JvbGxiYXIgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsJyxcclxuICB0ZW1wbGF0ZVVybDogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IFRpbWVJbnRlcnZhbFZhbHVlXHJcbiAgcHJvdGVjdGVkIF9zZWxlY3RlZERhdGVSYW5nZTogRGF0ZVJhbmdlPERhdGU+O1xyXG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVuZERhdGU6IERhdGVcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xyXG5cclxuICBnZXQgdmFsdWUoKTogVGltZUludGVydmFsVmFsdWUge1xyXG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG5ldyBUaW1lSW50ZXJ2YWxWYWx1ZSh0aGlzLnRpbWV6b25lKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlLmludGVydmFsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHRoaXMuX3ZhbHVlLmludGVydmFsO1xyXG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLl92YWx1ZT8uYWJzb2x1dGVTdGFydERhdGUgfHwgdGhpcy5fdmFsdWU/LmFic29sdXRlRW5kRGF0ZSkge1xyXG4gICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLl92YWx1ZT8uYWJzb2x1dGVTdGFydERhdGUgfHwgdGhpcy5zdGFydERhdGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xyXG4gICAgICBjb25zdCBlbmREYXRlID0gdGhpcy5fdmFsdWU/LmFic29sdXRlRW5kRGF0ZSB8fCB0aGlzLmVuZERhdGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcoZW5kRGF0ZSk7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XHJcbiAgICAgIGlmICh0aGlzLl92YWx1ZT8uYWJzb2x1dGVTdGFydERhdGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUudG9UaW1lU3RyaW5nKCkuc3BsaXQoJyAnKVswXVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRW5kVGltZSA9IHRoaXMudmFsdWU/LmFic29sdXRlRW5kRGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA9IHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgfHwgdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy5zZWxlY3RlZEVuZFRpbWUgfHwgdGhpcy5lbmRUaW1lO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGludGVydmFsczogVGltZUludGVydmFsW11cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGltZUludGVydmFsVmFsdWU+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4oKVxyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRJbnRlcnZhbDogVGltZUludGVydmFsO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFN0YXJ0VGltZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcclxuICBwdWJsaWMgc2VsZWN0ZWRTdGFydERhdGU6IHN0cmluZ1xyXG4gIHB1YmxpYyBzZWxlY3RlZEVuZERhdGU6IHN0cmluZ1xyXG5cclxuICBwdWJsaWMgZHJvcGRvd25PcGVuOiBib29sZWFuXHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uS2V5ZG93bkhhbmRsZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNzbzogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7XHJcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zc28uYmxvY2soKVxyXG4gICAgdGhpcy5yZXNldERhdGVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkRyb3BEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fdmFsdWUuaW50ZXJ2YWwpIHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxiYXJSZWYuc2Nyb2xsVG9FbGVtZW50KGAjYXBpcGFzcy1kYXRldGltZS1pbnRlcnZhbC0ke3NlbGVjdGVkSW50ZXJ2YWwuaWR9YCwgeyBkdXJhdGlvbjogODAwIH0pLnRoZW4oKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZURyb3Bkb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FuY2VsKCk7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGludGVydmFsOiBUaW1lSW50ZXJ2YWwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpbnRlcnZhbD8uaWQgPT09IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbD8uaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gaW50ZXJ2YWw7XHJcbiAgICB0aGlzLnJlc2V0RGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXREYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zdGFydFRpbWVcclxuICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy5lbmRUaW1lXHJcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5zdGFydERhdGUpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLmVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRGF0ZVJhbmdlQ2hhbmdlKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZT8uc3RhcnQgJiYgZGF0ZSA+IHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0ICYmICF0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5lbmQpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCwgZGF0ZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcoZGF0ZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UoZGF0ZSwgdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcoZGF0ZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0ZVRvU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGRhdGUgPyBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCkgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0cmluZ1RvRGF0ZShkYXRlOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCkudG9EYXRlKCkgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IERhdGVSYW5nZTxEYXRlPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGVSYW5nZShzdGFydERhdGUgPyBtb21lbnQoc3RhcnREYXRlKS50b0RhdGUoKSA6IHVuZGVmaW5lZCwgZW5kRGF0ZSA/IG1vbWVudChlbmREYXRlKS50b0RhdGUoKSA6IHVuZGVmaW5lZCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlPERhdGU+KG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0RGF0ZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpLCB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVuZERhdGVDaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSk7XHJcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xyXG4gICAgaWYgKGVuZERhdGUgPCBzdGFydERhdGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWZyZXNoVmFsdWVzKCk7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGx5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCkge1xyXG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbDtcclxuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSA9IHVuZGVmaW5lZFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKTtcclxuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShzdGFydERhdGUsIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID8/ICcwMDowMDowMCdcclxuICAgICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSA9IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSB7XHJcbiAgICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKTtcclxuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShlbmREYXRlLCB0aGlzLnNlbGVjdGVkRW5kVGltZSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSA/PyAnMDA6MDA6MDAnXHJcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3ZhbHVlLmludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5VGltZU9uRGF0ZShkYXRlOiBEYXRlLCB0aW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aW1lKSB7XHJcbiAgICAgIGRhdGUuc2V0SG91cnModGhpcy5nZXRIb3Vyc0Zyb21UaW1lKHRpbWUpKVxyXG4gICAgICBkYXRlLnNldE1pbnV0ZXModGhpcy5nZXRNaW51dGVzRnJvbVRpbWUodGltZSkpXHJcbiAgICAgIGRhdGUuc2V0U2Vjb25kcyh0aGlzLmdldFNlY29uZHNGcm9tVGltZSh0aW1lKSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SG91cnNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzBdKSB8fCAwO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TWludXRlc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMV0pIHx8IDA7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZWNvbmRzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVsyXSkgfHwgMDtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5wdXRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5fdmFsdWU/LmludGVydmFsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBlcmlvZExhYmVsO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZW1wdHlEYXRlOiBzdHJpbmcgPSB0aGlzLmhpZGVUaW1lID8gJ19fX19fX19fX18nIDogJ19fX19fX19fX18gX19fX19fX18nO1xyXG4gICAgbGV0IGZvcm1hdGVkVGV4dCA9ICcnO1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlKSB7XHJcbiAgICAgIGZvcm1hdGVkVGV4dCArPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtYXRlZFRleHQgKz0gZW1wdHlEYXRlXHJcbiAgICB9XHJcbiAgICBmb3JtYXRlZFRleHQgKz0gJyAtICdcclxuICAgIGlmICh0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUpIHtcclxuICAgICAgZm9ybWF0ZWRUZXh0ICs9IHRoaXMuZGF0ZVRvU3RyaW5nKHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtYXRlZFRleHQgKz0gZW1wdHlEYXRlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybWF0ZWRUZXh0O1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtdGltZS1pbnRlcnZhbFwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCIgY2xhc3M9XCJjbGlja2FibGVcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigkZXZlbnQpIDogb3BlbkRyb3BEb3duKCRldmVudClcIj5cclxuICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJtZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlXCIgW2lubmVySFRNTF09XCJsYWJlbFwiPjwvbWF0LWxhYmVsPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpbnRlcnZhbC1pbnB1dFwiPlxyXG4gICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBlcmlvZC1iYWRnZXQgdGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJ2YWx1ZT8uaW50ZXJ2YWxcIj5cclxuICAgICAgICA8bWF0LWljb24+ZGF0ZV9yYW5nZTwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJpb2QtdGV4dFwiIFtpbm5lckhUTUxdPVwidmFsdWU/LmludGVydmFsPy5sYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpbnB1dCBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIiBjbGFzcz1cImNsaWNrYWJsZVwiIG1hdElucHV0IFt2YWx1ZV09XCJnZXRJbnB1dFRleHQoKVwiIFtyZWFkb25seV09XCJ0cnVlXCI+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJjbGlja2FibGUgdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+e3tkcm9wZG93bk9wZW4gPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJ319PC9tYXQtaWNvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3NdPVwiJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC1vdmVybGF5LXBhbmVsJ1wiXHJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cInNjcm9sbFN0cmF0ZWd5XCJcclxuICAgICAgICAgICAgIChiYWNrZHJvcENsaWNrKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZURyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcclxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJkcm9wZG93bk9wZW5cIj5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLWRyb3Bkb3duXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtb3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImludGVydmFscy1jb250YWluZXJcIiAqbmdJZj1cInRoaXMuaW50ZXJ2YWxzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJyZWxhdGl2ZUxhYmVsXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aXZlLXRleHRcIiBbaW5uZXJIVE1MXT1cInJlbGF0aXZlTGFiZWxcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXNjcm9sbGJhciAjaW50ZXJ2YWxzQmFyIGNsYXNzPVwiZGF0ZS10aW1lLWludGVydmFsLXNjcm9sbGJhclwiIFt2aXNpYmlsaXR5XT1cIidhbHdheXMnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxcIlxyXG4gICAgICAgICAgICAgICBbaWRdPVwiJ2FwaXBhc3MtZGF0ZXRpbWUtaW50ZXJ2YWwtJyArIGludGVydmFsLmlkXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEludGVydmFsKGludGVydmFsKVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW50ZXJ2YWwtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKGludGVydmFsKX1cIlxyXG4gICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaW50ZXJ2YWwgb2YgdGhpcy5pbnRlcnZhbHNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbnRlcnZhbC5sYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbC1pY29uXCIgKm5nSWY9XCJpc1NlbGVjdGVkKGludGVydmFsKVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC1zZWNvbmRhcnlcIj5jaGVjazwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1zY3JvbGxiYXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnb25seS1jYWxlbmRhcic6ICF0aGlzLmludGVydmFsc31cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHRcIiAqbmdJZj1cImFic29sdXRlTGFiZWxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWJzb2x1dGUtdGV4dFwiIFtpbm5lckhUTUxdPVwiYWJzb2x1dGVMYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWZpZWxkc1wiIFtuZ0NsYXNzXT1cInsncGlja2VyLW9ubHktZGF0ZSc6IGhpZGVUaW1lfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXBpcGFzcy1pbnB1dC10ZXh0LXNsaW1cIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgW2lubmVySFRNTF09XCJzdGFydERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXNrXT1cImRhdGVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIChibHVyKT1cInN0YXJ0RGF0ZUNoYW5nZWQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiICpuZ0lmPVwiIWhpZGVUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwic3RhcnRUaW1lTGFiZWxcIj48L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWFza109XCJ0aW1lTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU3RhcnRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PnNjaGVkdWxlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwiZW5kRGF0ZUxhYmVsXCI+PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEVuZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXNrXT1cImRhdGVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIChibHVyKT1cImVuZERhdGVDaGFuZ2VkKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+ZGF0ZV9yYW5nZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXBpcGFzcy1pbnB1dC10ZXh0LXNsaW1cIiAqbmdJZj1cIiFoaWRlVGltZVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZFRpbWVMYWJlbFwiPjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRFbmRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PnNjaGVkdWxlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG1hdC1jYWxlbmRhclxyXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkRGF0ZVJhbmdlXCJcclxuICAgICAgICAgICAgW21heERhdGVdPVwiY2FsZW5kYXJNYXhEYXRlXCJcclxuICAgICAgICAgICAgW21pbkRhdGVdPVwiY2FsZW5kYXJNaW5EYXRlXCJcclxuICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIj48L21hdC1jYWxlbmRhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtYWN0aW9uc1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvbiBkcm9wZG93bi1jYW5jZWwtYnV0dG9uXCIgKm5nSWY9XCJjYW5jZWxMYWJlbFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJjYW5jZWxMYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWFwcGx5LWJ1dHRvblwiICpuZ0lmPVwiYXBwbHlMYWJlbFwiIChjbGljayk9XCJhcHBseSgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1jYW5jZWwtYnV0dG9uLXRleHRcIiBbaW5uZXJIVE1MXT1cImFwcGx5TGFiZWxcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQTZIdEI7SUEzSFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcs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QURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQVdvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWxCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbCcsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSW50ZXJ2YWxDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZVxuICBwcm90ZWN0ZWQgX3NlbGVjdGVkRGF0ZVJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT47XG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGU6IERhdGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xuXG4gIGdldCB2YWx1ZSgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy50aW1lem9uZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVGltZUludGVydmFsVmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlIHx8IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZVN0YXJ0RGF0ZSB8fCB0aGlzLnN0YXJ0RGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUgfHwgdGhpcy5lbmREYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhlbmREYXRlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgICBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lIHx8IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmVuZFRpbWU7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJ2YWxzOiBUaW1lSW50ZXJ2YWxbXVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVJbnRlcnZhbFZhbHVlPigpXG5cbiAgcHVibGljIHNlbGVjdGVkSW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgcHVibGljIHNlbGVjdGVkU3RhcnRUaW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkU3RhcnREYXRlOiBzdHJpbmdcbiAgcHVibGljIHNlbGVjdGVkRW5kRGF0ZTogc3RyaW5nXG5cbiAgcHVibGljIGRyb3Bkb3duT3BlbjogYm9vbGVhblxuXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNzby5ibG9jaygpXG4gICAgdGhpcy5yZXNldERhdGVzKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRyb3BEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbnRlcnZhbCA9IHRoaXMuX3ZhbHVlLmludGVydmFsO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclJlZi5zY3JvbGxUb0VsZW1lbnQoYCNhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLSR7c2VsZWN0ZWRJbnRlcnZhbC5pZH1gLCB7IGR1cmF0aW9uOiA4MDAgfSkudGhlbigpXG4gICAgICB9XG4gICAgfSlcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnRlcnZhbD8uaWQgPT09IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbD8uaWQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IGludGVydmFsO1xuICAgIHRoaXMucmVzZXREYXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldERhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lXG4gICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLmVuZFRpbWVcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVSYW5nZUNoYW5nZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydCAmJiBkYXRlID4gdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnQgJiYgIXRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLmVuZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCwgZGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMuZGF0ZVRvU3RyaW5nKGRhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKGRhdGUsIHVuZGVmaW5lZClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhkYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IG1vbWVudChkYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5nVG9EYXRlKGRhdGU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCkudG9EYXRlKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKHN0YXJ0RGF0ZSA/IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkLCBlbmREYXRlID8gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGVSYW5nZTxEYXRlPihudWxsLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhcnREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpLCB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBlbmREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xuICAgIGlmIChlbmREYXRlIDwgc3RhcnREYXRlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZShzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoVmFsdWVzKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEludGVydmFsKSB7XG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbDtcbiAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpO1xuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShzdGFydERhdGUsIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gbW9tZW50KHN0YXJ0RGF0ZSkudG9EYXRlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSB7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuYXBwbHlUaW1lT25EYXRlKGVuZERhdGUsIHRoaXMuc2VsZWN0ZWRFbmRUaW1lKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSA9IG1vbWVudChlbmREYXRlKS50b0RhdGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5fdmFsdWUuaW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUaW1lT25EYXRlKGRhdGU6IERhdGUsIHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aW1lKSB7XG4gICAgICBkYXRlLnNldEhvdXJzKHRoaXMuZ2V0SG91cnNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0TWludXRlcyh0aGlzLmdldE1pbnV0ZXNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0U2Vjb25kcyh0aGlzLmdldFNlY29uZHNGcm9tVGltZSh0aW1lKSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzBdKSB8fCAwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWludXRlc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVsxXSkgfHwgMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlY29uZHNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMl0pIHx8IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldElucHV0VGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl92YWx1ZT8uaW50ZXJ2YWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcmlvZExhYmVsO1xuICAgIH1cbiAgICBjb25zdCBlbXB0eURhdGU6IHN0cmluZyA9IHRoaXMuaGlkZVRpbWUgPyAnX19fX19fX19fXycgOiAnX19fX19fX19fXyBfX19fX19fXyc7XG4gICAgbGV0IGZvcm1hdGVkVGV4dCA9ICcnO1xuICAgIGlmICh0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSkge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IHRoaXMuZGF0ZVRvU3RyaW5nKHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICBmb3JtYXRlZFRleHQgKz0gJyAtICdcbiAgICBpZiAodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0ZWRUZXh0O1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWxcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNka092ZXJsYXlPcmlnaW4gI29yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIiBjbGFzcz1cImNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigkZXZlbnQpIDogb3BlbkRyb3BEb3duKCRldmVudClcIj5cbiAgICA8bWF0LWxhYmVsIGNsYXNzPVwibWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVwiIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICA8c3BhbiBjbGFzcz1cImludGVydmFsLWlucHV0XCI+XG4gICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBlcmlvZC1iYWRnZXQgdGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJ2YWx1ZT8uaW50ZXJ2YWxcIj5cbiAgICAgICAgPG1hdC1pY29uPmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBlcmlvZC10ZXh0XCIgW2lubmVySFRNTF09XCJ2YWx1ZT8uaW50ZXJ2YWw/LmxhYmVsXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCIgY2xhc3M9XCJjbGlja2FibGVcIiBtYXRJbnB1dCBbdmFsdWVdPVwiZ2V0SW5wdXRUZXh0KClcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPlxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJjbGlja2FibGUgdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+e3tkcm9wZG93bk9wZW4gPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJ319PC9tYXQtaWNvbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLW92ZXJsYXktcGFuZWwnXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cInNjcm9sbFN0cmF0ZWd5XCJcbiAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJjbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZHJvcGRvd25PcGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwtZHJvcGRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtb3B0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbHMtY29udGFpbmVyXCIgKm5nSWY9XCJ0aGlzLmludGVydmFsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHRcIiAqbmdJZj1cInJlbGF0aXZlTGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aXZlLXRleHRcIiBbaW5uZXJIVE1MXT1cInJlbGF0aXZlTGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctc2Nyb2xsYmFyICNpbnRlcnZhbHNCYXIgY2xhc3M9XCJkYXRlLXRpbWUtaW50ZXJ2YWwtc2Nyb2xsYmFyXCIgW3Zpc2liaWxpdHldPVwiJ2Fsd2F5cydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxcIlxuICAgICAgICAgICAgICAgW2lkXT1cIidhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLScgKyBpbnRlcnZhbC5pZFwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWwpXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW50ZXJ2YWwtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKGludGVydmFsKX1cIlxuICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGludGVydmFsIG9mIHRoaXMuaW50ZXJ2YWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbnRlcnZhbC5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWljb25cIiAqbmdJZj1cImlzU2VsZWN0ZWQoaW50ZXJ2YWwpXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC1zZWNvbmRhcnlcIj5jaGVjazwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1zY3JvbGxiYXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnb25seS1jYWxlbmRhcic6ICF0aGlzLmludGVydmFsc31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJhYnNvbHV0ZUxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhYnNvbHV0ZS10ZXh0XCIgW2lubmVySFRNTF09XCJhYnNvbHV0ZUxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItZmllbGRzXCIgW25nQ2xhc3NdPVwieydwaWNrZXItb25seS1kYXRlJzogaGlkZVRpbWV9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cInN0YXJ0RGF0ZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWFza109XCJkYXRlTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiAoYmx1cik9XCJzdGFydERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwic3RhcnRUaW1lTGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hc2tdPVwidGltZU1hc2tcIiBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN0YXJ0VGltZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXNrXT1cImRhdGVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIChibHVyKT1cImVuZERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwiZW5kVGltZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRFbmRUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5zY2hlZHVsZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWNhbGVuZGFyXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAgIFttYXhEYXRlXT1cImNhbGVuZGFyTWF4RGF0ZVwiXG4gICAgICAgICAgICBbbWluRGF0ZV09XCJjYWxlbmRhck1pbkRhdGVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIj48L21hdC1jYWxlbmRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWNhbmNlbC1idXR0b25cIiAqbmdJZj1cImNhbmNlbExhYmVsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJjYW5jZWxMYWJlbFwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idXR0b24gZHJvcGRvd24tYXBwbHktYnV0dG9uXCIgKm5nSWY9XCJhcHBseUxhYmVsXCIgKGNsaWNrKT1cImFwcGx5KClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1jYW5jZWwtYnV0dG9uLXRleHRcIiBbaW5uZXJIVE1MXT1cImFwcGx5TGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -53,4 +53,4 @@ export class TimeIntervalValue {
|
|
|
53
53
|
return this._timezone;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWludGVybmFsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwvbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFFWCxTQUFTLENBQVE7SUFDMUIsa0JBQWtCLENBQU07SUFDeEIsZ0JBQWdCLENBQU07SUFDdEIsU0FBUyxDQUFjO0lBRS9CLFlBQVksUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRTtZQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3BGO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzlFO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbEY7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDNUU7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUIsQ0FBQyxLQUFXO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsS0FBVztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZUludGVydmFsIH0gZnJvbSAnLi4vZGVmYXVsdC1pbnRlcnZhbC90aW1lLWludGVydmFsJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcblxuZXhwb3J0IGNsYXNzIFRpbWVJbnRlcnZhbFZhbHVlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90aW1lem9uZTogc3RyaW5nXG4gIHByaXZhdGUgX2Fic29sdXRlU3RhcnREYXRlOiBEYXRlXG4gIHByaXZhdGUgX2Fic29sdXRlRW5kRGF0ZTogRGF0ZVxuICBwcml2YXRlIF9pbnRlcnZhbDogVGltZUludGVydmFsXG5cbiAgY29uc3RydWN0b3IodGltZXpvbmU6IHN0cmluZykge1xuICAgIHRoaXMuX3RpbWV6b25lID0gdGltZXpvbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhcnREYXRlKCk6IERhdGUge1xuICAgIGlmICh0aGlzLl9pbnRlcnZhbD8uZ2V0U3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUobW9tZW50KHRoaXMuX2ludGVydmFsLmdldFN0YXJ0RGF0ZSgpKS50eih0aGlzLl90aW1lem9uZSkuZm9ybWF0KCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fYWJzb2x1dGVTdGFydERhdGUpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShtb21lbnQodGhpcy5fYWJzb2x1dGVTdGFydERhdGUpLnR6KHRoaXMuX3RpbWV6b25lKS5mb3JtYXQoKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hYnNvbHV0ZVN0YXJ0RGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFbmREYXRlKCk6IERhdGUge1xuICAgIGlmICh0aGlzLl9pbnRlcnZhbD8uZ2V0RW5kRGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudCh0aGlzLl9pbnRlcnZhbC5nZXRFbmREYXRlKCkpLnR6KHRoaXMuX3RpbWV6b25lKS5mb3JtYXQoKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShtb21lbnQodGhpcy5fYWJzb2x1dGVFbmREYXRlKS50eih0aGlzLl90aW1lem9uZSkuZm9ybWF0KCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWJzb2x1dGVFbmREYXRlO1xuICB9XG5cbiAgcHVibGljIGlzUmVsYXRpdmVJbnRlcnZhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9pbnRlcnZhbDtcbiAgfVxuXG4gIHB1YmxpYyBpc0Fic29sdXRlRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNSZWxhdGl2ZUludGVydmFsKClcbiAgfVxuXG4gIGdldCBhYnNvbHV0ZVN0YXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fYWJzb2x1dGVTdGFydERhdGU7XG4gIH1cblxuICBzZXQgYWJzb2x1dGVTdGFydERhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hYnNvbHV0ZVN0YXJ0RGF0ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGFic29sdXRlRW5kRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fYWJzb2x1dGVFbmREYXRlO1xuICB9XG5cbiAgc2V0IGFic29sdXRlRW5kRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuX2Fic29sdXRlRW5kRGF0ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGludGVydmFsKCk6IFRpbWVJbnRlcnZhbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVydmFsO1xuICB9XG5cbiAgc2V0IGludGVydmFsKHZhbHVlOiBUaW1lSW50ZXJ2YWwpIHtcbiAgICB0aGlzLl9pbnRlcnZhbCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHRpbWV6b25lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWV6b25lO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -25,4 +25,4 @@ export * from './default-interval/today-interval';
|
|
|
25
25
|
export * from './default-interval/yesterday-interval';
|
|
26
26
|
// Export Component
|
|
27
27
|
export * from './input-date-time-interval.component';
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCO0FBQ2xCLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLGtDQUFrQyxDQUFBO0FBRWhELHFCQUFxQjtBQUNyQixjQUFjLGtDQUFrQyxDQUFBO0FBRWhELDJCQUEyQjtBQUMzQixjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQTtBQUN0RCxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyw0Q0FBNEMsQ0FBQTtBQUMxRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUVyRCxtQkFBbUI7QUFDbkIsY0FBYyxzQ0FBc0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEV4cG9ydCBidWlsZGVyc1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZGVyL2RlZmF1bHQtaW50ZXJ2YWxzLmJ1aWxkZXInXG5leHBvcnQgKiBmcm9tICcuL2J1aWxkZXIvdGltZS1pbnRlcnZhbC12YWx1ZS5idWlsZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9idWlsZGVyL3RpbWUtaW50ZXJ2YWxzLmJ1aWxkZXInXG5cbi8vIEV4cG9ydCBtb2RlbCBjbGFzc1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9kYXRlLXRpbWUtaW50ZXJuYWwubW9kZWwnXG5cbi8vIEV4cG9ydCBkZWZhdWx0IGludGVydmFsc1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LWludGVydmFsL3RpbWUtaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvY3VycmVudC1tb250aC1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LWZpdmUtbWludXRlcy1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LWhvdXItaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1taW51dGUtaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC1tb250aC1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LW9uZS13ZWVrLWludGVydmFsJ1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LWludGVydmFsL2xhc3QtcXVhcnRlci1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXRlbi1taW51dGVzLWludGVydmFsJ1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LWludGVydmFsL2xhc3QtdGhpcnR5LW1pbnV0ZXMtaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvbGFzdC10aHJlZS1ob3Vycy1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXR3by1ob3Vycy1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC9sYXN0LXllYXItaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGhpcy1xdWFydGVyLWludGVydmFsJ1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LWludGVydmFsL3RoaXMtd2Vlay1pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1pbnRlcnZhbC90aGlzLXllYXItaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdG9kYXktaW50ZXJ2YWwnXG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwveWVzdGVyZGF5LWludGVydmFsJ1xuXG4vLyBFeHBvcnQgQ29tcG9uZW50XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQnXG4iXX0=
|
|
@@ -67,12 +67,12 @@ class InputFileComponent {
|
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputFileComponent, selector: "input-file", inputs: { fileFormData: "fileFormData", fileName: "fileName", canRemove: "canRemove", removeTitle: "removeTitle", canUpload: "canUpload", uploadTitle: "uploadTitle", canModify: "canModify", modifyTitle: "modifyTitle", iconFontSize: "iconFontSize", emptyFileLabel: "emptyFileLabel", fileTypes: "fileTypes", allowedExtensions: "allowedExtensions" }, outputs: { onRemoveClick: "onRemoveClick", onFileChanged: "onFileChanged", onInvalidFileType: "onInvalidFileType" }, ngImport: i0, template: " <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputFileComponent, selector: "input-file", inputs: { fileFormData: "fileFormData", fileName: "fileName", canRemove: "canRemove", removeTitle: "removeTitle", canUpload: "canUpload", uploadTitle: "uploadTitle", canModify: "canModify", modifyTitle: "modifyTitle", iconFontSize: "iconFontSize", emptyFileLabel: "emptyFileLabel", fileTypes: "fileTypes", allowedExtensions: "allowedExtensions" }, outputs: { onRemoveClick: "onRemoveClick", onFileChanged: "onFileChanged", onInvalidFileType: "onInvalidFileType" }, ngImport: i0, template: " <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasFile() && canRemove\"\n class=\"remove-icon\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n </div>\n", styles: [".input-file{width:100%;display:flex;align-items:center;justify-content:space-between}.input-file .file-name{width:100%;color:var(--color-primary);white-space:nowrap}.input-file .file-actions{display:flex;justify-content:flex-end;align-items:center;padding-left:5px}.input-file .file-actions icon{margin-left:10px;cursor:pointer}.input-file .file-actions icon ::ng-deep .remove-icon{color:red!important}.input-file .file-actions icon ::ng-deep .remove-icon i{color:red!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.IconComponent, selector: "icon", inputs: ["name", "title", "type", "size", "isMaterialIcon", "materialOutline", "routerLinkActive", "routerLink", "link", "target", "isActive"], outputs: ["onClick"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
71
71
|
}
|
|
72
72
|
export { InputFileComponent };
|
|
73
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputFileComponent, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
|
-
args: [{ selector: 'input-file', encapsulation: ViewEncapsulation.None, template: " <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\
|
|
75
|
+
args: [{ selector: 'input-file', encapsulation: ViewEncapsulation.None, template: " <input #actionFile id=\"action-icon\" type=\"file\" (change)=\"fileChange($event)\" style=\"display: none;\"/>\n <div class=\"input-file\">\n <div class=\"file-name\" *ngIf=\"fileName || emptyFileLabel\" >\n {{fileName || emptyFileLabel}}\n </div>\n <div class=\"file-actions\">\n <icon *ngIf=\"!hasFile() && canUpload\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"uploadTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-upload'\"></icon>\n <icon *ngIf=\"hasFile() && canModify\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"modifyTitle\"\n (click)=\"actionFile.click(); actionFile.value = '';\"\n [type]=\"'primary'\"\n [name]=\"'fas fa-pencil-alt'\"></icon>\n <icon *ngIf=\"hasFile() && canRemove\"\n class=\"remove-icon\"\n [ngStyle]=\"{'font-size': iconFontSize}\"\n [title]=\"removeTitle\"\n (click)=\"removeClick(); actionFile.value = '';\"\n [type]=\"'remove'\"\n [name]=\"'fas fa-trash-alt'\"></icon>\n </div>\n </div>\n", styles: [".input-file{width:100%;display:flex;align-items:center;justify-content:space-between}.input-file .file-name{width:100%;color:var(--color-primary);white-space:nowrap}.input-file .file-actions{display:flex;justify-content:flex-end;align-items:center;padding-left:5px}.input-file .file-actions icon{margin-left:10px;cursor:pointer}.input-file .file-actions icon ::ng-deep .remove-icon{color:red!important}.input-file .file-actions icon ::ng-deep .remove-icon i{color:red!important}\n"] }]
|
|
76
76
|
}], propDecorators: { fileFormData: [{
|
|
77
77
|
type: Input
|
|
78
78
|
}], fileName: [{
|
|
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
104
104
|
}], onInvalidFileType: [{
|
|
105
105
|
type: Output
|
|
106
106
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBOzs7O0FBY3pGLE1BTWEsa0JBQWtCO0lBRXBCLFlBQVksR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFBO0lBQ3ZDLFFBQVEsQ0FBb0I7SUFFNUIsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNqQixXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLFNBQVMsR0FBRyxLQUFLLENBQUE7SUFDakIsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQixTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFFaEIsWUFBWSxHQUFHLE1BQU0sQ0FBQTtJQUVyQixjQUFjLEdBQUcsRUFBRSxDQUFBO0lBQ25CLFNBQVMsR0FBYSxFQUFFLENBQUE7SUFDeEIsaUJBQWlCLEdBQWEsRUFBRSxDQUFBO0lBRXhCLGFBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQTtJQUU1RCxhQUFhLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFBO0lBRXRGLGlCQUFpQixHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQTtJQUVwRyxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBRWYsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QyxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFB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QVc7c0JBQW5CLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVXLGFBQWE7c0JBQTdCLE1BQU07Z0JBRVUsYUFBYTtzQkFBN0IsTUFBTTtnQkFFVSxpQkFBaUI7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uSW52YWxpZEZpbGVUeXBlIHtcbiAgZmlsZU5hbWU6IHN0cmluZ1xuICB0eXBlc1N1cHBvcnRlZDogc3RyaW5nW11cbiAgdHlwZUludmFsaWQ6IHN0cmluZ1xuICBhbGxvd2VkRXh0ZW5zaW9ucz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25GaWxlQ2hhbmdlZFR5cGUge1xuICBmaWxlVXJsOiBib29sZWFuXG4gIGZpbGVGb3JtRGF0YTogRm9ybURhdGFcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5wdXQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydpbnB1dC1maWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGaWxlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBmaWxlRm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgQElucHV0KCkgZmlsZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpIGNhblJlbW92ZSA9IGZhbHNlXG4gIEBJbnB1dCgpIHJlbW92ZVRpdGxlID0gJydcblxuICBASW5wdXQoKSBjYW5VcGxvYWQgPSBmYWxzZVxuICBASW5wdXQoKSB1cGxvYWRUaXRsZSA9ICcnXG5cbiAgQElucHV0KCkgY2FuTW9kaWZ5ID0gZmFsc2VcbiAgQElucHV0KCkgbW9kaWZ5VGl0bGUgPSAnJ1xuXG4gIEBJbnB1dCgpIGljb25Gb250U2l6ZSA9ICcxNnB4J1xuXG4gIEBJbnB1dCgpIGVtcHR5RmlsZUxhYmVsID0gJydcbiAgQElucHV0KCkgZmlsZVR5cGVzOiBzdHJpbmdbXSA9IFtdXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvblJlbW92ZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBAT3V0cHV0KCkgcHVibGljIG9uRmlsZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxPbkZpbGVDaGFuZ2VkVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPE9uRmlsZUNoYW5nZWRUeXBlPigpXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBvbkludmFsaWRGaWxlVHlwZTogRXZlbnRFbWl0dGVyPE9uSW52YWxpZEZpbGVUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8T25JbnZhbGlkRmlsZVR5cGU+KClcblxuICBwdWJsaWMgZmlsZVVybCA9IGZhbHNlXG5cbiAgcHVibGljIGhhc0ZpbGUgKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcmwgfHwgISF0aGlzLmZpbGVOYW1lXG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aW9uICgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYW5SZW1vdmUgfHwgdGhpcy5jYW5Nb2RpZnkgfHwgdGhpcy5jYW5VcGxvYWRcbiAgfVxuXG4gIHB1YmxpYyBmaWxlQ2hhbmdlIChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsZUxpc3Q6IEZpbGVMaXN0ID0gZXZlbnQudGFyZ2V0LmZpbGVzXG4gICAgaWYgKGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBmaWxlTGlzdFswXVxuICAgICAgaWYgKCF0aGlzLmlzRmlsZVR5cGVTdXBwb3J0ZWQoZmlsZS50eXBlLCBmaWxlLm5hbWUpKSB7XG4gICAgICAgIHRoaXMub25JbnZhbGlkRmlsZVR5cGUuZW1pdCh7XG4gICAgICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICB0eXBlc1N1cHBvcnRlZDogdGhpcy5maWxlVHlwZXMsXG4gICAgICAgICAgdHlwZUludmFsaWQ6IGZpbGUudHlwZSxcbiAgICAgICAgICBhbGxvd2VkRXh0ZW5zaW9uczogdGhpcy5hbGxvd2VkRXh0ZW5zaW9uc1xuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlLm5hbWVcbiAgICAgIHRoaXMuZmlsZUZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgICAgIHRoaXMuZmlsZUZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSlcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGVMaXN0WzBdKVxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChsb2FkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5maWxlVXJsID0gdHJ1ZVxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRmlsZVR5cGVTdXBwb3J0ZWQgKGZpbGVUeXBlOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxvd2VkRXh0ZW5zaW9ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMuc29tZShleHRlbnNpb24gPT4gZmlsZU5hbWU/LnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZXh0ZW5zaW9uPy50b0xvd2VyQ2FzZSgpKSlcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLmZpbGVUeXBlcyB8fCB0aGlzLmZpbGVUeXBlcy5pbmNsdWRlcyhmaWxlVHlwZSlcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDbGljayAoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlRm9ybURhdGEgPSB1bmRlZmluZWRcbiAgICB0aGlzLmZpbGVOYW1lID0gdW5kZWZpbmVkXG4gICAgdGhpcy5vblJlbW92ZUNsaWNrLmVtaXQoKVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQgKCk6IHZvaWQge1xuICAgIHRoaXMub25GaWxlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIGZpbGVVcmw6IHRoaXMuZmlsZVVybCxcbiAgICAgIGZpbGVGb3JtRGF0YTogdGhpcy5maWxlRm9ybURhdGFcbiAgICB9KVxuICB9XG5cbn1cbiIsIiAgPGlucHV0ICNhY3Rpb25GaWxlIGlkPVwiYWN0aW9uLWljb25cIiB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiLz5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWZpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1uYW1lXCIgKm5nSWY9XCJmaWxlTmFtZSB8fCBlbXB0eUZpbGVMYWJlbFwiID5cbiAgICAgIHt7ZmlsZU5hbWUgfHwgZW1wdHlGaWxlTGFiZWx9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLWFjdGlvbnNcIj5cbiAgICA8aWNvbiAqbmdJZj1cIiFoYXNGaWxlKCkgJiYgY2FuVXBsb2FkXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZSc6IGljb25Gb250U2l6ZX1cIlxuICAgICAgICAgIFt0aXRsZV09XCJ1cGxvYWRUaXRsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkZpbGUuY2xpY2soKTsgYWN0aW9uRmlsZS52YWx1ZSA9ICcnO1wiXG4gICAgICAgICAgW3R5cGVdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICBbbmFtZV09XCInZmFzIGZhLXVwbG9hZCdcIj48L2ljb24+XG4gICAgPGljb24gKm5nSWY9XCJoYXNGaWxlKCkgJiYgY2FuTW9kaWZ5XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J2ZvbnQtc2l6ZSc6IGljb25Gb250U2l6ZX1cIlxuICAgICAgICAgIFt0aXRsZV09XCJtb2RpZnlUaXRsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkZpbGUuY2xpY2soKTsgYWN0aW9uRmlsZS52YWx1ZSA9ICcnO1wiXG4gICAgICAgICAgW3R5cGVdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICBbbmFtZV09XCInZmFzIGZhLXBlbmNpbC1hbHQnXCI+PC9pY29uPlxuICAgIDxpY29uICpuZ0lmPVwiaGFzRmlsZSgpICYmIGNhblJlbW92ZVwiXG4gICAgICAgICAgY2xhc3M9XCJyZW1vdmUtaWNvblwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieydmb250LXNpemUnOiBpY29uRm9udFNpemV9XCJcbiAgICAgICAgICBbdGl0bGVdPVwicmVtb3ZlVGl0bGVcIlxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVDbGljaygpOyBhY3Rpb25GaWxlLnZhbHVlID0gJyc7XCJcbiAgICAgICAgICBbdHlwZV09XCIncmVtb3ZlJ1wiXG4gICAgICAgICAgW25hbWVdPVwiJ2ZhcyBmYS10cmFzaC1hbHQnXCI+PC9pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|
|
@@ -66,12 +66,12 @@ class InputImageComponent {
|
|
|
66
66
|
this.inputFile.nativeElement.value = '';
|
|
67
67
|
}
|
|
68
68
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputImageComponent, selector: "input-image", inputs: { imageFormData: "imageFormData", imageUrl: "imageUrl", imageAlt: "imageAlt", imageTitle: "imageTitle", accept: "accept", canRemove: "canRemove", removeTitle: "removeTitle", canUpload: "canUpload", uploadTitle: "uploadTitle", canModify: "canModify", modifyTitle: "modifyTitle", width: "width", height: "height" }, outputs: { onFileChanged: "onFileChanged" }, viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["actionFile"], descendants: true }], ngImport: i0, template: "<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputImageComponent, selector: "input-image", inputs: { imageFormData: "imageFormData", imageUrl: "imageUrl", imageAlt: "imageAlt", imageTitle: "imageTitle", accept: "accept", canRemove: "canRemove", removeTitle: "removeTitle", canUpload: "canUpload", uploadTitle: "uploadTitle", canModify: "canModify", modifyTitle: "modifyTitle", width: "width", height: "height" }, outputs: { onFileChanged: "onFileChanged" }, viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["actionFile"], descendants: true }], ngImport: i0, template: "<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\n <img loading=\"lazy\" [src]=\"imageUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\" [ngClass]=\"{'clickable' : canClickOnImage()}\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%'}\" (click)=\"imageClick()\"/>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\"\n style=\"display: none;\"/>\n</div>\n\n<div class=\"input-image-actions\" *ngIf=\"canAction()\">\n <primary-button *ngIf=\"!hasImage() && canUpload\"\n [icon]=\"'upload'\"\n [label]=\"uploadTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <primary-button *ngIf=\"hasImage() && canModify\"\n [icon]=\"'edit'\"\n [label]=\"modifyTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <tertiary-button *ngIf=\"hasImage() && canRemove\"\n [icon]=\"'delete'\"\n [label]=\"removeTitle\"\n (onClick)=\"removeClick(); actionFile.value = ''\">\n </tertiary-button>\n</div>\n", styles: [".input-image{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--color-primary);border-radius:5px;gap:5px}.input-image .clickable{cursor:pointer}.input-image-actions{margin-top:5px;display:flex;align-items:center;flex-direction:row;gap:5px}.input-image-actions tertiary-button ::ng-deep button{background:#6b0101!important;border:1px solid #500202!important;color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.PrimaryButtonComponent, selector: "primary-button", inputs: ["label", "btnDisabled", "icon", "suffixIcon", "selected", "btnClass", "size"], outputs: ["onClick"] }, { kind: "component", type: i3.TertiaryButtonComponent, selector: "tertiary-button", inputs: ["label", "btnDisabled", "icon", "suffixIcon", "selected", "btnClass", "size"], outputs: ["onClick"] }] });
|
|
70
70
|
}
|
|
71
71
|
export { InputImageComponent };
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputImageComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
|
-
args: [{ selector: 'input-image', template: "<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\
|
|
74
|
+
args: [{ selector: 'input-image', template: "<div class=\"input-image\" [ngStyle]=\"{'width': 'calc(' + width + ' + 5px', 'height': 'calc(' + height + ' + 5px'}\">\n <img loading=\"lazy\" [src]=\"imageUrl\" [alt]=\"imageAlt\" [matTooltip]=\"imageTitle\" [ngClass]=\"{'clickable' : canClickOnImage()}\"\n [ngStyle]=\"{'width': width, 'height': 'auto', 'max-height': '100%'}\" (click)=\"imageClick()\"/>\n <input #actionFile id=\"action-icon\" type=\"file\" accept=\"{{accept}}\" (change)=\"fileChange($event)\"\n style=\"display: none;\"/>\n</div>\n\n<div class=\"input-image-actions\" *ngIf=\"canAction()\">\n <primary-button *ngIf=\"!hasImage() && canUpload\"\n [icon]=\"'upload'\"\n [label]=\"uploadTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <primary-button *ngIf=\"hasImage() && canModify\"\n [icon]=\"'edit'\"\n [label]=\"modifyTitle\"\n (onClick)=\"editClick()\">\n </primary-button>\n <tertiary-button *ngIf=\"hasImage() && canRemove\"\n [icon]=\"'delete'\"\n [label]=\"removeTitle\"\n (onClick)=\"removeClick(); actionFile.value = ''\">\n </tertiary-button>\n</div>\n", styles: [".input-image{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--color-primary);border-radius:5px;gap:5px}.input-image .clickable{cursor:pointer}.input-image-actions{margin-top:5px;display:flex;align-items:center;flex-direction:row;gap:5px}.input-image-actions tertiary-button ::ng-deep button{background:#6b0101!important;border:1px solid #500202!important;color:#fff!important}\n"] }]
|
|
75
75
|
}], propDecorators: { imageFormData: [{
|
|
76
76
|
type: Input
|
|
77
77
|
}], imageUrl: [{
|
|
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
104
104
|
type: ViewChild,
|
|
105
105
|
args: ['actionFile']
|
|
106
106
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9pbnB1dC1pbWFnZS9pbnB1dC1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWltYWdlL2lucHV0LWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7Ozs7QUFFN0YsTUFLYSxtQkFBbUI7SUFFckIsYUFBYSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUE7SUFDeEMsUUFBUSxHQUFnQyw0QkFBNEIsQ0FBQTtJQUNwRSxRQUFRLEdBQUcsT0FBTyxDQUFBO0lBQ2xCLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDZixNQUFNLEdBQUcsdUJBQXVCLENBQUE7SUFFaEMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNqQixXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLFNBQVMsR0FBRyxLQUFLLENBQUE7SUFDakIsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQixTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFFaEIsS0FBSyxHQUFHLE1BQU0sQ0FBQTtJQUNkLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFFUCxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXNFLENBQUE7SUFHaEgsU0FBUyxDQUE4QjtJQUV2QyxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLDRCQUE0QixDQUFBO0lBQ3ZELENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUMzRCxDQUFDO0lBRU0sVUFBVSxDQUFFLEtBQVU7UUFDM0IsTUFBTSxRQUFRLEdBQWEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDN0MsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLElBQUksR0FBUyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1lBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDaEMsT0FBTTthQUNQO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtZQUMvQixNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2pDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUE7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtZQUN4QixDQUFDLENBQUE7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsNEJBQTRCLENBQUE7UUFDNUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDcEYsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7SUFDekMsQ0FBQzt1R0E3RVUsbUJBQW1COzJGQUFuQixtQkFBbUIsMmdCQ1BoQyx5c0NBd0JBOztTRGpCYSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzhCQU1kLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRVcsYUFBYTtzQkFBN0IsTUFBTTtnQkFHQSxTQUFTO3NCQURmLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbnB1dC1pbWFnZScsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnaW5wdXQtaW1hZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEltYWdlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpbWFnZUZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gIEBJbnB1dCgpIGltYWdlVXJsOiBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IG51bGwgPSAnYXNzZXRzL2ltYWdlcy9uby1pbWFnZS5wbmcnXG4gIEBJbnB1dCgpIGltYWdlQWx0ID0gJ2ltYWdlJ1xuICBASW5wdXQoKSBpbWFnZVRpdGxlID0gJydcbiAgQElucHV0KCkgYWNjZXB0ID0gJ2ltYWdlL3BuZywgaW1hZ2UvanBlZydcblxuICBASW5wdXQoKSBjYW5SZW1vdmUgPSBmYWxzZVxuICBASW5wdXQoKSByZW1vdmVUaXRsZSA9ICcnXG5cbiAgQElucHV0KCkgY2FuVXBsb2FkID0gZmFsc2VcbiAgQElucHV0KCkgdXBsb2FkVGl0bGUgPSAnJ1xuXG4gIEBJbnB1dCgpIGNhbk1vZGlmeSA9IGZhbHNlXG4gIEBJbnB1dCgpIG1vZGlmeVRpdGxlID0gJydcblxuICBASW5wdXQoKSB3aWR0aCA9ICc2NXB4J1xuICBASW5wdXQoKSBoZWlnaHQgPSAnNjVweCdcblxuICBAT3V0cHV0KCkgcHVibGljIG9uRmlsZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW1hZ2VVcmw6IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbCwgaW1hZ2VGb3JtRGF0YTogRm9ybURhdGEgfT4oKVxuXG4gIEBWaWV3Q2hpbGQoJ2FjdGlvbkZpbGUnKVxuICBwdWJsaWMgaW5wdXRGaWxlOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG5cbiAgcHVibGljIGhhc0ltYWdlICgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbWFnZVVybCAhPT0gJ2Fzc2V0cy9pbWFnZXMvbm8taW1hZ2UucG5nJ1xuICB9XG5cbiAgcHVibGljIGNhbkFjdGlvbiAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FuUmVtb3ZlIHx8IHRoaXMuY2FuTW9kaWZ5IHx8IHRoaXMuY2FuVXBsb2FkXG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZSAoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVMaXN0OiBGaWxlTGlzdCA9IGV2ZW50LnRhcmdldC5maWxlc1xuICAgIGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWxlOiBGaWxlID0gZmlsZUxpc3RbMF1cbiAgICAgIHRoaXMuaW1hZ2VGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gICAgICB0aGlzLmltYWdlRm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSwgZmlsZS5uYW1lKVxuICAgICAgaWYgKCFmaWxlLnR5cGUubWF0Y2goL2ltYWdlXFwvKi8pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZUxpc3RbMF0pXG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmltYWdlVXJsID0gcmVhZGVyLnJlc3VsdFxuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlQ2xpY2sgKCk6IHZvaWQge1xuICAgIHRoaXMuaW1hZ2VGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gICAgdGhpcy5pbWFnZVVybCA9ICdhc3NldHMvaW1hZ2VzL25vLWltYWdlLnBuZydcbiAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpXG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCAoKTogdm9pZCB7XG4gICAgdGhpcy5vbkZpbGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgaW1hZ2VVcmw6IHRoaXMuaW1hZ2VVcmwsXG4gICAgICBpbWFnZUZvcm1EYXRhOiB0aGlzLmltYWdlRm9ybURhdGFcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGNhbkNsaWNrT25JbWFnZSAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICghdGhpcy5oYXNJbWFnZSgpICYmIHRoaXMuY2FuVXBsb2FkKSB8fCAodGhpcy5oYXNJbWFnZSgpICYmIHRoaXMuY2FuTW9kaWZ5KVxuICB9XG5cbiAgcHVibGljIGltYWdlQ2xpY2sgKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbkNsaWNrT25JbWFnZSgpKSB7XG4gICAgICB0aGlzLmVkaXRDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlZGl0Q2xpY2sgKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRGaWxlLm5hdGl2ZUVsZW1lbnQuY2xpY2soKVxuICAgIHRoaXMuaW5wdXRGaWxlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1pbWFnZVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnY2FsYygnICsgd2lkdGggKyAnICsgNXB4JywgJ2hlaWdodCc6ICdjYWxjKCcgKyBoZWlnaHQgKyAnICsgNXB4J31cIj5cbiAgPGltZyBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwiaW1hZ2VVcmxcIiBbYWx0XT1cImltYWdlQWx0XCIgW21hdFRvb2x0aXBdPVwiaW1hZ2VUaXRsZVwiIFtuZ0NsYXNzXT1cInsnY2xpY2thYmxlJyA6IGNhbkNsaWNrT25JbWFnZSgpfVwiXG4gICAgICAgW25nU3R5bGVdPVwieyd3aWR0aCc6IHdpZHRoLCAnaGVpZ2h0JzogJ2F1dG8nLCAnbWF4LWhlaWdodCc6ICcxMDAlJ31cIiAoY2xpY2spPVwiaW1hZ2VDbGljaygpXCIvPlxuICA8aW5wdXQgI2FjdGlvbkZpbGUgaWQ9XCJhY3Rpb24taWNvblwiIHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwie3thY2NlcHR9fVwiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIi8+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImlucHV0LWltYWdlLWFjdGlvbnNcIiAqbmdJZj1cImNhbkFjdGlvbigpXCI+XG4gIDxwcmltYXJ5LWJ1dHRvbiAqbmdJZj1cIiFoYXNJbWFnZSgpICYmIGNhblVwbG9hZFwiXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIndXBsb2FkJ1wiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidXBsb2FkVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZWRpdENsaWNrKClcIj5cbiAgPC9wcmltYXJ5LWJ1dHRvbj5cbiAgPHByaW1hcnktYnV0dG9uICpuZ0lmPVwiaGFzSW1hZ2UoKSAmJiBjYW5Nb2RpZnlcIlxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2VkaXQnXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJtb2RpZnlUaXRsZVwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJlZGl0Q2xpY2soKVwiPlxuICA8L3ByaW1hcnktYnV0dG9uPlxuICA8dGVydGlhcnktYnV0dG9uICpuZ0lmPVwiaGFzSW1hZ2UoKSAmJiBjYW5SZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIidkZWxldGUnXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwicmVtb3ZlVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cInJlbW92ZUNsaWNrKCk7IGFjdGlvbkZpbGUudmFsdWUgPSAnJ1wiPlxuICA8L3RlcnRpYXJ5LWJ1dHRvbj5cbjwvZGl2PlxuIl19
|