novo-elements 9.0.0-next.1 → 9.0.0
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/addons/ace-editor/AceEditor.d.ts +4 -2
- package/addons/ace-editor/AceEditor.scss +1 -1
- package/addons/ckeditor/CKEditor.scss +8 -5
- package/addons/code-editor/CodeEditor.d.ts +31 -0
- package/addons/code-editor/CodeEditor.module.d.ts +9 -0
- package/addons/code-editor/CodeEditor.scss +5 -0
- package/addons/code-editor/index.d.ts +2 -0
- package/addons/code-editor/novo-elements-addons-code-editor.d.ts +5 -0
- package/addons/code-editor/package.json +10 -0
- package/addons/index.d.ts +1 -0
- package/elements/aside/aside.component.scss +1 -1
- package/elements/calendar/Calendar.module.d.ts +2 -3
- package/elements/category-dropdown/CategoryDropdown.scss +3 -1
- package/elements/checkbox/CheckList.scss +1 -1
- package/elements/checkbox/Checkbox.scss +1 -1
- package/elements/chips/Chip.scss +0 -21
- package/elements/chips/Chips.d.ts +2 -1
- package/elements/chips/Chips.scss +14 -98
- package/elements/chips/RowChips.scss +70 -0
- package/elements/common/overlay/Overlay.d.ts +1 -0
- package/elements/data-table/data-table.component.scss +3 -121
- package/elements/data-table/pagination/data-table-pagination.component.scss +124 -0
- package/elements/date-picker/DatePicker.module.d.ts +2 -2
- package/elements/date-picker/DatePickerInput.d.ts +8 -5
- package/elements/date-picker/MultiDateInput.d.ts +0 -1
- package/elements/date-picker/MultiDateInput.scss +0 -3
- package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -3
- package/elements/drag-drop/drag-drop-box.d.ts +45 -0
- package/elements/drag-drop/drag-drop.module.d.ts +7 -0
- package/elements/drag-drop/index.d.ts +2 -0
- package/elements/drag-drop/novo-elements-elements-drag-drop.d.ts +5 -0
- package/elements/drag-drop/package.json +10 -0
- package/elements/dropdown/Dropdown.d.ts +7 -1
- package/elements/dropdown/Dropdown.scss +27 -2
- package/elements/field/formats/date-time-format.d.ts +2 -2
- package/elements/form/Control.d.ts +9 -6
- package/elements/form/ControlGroup.scss +2 -0
- package/elements/form/ControlTemplates.d.ts +1 -1
- package/elements/form/Form.module.d.ts +6 -6
- package/elements/form/Form.scss +25 -43
- package/elements/form/controls/code-editor/CodeEditorControl.d.ts +5 -0
- package/elements/form/controls/code-editor/index.d.ts +1 -0
- package/elements/form/controls/index.d.ts +2 -1
- package/elements/form/extras/FormExtras.module.d.ts +4 -4
- package/elements/form/extras/address/Address.scss +15 -13
- package/elements/form/extras/file/FileInput.d.ts +15 -16
- package/elements/form/extras/file/FileInput.scss +60 -30
- package/elements/form/fieldset-header.scss +17 -0
- package/elements/header/Header.scss +10 -1
- package/elements/index.d.ts +1 -0
- package/elements/list/list-item-content.scss +3 -3
- package/elements/list/list-item-header-avatar.scss +1 -1
- package/elements/list/list-item-header-title.scss +2 -1
- package/elements/modal/modal.component.scss +1 -1
- package/elements/multi-picker/_MultiPicker.scss +3 -3
- package/elements/picker/Picker.d.ts +2 -1
- package/elements/picker/Picker.scss +10 -351
- package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +1 -0
- package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +6 -6
- package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +3 -3
- package/elements/picker/extras/picker-results/PickerResult.scss +12 -0
- package/elements/picker/extras/picker-results/PickerResults.scss +302 -0
- package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +3 -1
- package/elements/popover/PopOver.scss +1 -1
- package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -1
- package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +1 -1
- package/elements/radio/Radio.scss +1 -1
- package/elements/select-search/select-search.component.scss +1 -1
- package/elements/simple-table/table.scss +3 -0
- package/elements/table/Table.module.d.ts +5 -6
- package/elements/table/Table.scss +7 -5
- package/elements/table/extras/pagination/Pagination.scss +3 -1
- package/elements/tabs/tab-content.scss +1 -1
- package/elements/tabs/tab-outlet.scss +1 -1
- package/elements/time-picker/TimePicker.d.ts +2 -3
- package/elements/time-picker/TimePicker.module.d.ts +3 -4
- package/elements/time-picker/TimePicker.scss +2 -2
- package/elements/time-picker/TimePickerInput.d.ts +5 -4
- package/elements/tip-well/TipWell.scss +0 -1
- package/esm2020/addons/ace-editor/AceEditor.mjs +10 -10
- package/esm2020/addons/ckeditor/CKEditor.mjs +10 -7
- package/esm2020/addons/code-editor/CodeEditor.mjs +129 -0
- package/esm2020/addons/code-editor/CodeEditor.module.mjs +19 -0
- package/esm2020/addons/code-editor/index.mjs +3 -0
- package/esm2020/addons/code-editor/novo-elements-addons-code-editor.mjs +5 -0
- package/esm2020/addons/index.mjs +2 -1
- package/esm2020/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +1 -1
- package/esm2020/elements/calendar/Calendar.module.mjs +5 -7
- package/esm2020/elements/calendar/calendar.component.mjs +3 -3
- package/esm2020/elements/calendar/month-select/month-select.component.mjs +3 -3
- package/esm2020/elements/calendar/month-view/month-view.component.mjs +3 -3
- package/esm2020/elements/calendar/year-select/year-select.component.mjs +3 -3
- package/esm2020/elements/category-dropdown/CategoryDropdown.mjs +5 -9
- package/esm2020/elements/chips/Chip.mjs +2 -2
- package/esm2020/elements/chips/ChipList.mjs +5 -14
- package/esm2020/elements/chips/Chips.mjs +11 -12
- package/esm2020/elements/chips/RowChips.mjs +5 -10
- package/esm2020/elements/common/overlay/Overlay.mjs +11 -5
- package/esm2020/elements/data-table/cell-headers/data-table-header-cell.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table-clear-button.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table.component.mjs +7 -13
- package/esm2020/elements/data-table/pagination/data-table-pagination.component.mjs +6 -8
- package/esm2020/elements/date-picker/DatePicker.module.mjs +6 -6
- package/esm2020/elements/date-picker/DatePickerInput.mjs +50 -29
- package/esm2020/elements/date-picker/DateRangeInput.mjs +10 -16
- package/esm2020/elements/date-picker/MultiDateInput.mjs +3 -19
- package/esm2020/elements/date-time-picker/DateTimePicker.module.mjs +4 -5
- package/esm2020/elements/date-time-picker/DateTimePickerInput.mjs +1 -1
- package/esm2020/elements/drag-drop/drag-drop-box.mjs +224 -0
- package/esm2020/elements/drag-drop/drag-drop.module.mjs +16 -0
- package/esm2020/elements/drag-drop/index.mjs +3 -0
- package/esm2020/elements/drag-drop/novo-elements-elements-drag-drop.mjs +5 -0
- package/esm2020/elements/dropdown/Dropdown.mjs +31 -6
- package/esm2020/elements/field/formats/date-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-range-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-time-format.mjs +12 -12
- package/esm2020/elements/field/formats/time-format.mjs +6 -6
- package/esm2020/elements/form/Control.mjs +20 -8
- package/esm2020/elements/form/ControlGroup.mjs +5 -5
- package/esm2020/elements/form/ControlTemplates.mjs +58 -27
- package/esm2020/elements/form/DynamicForm.mjs +9 -17
- package/esm2020/elements/form/Form.mjs +5 -9
- package/esm2020/elements/form/Form.module.mjs +12 -13
- package/esm2020/elements/form/NovoFormControl.mjs +1 -2
- package/esm2020/elements/form/controls/code-editor/CodeEditorControl.mjs +9 -0
- package/esm2020/elements/form/controls/code-editor/index.mjs +2 -0
- package/esm2020/elements/form/controls/index.mjs +3 -2
- package/esm2020/elements/form/controls/timezone/TimezoneControl.mjs +2 -2
- package/esm2020/elements/form/extras/FormExtras.module.mjs +8 -9
- package/esm2020/elements/form/extras/address/Address.mjs +4 -8
- package/esm2020/elements/form/extras/file/FileInput.mjs +38 -265
- package/esm2020/elements/header/Header.mjs +2 -2
- package/esm2020/elements/index.mjs +2 -1
- package/esm2020/elements/list/List.mjs +6 -6
- package/esm2020/elements/modal/modal.component.mjs +2 -2
- package/esm2020/elements/multi-picker/MultiPicker.mjs +5 -10
- package/esm2020/elements/picker/Picker.mjs +18 -10
- package/esm2020/elements/picker/extras/base-picker-results/BasePickerResults.mjs +4 -3
- package/esm2020/elements/picker/extras/entity-picker-results/EntityPickerResults.mjs +9 -16
- package/esm2020/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.mjs +4 -7
- package/esm2020/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.mjs +4 -7
- package/esm2020/elements/picker/extras/picker-results/PickerResults.mjs +6 -10
- package/esm2020/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.mjs +4 -7
- package/esm2020/elements/popover/PopOverContent.mjs +4 -7
- package/esm2020/elements/query-builder/condition-definitions/address-condition.definition.mjs +2 -2
- package/esm2020/elements/query-builder/condition-group/condition-group.component.mjs +3 -3
- package/esm2020/elements/radio/Radio.mjs +2 -2
- package/esm2020/elements/simple-table/cell-header.mjs +2 -2
- package/esm2020/elements/simple-table/cell.mjs +1 -1
- package/esm2020/elements/simple-table/table.mjs +7 -17
- package/esm2020/elements/tabbed-group-picker/TabbedGroupPicker.mjs +1 -1
- package/esm2020/elements/table/Table.mjs +6 -11
- package/esm2020/elements/table/Table.module.mjs +1 -6
- package/esm2020/elements/table/extras/dropdown-cell/DropdownCell.mjs +5 -8
- package/esm2020/elements/table/extras/pagination/Pagination.mjs +7 -8
- package/esm2020/elements/tabs/Tabs.mjs +6 -6
- package/esm2020/elements/time-picker/TimePicker.mjs +5 -6
- package/esm2020/elements/time-picker/TimePicker.module.mjs +4 -5
- package/esm2020/elements/time-picker/TimePickerInput.mjs +32 -75
- package/esm2020/elements/tip-well/TipWell.mjs +5 -5
- package/esm2020/index.mjs +1 -1
- package/esm2020/novo-elements.module.mjs +9 -3
- package/esm2020/novo-elements.providers.mjs +2 -2
- package/esm2020/services/date-format/DateFormat.mjs +153 -47
- package/esm2020/services/global/global.service.mjs +7 -1
- package/esm2020/utils/date/Date.mjs +1 -1
- package/esm2020/utils/date/index.mjs +3 -2
- package/esm2020/utils/date/timezone-support.mjs +87 -0
- package/fesm2015/novo-elements-addons-ace-editor.mjs +9 -9
- package/fesm2015/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-ckeditor.mjs +9 -6
- package/fesm2015/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2015/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2015/novo-elements-addons.mjs +159 -17
- package/fesm2015/novo-elements-addons.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-category-dropdown.mjs +4 -8
- package/fesm2015/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-chips.mjs +20 -35
- package/fesm2015/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-common.mjs +10 -2
- package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-data-table.mjs +13 -21
- package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-picker.mjs +66 -64
- package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-time-picker.mjs +4 -5
- package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-drag-drop.mjs +245 -0
- package/fesm2015/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2015/novo-elements-elements-dropdown.mjs +30 -5
- package/fesm2015/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-field.mjs +19 -19
- package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-form.mjs +141 -333
- package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-header.mjs +2 -2
- package/fesm2015/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-list.mjs +6 -6
- package/fesm2015/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-modal.mjs +2 -2
- package/fesm2015/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-multi-picker.mjs +4 -9
- package/fesm2015/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-picker.mjs +40 -51
- package/fesm2015/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-popover.mjs +3 -6
- package/fesm2015/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-radio.mjs +2 -2
- package/fesm2015/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-simple-table.mjs +8 -18
- package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-table.mjs +13 -26
- package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabs.mjs +5 -5
- package/fesm2015/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-time-picker.mjs +37 -81
- package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tip-well.mjs +4 -4
- package/fesm2015/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2015/novo-elements-elements.mjs +1 -0
- package/fesm2015/novo-elements-elements.mjs.map +1 -1
- package/fesm2015/novo-elements-services.mjs +158 -46
- package/fesm2015/novo-elements-services.mjs.map +1 -1
- package/fesm2015/novo-elements-utils.mjs +88 -1
- package/fesm2015/novo-elements-utils.mjs.map +1 -1
- package/fesm2015/novo-elements.mjs +8 -2
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ace-editor.mjs +9 -9
- package/fesm2020/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ckeditor.mjs +9 -6
- package/fesm2020/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2020/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2020/novo-elements-addons.mjs +159 -17
- package/fesm2020/novo-elements-addons.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-category-dropdown.mjs +4 -8
- package/fesm2020/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-chips.mjs +20 -35
- package/fesm2020/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-common.mjs +8 -2
- package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-data-table.mjs +13 -21
- package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-picker.mjs +64 -64
- package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-time-picker.mjs +4 -5
- package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-drag-drop.mjs +244 -0
- package/fesm2020/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2020/novo-elements-elements-dropdown.mjs +30 -5
- package/fesm2020/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-field.mjs +19 -19
- package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-form.mjs +142 -335
- package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-header.mjs +2 -2
- package/fesm2020/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-list.mjs +6 -6
- package/fesm2020/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-modal.mjs +2 -2
- package/fesm2020/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-multi-picker.mjs +4 -9
- package/fesm2020/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-picker.mjs +40 -51
- package/fesm2020/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-popover.mjs +3 -6
- package/fesm2020/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-radio.mjs +2 -2
- package/fesm2020/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-simple-table.mjs +8 -18
- package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-table.mjs +13 -26
- package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabs.mjs +5 -5
- package/fesm2020/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-time-picker.mjs +36 -81
- package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tip-well.mjs +4 -4
- package/fesm2020/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2020/novo-elements-elements.mjs +1 -0
- package/fesm2020/novo-elements-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-services.mjs +158 -46
- package/fesm2020/novo-elements-services.mjs.map +1 -1
- package/fesm2020/novo-elements-utils.mjs +88 -1
- package/fesm2020/novo-elements-utils.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +8 -2
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/novo-elements.module.d.ts +1 -1
- package/novo-elements.scss +3 -22
- package/package.json +23 -4
- package/services/date-format/DateFormat.d.ts +62 -3
- package/services/global/global.service.d.ts +3 -0
- package/styles/content/root.scss +1 -1
- package/styles/themes/light-test.scss +1 -1
- package/styles/themes/light.scss +1 -1
- package/styles/variables.scss +1 -1
- package/utils/date/index.d.ts +2 -1
- package/utils/date/timezone-support.d.ts +5 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { NovoDragulaService } from 'novo-elements/addons';
|
|
3
|
-
import {
|
|
3
|
+
import { FieldInteractionApi, GooglePlacesService, MENU_OPTIONS, NovoAsideService, NovoModalService, NovoToastService, } from 'novo-elements/elements';
|
|
4
4
|
import { BrowserGlobalRef, ComponentUtils, DateFormatService, GlobalRef, LocalStorageService, NovoTemplateService, OptionsService, } from 'novo-elements/services';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
const NOVO_ELEMENTS_PROVIDERS = [
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
45
45
|
imports: [],
|
|
46
46
|
}]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm92by1lbGVtZW50cy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9ub3ZvLWVsZW1lbnRzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNMLFlBQVksRUFDMUIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhDLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO0lBQzdELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtJQUN6RCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7SUFDekQsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFO0lBQy9ELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtJQUN6RCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtJQUNyRCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO0lBQ2xELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtJQUMvRCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtJQUNyRCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtDQUNwQixDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWdDO1FBQzdDLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLHVCQUF1QjtnQkFDMUI7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLElBQUk7aUJBQ2xDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7U0FDL0IsQ0FBQztJQUNKLENBQUM7O2tIQWxCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLFlBRnRCLEVBQUU7NEZBRUEsb0JBQW9CO2tCQUhoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdm9EcmFndWxhU2VydmljZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvYWRkb25zJztcbmltcG9ydCB7XG4gIEZpZWxkSW50ZXJhY3Rpb25BcGksXG4gIEdvb2dsZVBsYWNlc1NlcnZpY2UsXG4gIElNZW51T3B0aW9ucywgTUVOVV9PUFRJT05TLFxuICBOb3ZvQXNpZGVTZXJ2aWNlLFxuICBOb3ZvTW9kYWxTZXJ2aWNlLFxuICBOb3ZvVG9hc3RTZXJ2aWNlLFxufSBmcm9tICdub3ZvLWVsZW1lbnRzL2VsZW1lbnRzJztcbmltcG9ydCB7XG4gIEJyb3dzZXJHbG9iYWxSZWYsXG4gIENvbXBvbmVudFV0aWxzLFxuICBEYXRlRm9ybWF0U2VydmljZSxcbiAgR2xvYmFsUmVmLFxuICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICBOb3ZvVGVtcGxhdGVTZXJ2aWNlLFxuICBPcHRpb25zU2VydmljZSxcbn0gZnJvbSAnbm92by1lbGVtZW50cy9zZXJ2aWNlcyc7XG5cbmNvbnN0IE5PVk9fRUxFTUVOVFNfUFJPVklERVJTID0gW1xuICB7IHByb3ZpZGU6IE5vdm9EcmFndWxhU2VydmljZSwgdXNlQ2xhc3M6IE5vdm9EcmFndWxhU2VydmljZSB9LFxuICB7IHByb3ZpZGU6IE5vdm9Bc2lkZVNlcnZpY2UsIHVzZUNsYXNzOiBOb3ZvQXNpZGVTZXJ2aWNlIH0sXG4gIHsgcHJvdmlkZTogTm92b01vZGFsU2VydmljZSwgdXNlQ2xhc3M6IE5vdm9Nb2RhbFNlcnZpY2UgfSxcbiAgeyBwcm92aWRlOiBHb29nbGVQbGFjZXNTZXJ2aWNlLCB1c2VDbGFzczogR29vZ2xlUGxhY2VzU2VydmljZSB9LFxuICB7IHByb3ZpZGU6IE5vdm9Ub2FzdFNlcnZpY2UsIHVzZUNsYXNzOiBOb3ZvVG9hc3RTZXJ2aWNlIH0sXG4gIHsgcHJvdmlkZTogQ29tcG9uZW50VXRpbHMsIHVzZUNsYXNzOiBDb21wb25lbnRVdGlscyB9LFxuICB7IHByb3ZpZGU6IEdsb2JhbFJlZiwgdXNlQ2xhc3M6IEJyb3dzZXJHbG9iYWxSZWYgfSxcbiAgeyBwcm92aWRlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCB1c2VDbGFzczogTG9jYWxTdG9yYWdlU2VydmljZSB9LFxuICB7IHByb3ZpZGU6IE9wdGlvbnNTZXJ2aWNlLCB1c2VDbGFzczogT3B0aW9uc1NlcnZpY2UgfSxcbiAgRmllbGRJbnRlcmFjdGlvbkFwaSxcbiAgRGF0ZUZvcm1hdFNlcnZpY2UsXG4gIE5vdm9UZW1wbGF0ZVNlcnZpY2UsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTm92b0VsZW1lbnRQcm92aWRlcnMge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogeyBtZW51OiBJTWVudU9wdGlvbnMgfSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tm92b0VsZW1lbnRQcm92aWRlcnM+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5vdm9FbGVtZW50UHJvdmlkZXJzLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLk5PVk9fRUxFTUVOVFNfUFJPVklERVJTLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTUVOVV9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zICYmIG9wdGlvbnMubWVudSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5vdm9FbGVtZW50UHJvdmlkZXJzPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOb3ZvRWxlbWVudFByb3ZpZGVycyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { NovoLabelService } from '../novo-label-service';
|
|
4
4
|
// APP
|
|
5
|
-
import {
|
|
5
|
+
import { format, parse } from 'date-fns';
|
|
6
|
+
import { MaskedEnum, MaskedRange } from 'imask';
|
|
7
|
+
import { DateUtil, Helpers, convertTokens } from 'novo-elements/utils';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "../novo-label-service";
|
|
8
10
|
export class DateFormatService {
|
|
@@ -10,35 +12,79 @@ export class DateFormatService {
|
|
|
10
12
|
this.labels = labels;
|
|
11
13
|
}
|
|
12
14
|
getTimeMask(militaryTime) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
const amFormat = this.labels.timeFormatAM.toUpperCase();
|
|
16
|
+
const pmFormat = this.labels.timeFormatPM.toUpperCase();
|
|
17
|
+
const mask = {
|
|
18
|
+
mask: Date,
|
|
19
|
+
pattern: militaryTime ? 'HH:mm' : 'hh:mm aa',
|
|
20
|
+
overwrite: true,
|
|
21
|
+
autofix: true,
|
|
22
|
+
lazy: false,
|
|
23
|
+
min: new Date(1970, 0, 1),
|
|
24
|
+
max: new Date(2030, 0, 1),
|
|
25
|
+
prepare(str) {
|
|
26
|
+
return str.toUpperCase();
|
|
27
|
+
},
|
|
28
|
+
format(date) {
|
|
29
|
+
return DateUtil.format(date, militaryTime ? 'HH:mm' : 'hh:mm A');
|
|
30
|
+
},
|
|
31
|
+
parse: (str) => {
|
|
32
|
+
const time = militaryTime ? str : this.convertTime12to24(str);
|
|
33
|
+
return DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);
|
|
34
|
+
},
|
|
35
|
+
blocks: {
|
|
36
|
+
HH: {
|
|
37
|
+
mask: MaskedRange,
|
|
38
|
+
placeholderChar: 'H',
|
|
39
|
+
maxLength: 2,
|
|
40
|
+
from: 0,
|
|
41
|
+
to: 23,
|
|
42
|
+
},
|
|
43
|
+
hh: {
|
|
44
|
+
mask: MaskedRange,
|
|
45
|
+
placeholderChar: 'h',
|
|
46
|
+
maxLength: 2,
|
|
47
|
+
from: 1,
|
|
48
|
+
to: 12,
|
|
49
|
+
},
|
|
50
|
+
mm: {
|
|
51
|
+
mask: MaskedRange,
|
|
52
|
+
placeholderChar: 'm',
|
|
53
|
+
maxLength: 2,
|
|
54
|
+
from: 0,
|
|
55
|
+
to: 59,
|
|
56
|
+
},
|
|
57
|
+
aa: {
|
|
58
|
+
mask: MaskedEnum,
|
|
59
|
+
placeholderChar: 'x',
|
|
60
|
+
enum: ['AM', 'PM', 'am', 'pm', amFormat, pmFormat],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
35
64
|
return mask;
|
|
36
65
|
}
|
|
37
|
-
getDateMask() {
|
|
38
|
-
|
|
66
|
+
getDateMask(format) {
|
|
67
|
+
const mask = {
|
|
68
|
+
mask: Date,
|
|
69
|
+
pattern: 'm/`d/`Y',
|
|
70
|
+
overwrite: true,
|
|
71
|
+
autofix: 'pad',
|
|
72
|
+
min: new Date(1970, 0, 1),
|
|
73
|
+
max: new Date(2030, 0, 1),
|
|
74
|
+
prepare(str) {
|
|
75
|
+
return str.toUpperCase();
|
|
76
|
+
},
|
|
77
|
+
format(date) {
|
|
78
|
+
return DateUtil.format(date, format || 'MM/DD/YYYY');
|
|
79
|
+
},
|
|
80
|
+
parse: (str) => {
|
|
81
|
+
return DateUtil.parse(str);
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
return mask;
|
|
39
85
|
}
|
|
40
86
|
getDateTimeMask(militaryTime = false) {
|
|
41
|
-
return [
|
|
87
|
+
return [this.getDateMask(), /\,?/, /\s/, this.getTimeMask(militaryTime)];
|
|
42
88
|
}
|
|
43
89
|
getTimePlaceHolder(militaryTime) {
|
|
44
90
|
if (militaryTime) {
|
|
@@ -46,6 +92,60 @@ export class DateFormatService {
|
|
|
46
92
|
}
|
|
47
93
|
return this.labels.timeFormatPlaceholderAM;
|
|
48
94
|
}
|
|
95
|
+
parseCustomDateString(dateString, customFormat) {
|
|
96
|
+
let isInvalidDate = true;
|
|
97
|
+
let date = null;
|
|
98
|
+
if (!customFormat) {
|
|
99
|
+
customFormat = this.labels.dateFormatString();
|
|
100
|
+
}
|
|
101
|
+
customFormat = convertTokens(customFormat);
|
|
102
|
+
const [cleanDateString, cleanFormat] = this.removeNonstandardFormatCharacters(dateString, customFormat);
|
|
103
|
+
try {
|
|
104
|
+
date = parse(cleanDateString, cleanFormat, new Date(), {
|
|
105
|
+
useAdditionalWeekYearTokens: false
|
|
106
|
+
});
|
|
107
|
+
if (isNaN(date.getTime())) {
|
|
108
|
+
date = null;
|
|
109
|
+
}
|
|
110
|
+
else if (cleanDateString !== dateString) {
|
|
111
|
+
// Verify that this parse matches the original dateString through this format. If not, then something may have mismatched -
|
|
112
|
+
// in which case we consider the date to be invalid.
|
|
113
|
+
// For instance, if we parsed "Fri Oct 18, 2023" as " Oct 18 2023" (removing the duplicative day-of-week) then it
|
|
114
|
+
// would re-format as "Wed Oct 18 2023" and is an invalid date.
|
|
115
|
+
const reformattedDate = format(date, customFormat);
|
|
116
|
+
if (reformattedDate !== dateString) {
|
|
117
|
+
date = null;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
isInvalidDate = false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
isInvalidDate = false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
// ignore error - keep isInvalidDate true and date null
|
|
129
|
+
}
|
|
130
|
+
return [date, dateString, isInvalidDate];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Certain date format characters are considered nonstandard. We can still use them, but remove them for date parsing to avoid errors
|
|
134
|
+
* @param dateString
|
|
135
|
+
* @param format
|
|
136
|
+
* @returns date string and format in array, both having had their
|
|
137
|
+
*/
|
|
138
|
+
removeNonstandardFormatCharacters(dateString, format) {
|
|
139
|
+
const bannedChars = /[iIRoPp]+/;
|
|
140
|
+
// remove quotes
|
|
141
|
+
format = format.replace(/['"]/g, '');
|
|
142
|
+
let match = null;
|
|
143
|
+
while ((match = bannedChars.exec(format)) != null) {
|
|
144
|
+
format = format.substring(0, match.index) + format.substring(match.index + match[0].length);
|
|
145
|
+
dateString = dateString.substring(0, match.index) + dateString.substring(match.index + match[0].length);
|
|
146
|
+
}
|
|
147
|
+
return [dateString, format];
|
|
148
|
+
}
|
|
49
149
|
parseDateString(dateString) {
|
|
50
150
|
let dateFormat = this.labels.dateFormatString();
|
|
51
151
|
const dateFormatRegex = /(\w+)[\/|\.|\-](\w+)[\/|\.|\-](\w+)/gi;
|
|
@@ -55,7 +155,7 @@ export class DateFormatService {
|
|
|
55
155
|
let year;
|
|
56
156
|
let month;
|
|
57
157
|
let day;
|
|
58
|
-
let date =
|
|
158
|
+
let date = null;
|
|
59
159
|
let isInvalidDate = true;
|
|
60
160
|
if (Helpers.isEmpty(dateFormat)) {
|
|
61
161
|
// Default to MM/dd/yyyy
|
|
@@ -88,10 +188,8 @@ export class DateFormatService {
|
|
|
88
188
|
const oneToken = /^(\d{1,4})$/.exec(dateString);
|
|
89
189
|
const delimiter = /\w+(\/|\.|\-)\w+[\/|\.|\-]\w+/gi.exec(dateFormat);
|
|
90
190
|
const dateStringWithDelimiter = dateString[dateString.length - 1].match(/\/|\.|\-/);
|
|
91
|
-
if (twoTokens && twoTokens.length === 3 && this.isValidDatePart(twoTokens[2], dateFormatTokens[2]) && !dateStringWithDelimiter)
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
else if (oneToken && oneToken.length === 2 && this.isValidDatePart(oneToken[1], dateFormatTokens[1]) && !dateStringWithDelimiter) {
|
|
191
|
+
if ((twoTokens && twoTokens.length === 3 && this.isValidDatePart(twoTokens[2], dateFormatTokens[2]) && !dateStringWithDelimiter) ||
|
|
192
|
+
(oneToken && oneToken.length === 2 && this.isValidDatePart(oneToken[1], dateFormatTokens[1]) && !dateStringWithDelimiter)) {
|
|
95
193
|
dateString = `${dateString}${delimiter[1]}`;
|
|
96
194
|
}
|
|
97
195
|
}
|
|
@@ -102,7 +200,7 @@ export class DateFormatService {
|
|
|
102
200
|
let timeStringParts;
|
|
103
201
|
let amFormat = this.labels.timeFormatAM;
|
|
104
202
|
let pmFormat = this.labels.timeFormatPM;
|
|
105
|
-
if (!(timeString
|
|
203
|
+
if (!(timeString?.includes(':'))) {
|
|
106
204
|
return [value, timeString];
|
|
107
205
|
}
|
|
108
206
|
if (!militaryTime && amFormat && pmFormat) {
|
|
@@ -118,14 +216,14 @@ export class DateFormatService {
|
|
|
118
216
|
splits = timeString.split(pmFormat);
|
|
119
217
|
pm = true;
|
|
120
218
|
}
|
|
121
|
-
if (splits
|
|
219
|
+
if (splits?.length) {
|
|
122
220
|
for (const item of splits) {
|
|
123
|
-
if (item
|
|
221
|
+
if (item?.trim().includes(':')) {
|
|
124
222
|
timeStringParts = item.trim().split(':');
|
|
125
223
|
}
|
|
126
224
|
}
|
|
127
225
|
}
|
|
128
|
-
if (timeStringParts
|
|
226
|
+
if (timeStringParts?.length && timeStringParts.length === 2) {
|
|
129
227
|
let hours = parseInt(timeStringParts[0], 10);
|
|
130
228
|
if (hours === 12 && pm) {
|
|
131
229
|
hours = 12;
|
|
@@ -143,7 +241,7 @@ export class DateFormatService {
|
|
|
143
241
|
}
|
|
144
242
|
else {
|
|
145
243
|
timeStringParts = /(\d{1,2}):(\d{2})/.exec(timeString);
|
|
146
|
-
if (timeStringParts
|
|
244
|
+
if (timeStringParts?.length && timeStringParts.length === 3) {
|
|
147
245
|
value.setHours(parseInt(timeStringParts[1], 10));
|
|
148
246
|
value.setMinutes(parseInt(timeStringParts[2], 10));
|
|
149
247
|
value.setSeconds(0);
|
|
@@ -152,6 +250,9 @@ export class DateFormatService {
|
|
|
152
250
|
return [value, timeString];
|
|
153
251
|
}
|
|
154
252
|
parseString(dateTimeString, militaryTime, type) {
|
|
253
|
+
if (!(dateTimeString?.length)) {
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
155
256
|
switch (type) {
|
|
156
257
|
case 'datetime':
|
|
157
258
|
const str = dateTimeString.replace(/-/g, '/');
|
|
@@ -170,18 +271,23 @@ export class DateFormatService {
|
|
|
170
271
|
return;
|
|
171
272
|
}
|
|
172
273
|
}
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
274
|
+
convertTime12to24(time12h) {
|
|
275
|
+
const pmFormat = this.labels.timeFormatPM.toUpperCase();
|
|
276
|
+
const [time, modifier] = time12h.split(' ');
|
|
277
|
+
let [hours, minutes] = time.split(':');
|
|
278
|
+
if (hours === '12') {
|
|
279
|
+
hours = '00';
|
|
177
280
|
}
|
|
178
|
-
|
|
179
|
-
|
|
281
|
+
if (['PM', pmFormat].includes(modifier)) {
|
|
282
|
+
hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');
|
|
180
283
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
284
|
+
return `${hours}:${minutes}`;
|
|
285
|
+
}
|
|
286
|
+
isValidDatePart(value, format) {
|
|
287
|
+
const datePart = parseInt(value, 10);
|
|
288
|
+
return ((format.includes('m') && (datePart >= 2 || value.length === 2)) ||
|
|
289
|
+
(format.includes('d') && (datePart >= 4 || value.length === 2)) ||
|
|
290
|
+
(format.includes('y') && datePart >= 1000));
|
|
185
291
|
}
|
|
186
292
|
}
|
|
187
293
|
DateFormatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DateFormatService, deps: [{ token: i1.NovoLabelService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -189,4 +295,4 @@ DateFormatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
189
295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DateFormatService, decorators: [{
|
|
190
296
|
type: Injectable
|
|
191
297
|
}], ctorParameters: function () { return [{ type: i1.NovoLabelService }]; } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3NlcnZpY2VzL2RhdGUtZm9ybWF0L0RhdGVGb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsTUFBTTtBQUNOLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRzlDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFBRyxDQUFDO0lBRWhELFdBQVcsQ0FBQyxZQUFxQjtRQUMvQixJQUFJLElBQUksR0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxlQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdFLElBQUksWUFBWSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLGVBQWUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQzdDLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxNQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7b0JBQzVDLElBQUksY0FBYyxLQUFLLEVBQUUsRUFBRTt3QkFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1B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Q0FBQyxDQUFDO2lCQUNqRjtnQkFDRCxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUQ7Z0JBQ0UsT0FBTztTQUNWO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqRSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0ExS1UsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5HMlxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm92b0xhYmVsU2VydmljZSB9IGZyb20gJy4uL25vdm8tbGFiZWwtc2VydmljZSc7XG4vLyBBUFBcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3V0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGVGb3JtYXRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYWJlbHM6IE5vdm9MYWJlbFNlcnZpY2UpIHt9XG5cbiAgZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lOiBib29sZWFuKTogQXJyYXk8UmVnRXhwPiB7XG4gICAgbGV0IG1hc2s6IEFycmF5PFJlZ0V4cD4gPSBbL1xcZC8sIC9cXGQvLCAvOi8sIC9cXGQvLCAvXFxkL107XG4gICAgbGV0IHRpbWVGb3JtYXRBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGNvbnN0IHRpbWVGb3JtYXQ6IHN0cmluZyA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQbGFjZWhvbGRlckFNLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG1pbGl0YXJ5VGltZSkge1xuICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpbWVGb3JtYXRBcnJheSA9IHRpbWVGb3JtYXQuc3BsaXQoJ2hoOm1tJyk7XG4gICAgICBpZiAodGltZUZvcm1hdEFycmF5ICYmIHRpbWVGb3JtYXRBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgbWFzayA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRpbWVGb3JtYXRQYXJ0IG9mIHRpbWVGb3JtYXRBcnJheSkge1xuICAgICAgICAgIGlmICh0aW1lRm9ybWF0UGFydCA9PT0gJycpIHtcbiAgICAgICAgICAgIG1hc2sgPSBtYXNrLmNvbmNhdChbL1xcZC8sIC9cXGR8Oi8sIC86fFxcZC8sIC9cXGR8XFx3fFxccy8sIC9cXGR8XFxzfFxcdy9dKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpbWVGb3JtYXRQYXJ0Lmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lRm9ybWF0UGFydC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICBtYXNrLnB1c2goL1xcc3xcXHd8XFxkfFxcLi8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFzaztcbiAgfVxuXG4gIGdldERhdGVNYXNrKCk6IEFycmF5PFJlZ0V4cD4ge1xuICAgIHJldHVybiBbL1xcZC8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFwvfFxcLnxcXC18XFxkLywgL1xcZHxcXC98XFwufFxcLS8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkfFxcL3xcXC58XFwtLywgL1xcZHxcXC98XFwufFxcLS8sIC9cXGR8XFwvfFxcLnxcXC0vLCAvXFxkLywgL1xcZC9dO1xuICB9XG5cbiAgZ2V0RGF0ZVRpbWVNYXNrKG1pbGl0YXJ5VGltZTogYm9vbGVhbiA9IGZhbHNlKTogQXJyYXk8UmVnRXhwPiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLmdldERhdGVNYXNrKCksIC9cXCw/LywgL1xccy8sIC4uLnRoaXMuZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lKV07XG4gIH1cblxuICBnZXRUaW1lUGxhY2VIb2xkZXIobWlsaXRhcnlUaW1lOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBpZiAobWlsaXRhcnlUaW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyMjRIb3VyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyQU07XG4gIH1cblxuICBwYXJzZURhdGVTdHJpbmcoZGF0ZVN0cmluZzogc3RyaW5nKTogW0RhdGUsIHN0cmluZywgYm9vbGVhbl0ge1xuICAgIGxldCBkYXRlRm9ybWF0OiBzdHJpbmcgPSB0aGlzLmxhYmVscy5kYXRlRm9ybWF0U3RyaW5nKCk7XG4gICAgY29uc3QgZGF0ZUZvcm1hdFJlZ2V4ID0gLyhcXHcrKVtcXC98XFwufFxcLV0oXFx3KylbXFwvfFxcLnxcXC1dKFxcdyspL2dpO1xuICAgIGNvbnN0IGRhdGVWYWx1ZVJlZ2V4ID0gLyhcXGQrKVtcXC98XFwufFxcLV0oXFxkKylbXFwvfFxcLnxcXC1dKFxcZCspL2dpO1xuICAgIGxldCBkYXRlRm9ybWF0VG9rZW5zOiBBcnJheTxzdHJpbmc+O1xuICAgIGxldCBkYXRlVmFsdWVUb2tlbnM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IHllYXI6IG51bWJlcjtcbiAgICBsZXQgbW9udGg6IG51bWJlcjtcbiAgICBsZXQgZGF5OiBudW1iZXI7XG4gICAgbGV0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBpc0ludmFsaWREYXRlID0gdHJ1ZTtcbiAgICBpZiAoSGVscGVycy5pc0VtcHR5KGRhdGVGb3JtYXQpKSB7XG4gICAgICAvLyBEZWZhdWx0IHRvIE1NL2RkL3l5eXlcbiAgICAgIGRhdGVGb3JtYXQgPSAnbW0vZGQveXl5eSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGVGb3JtYXQgPSBkYXRlRm9ybWF0LnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIGRhdGVGb3JtYXRUb2tlbnMgPSBkYXRlRm9ybWF0UmVnZXguZXhlYyhkYXRlRm9ybWF0KTtcbiAgICBkYXRlVmFsdWVUb2tlbnMgPSBkYXRlVmFsdWVSZWdleC5leGVjKGRhdGVTdHJpbmcpO1xuICAgIGlmIChkYXRlRm9ybWF0VG9rZW5zICYmIGRhdGVGb3JtYXRUb2tlbnMubGVuZ3RoID09PSA0ICYmIGRhdGVWYWx1ZVRva2VucyAmJiBkYXRlVmFsdWVUb2tlbnMubGVuZ3RoID09PSA0KSB7XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IDQ7IGkrKykge1xuICAgICAgICBpZiAoZGF0ZUZvcm1hdFRva2Vuc1tpXS5pbmNsdWRlcygnbScpKSB7XG4gICAgICAgICAgbW9udGggPSBwYXJzZUludChkYXRlVmFsdWVUb2tlbnNbaV0sIDEwKSAtIDE7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0ZUZvcm1hdFRva2Vuc1tpXS5pbmNsdWRlcygnZCcpKSB7XG4gICAgICAgICAgZGF5ID0gcGFyc2VJbnQoZGF0ZVZhbHVlVG9rZW5zW2ldLCAxMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeWVhciA9IHBhcnNlSW50KGRhdGVWYWx1ZVRva2Vuc1tpXSwgMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobW9udGggPj0gMCAmJiBtb250aCA8PSAxMSAmJiB5ZWFyID4gMTkwMCAmJiBkYXkgPiAwICYmIGRheSA8PSAzMSkge1xuICAgICAgICBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgICAgIGlzSW52YWxpZERhdGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRhdGVGb3JtYXRUb2tlbnMgJiYgZGF0ZUZvcm1hdFRva2Vucy5sZW5ndGggPT09IDQgJiYgZGF0ZVN0cmluZy5sZW5ndGggPj0gMSkge1xuICAgICAgY29uc3QgdHdvVG9rZW5zID0gL1xcZHsxLDR9KFxcL3xcXC58XFwtKShcXGR7MSwyfSkvLmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBvbmVUb2tlbiA9IC9eKFxcZHsxLDR9KSQvLmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgICBjb25zdCBkZWxpbWl0ZXIgPSAvXFx3KyhcXC98XFwufFxcLSlcXHcrW1xcL3xcXC58XFwtXVxcdysvZ2kuZXhlYyhkYXRlRm9ybWF0KTtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyID0gZGF0ZVN0cmluZ1tkYXRlU3RyaW5nLmxlbmd0aCAtIDFdLm1hdGNoKC9cXC98XFwufFxcLS8pO1xuICAgICAgaWYgKHR3b1Rva2VucyAmJiB0d29Ub2tlbnMubGVuZ3RoID09PSAzICYmIHRoaXMuaXNWYWxpZERhdGVQYXJ0KHR3b1Rva2Vuc1syXSwgZGF0ZUZvcm1hdFRva2Vuc1syXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB7XG4gICAgICAgIGRhdGVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfSR7ZGVsaW1pdGVyWzFdfWA7XG4gICAgICB9IGVsc2UgaWYgKG9uZVRva2VuICYmIG9uZVRva2VuLmxlbmd0aCA9PT0gMiAmJiB0aGlzLmlzVmFsaWREYXRlUGFydChvbmVUb2tlblsxXSwgZGF0ZUZvcm1hdFRva2Vuc1sxXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB7XG4gICAgICAgIGRhdGVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfSR7ZGVsaW1pdGVyWzFdfWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbZGF0ZSwgZGF0ZVN0cmluZywgaXNJbnZhbGlkRGF0ZV07XG4gIH1cblxuICBwYXJzZVRpbWVTdHJpbmcodGltZVN0cmluZzogc3RyaW5nLCBtaWxpdGFyeVRpbWU6IGJvb2xlYW4pOiBbRGF0ZSwgc3RyaW5nXSB7XG4gICAgY29uc3QgdmFsdWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCB0aW1lU3RyaW5nUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IGFtRm9ybWF0ID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdEFNO1xuICAgIGxldCBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTTtcbiAgICBpZiAoISh0aW1lU3RyaW5nICYmIHRpbWVTdHJpbmcuaW5jbHVkZXMoJzonKSkpIHtcbiAgICAgIHJldHVybiBbdmFsdWUsIHRpbWVTdHJpbmddO1xuICAgIH1cbiAgICBpZiAoIW1pbGl0YXJ5VGltZSAmJiBhbUZvcm1hdCAmJiBwbUZvcm1hdCkge1xuICAgICAgbGV0IHNwbGl0czogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgbGV0IHBtOiBib29sZWFuID0gZmFsc2U7XG4gICAgICBhbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRBTS50b0xvd2VyQ2FzZSgpO1xuICAgICAgcG1Gb3JtYXQgPSB0aGlzLmxhYmVscy50aW1lRm9ybWF0UE0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHRpbWVTdHJpbmcgPSB0aW1lU3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodGltZVN0cmluZy5pbmNsdWRlcyhhbUZvcm1hdCkpIHtcbiAgICAgICAgc3BsaXRzID0gdGltZVN0cmluZy5zcGxpdChhbUZvcm1hdCk7XG4gICAgICB9IGVsc2UgaWYgKHRpbWVTdHJpbmcuaW5jbHVkZXMocG1Gb3JtYXQpKSB7XG4gICAgICAgIHNwbGl0cyA9IHRpbWVTdHJpbmcuc3BsaXQocG1Gb3JtYXQpO1xuICAgICAgICBwbSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoc3BsaXRzICYmIHNwbGl0cy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHNwbGl0cykge1xuICAgICAgICAgIGlmIChpdGVtICYmIGl0ZW0udHJpbSgpLmluY2x1ZGVzKCc6JykpIHtcbiAgICAgICAgICAgIHRpbWVTdHJpbmdQYXJ0cyA9IGl0ZW0udHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGltZVN0cmluZ1BhcnRzICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBsZXQgaG91cnM6IG51bWJlciA9IHBhcnNlSW50KHRpbWVTdHJpbmdQYXJ0c1swXSwgMTApO1xuICAgICAgICBpZiAoaG91cnMgPT09IDEyICYmIHBtKSB7XG4gICAgICAgICAgaG91cnMgPSAxMjtcbiAgICAgICAgfSBlbHNlIGlmIChwbSkge1xuICAgICAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICBob3VycyA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuc2V0SG91cnMoaG91cnMpO1xuICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHBhcnNlSW50KHRpbWVTdHJpbmdQYXJ0c1sxXSwgMTApKTtcbiAgICAgICAgdmFsdWUuc2V0U2Vjb25kcygwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGltZVN0cmluZ1BhcnRzID0gLyhcXGR7MSwyfSk6KFxcZHsyfSkvLmV4ZWModGltZVN0cmluZyk7XG4gICAgICBpZiAodGltZVN0cmluZ1BhcnRzICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggJiYgdGltZVN0cmluZ1BhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICB2YWx1ZS5zZXRIb3VycyhwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMV0sIDEwKSk7XG4gICAgICAgIHZhbHVlLnNldE1pbnV0ZXMocGFyc2VJbnQodGltZVN0cmluZ1BhcnRzWzJdLCAxMCkpO1xuICAgICAgICB2YWx1ZS5zZXRTZWNvbmRzKDApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gW3ZhbHVlLCB0aW1lU3RyaW5nXTtcbiAgfVxuXG4gIHBhcnNlU3RyaW5nKGRhdGVUaW1lU3RyaW5nOiBzdHJpbmcsIG1pbGl0YXJ5VGltZTogYm9vbGVhbiwgdHlwZTogc3RyaW5nKTogW0RhdGUsIHN0cmluZywgYm9vbGVhbj9dIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcbiAgICAgICAgY29uc3Qgc3RyID0gZGF0ZVRpbWVTdHJpbmcucmVwbGFjZSgvLS9nLCAnLycpO1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHN0ci5zcGxpdCgnICcpO1xuICAgICAgICBjb25zdCBbZHQsIGR0c10gPSB0aGlzLnBhcnNlRGF0ZVN0cmluZyhwYXJ0c1swXSk7XG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgY29uc3QgW3RtLCB0bXNdID0gdGhpcy5wYXJzZVRpbWVTdHJpbmcocGFydHNbMV0sIG1pbGl0YXJ5VGltZSk7XG4gICAgICAgICAgcmV0dXJuIFtuZXcgRGF0ZShkdC5zZXRIb3Vycyh0bS5nZXRIb3VycygpLCB0bS5nZXRNaW51dGVzKCkpKSwgYCR7ZHRzfSAke3Rtc31gXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2R0LCBkdHNdO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRGF0ZVN0cmluZyhkYXRlVGltZVN0cmluZyk7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUaW1lU3RyaW5nKGRhdGVUaW1lU3RyaW5nLCBtaWxpdGFyeVRpbWUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGlzVmFsaWREYXRlUGFydCh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRhdGVQYXJ0ID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICBpZiAoZm9ybWF0LmluY2x1ZGVzKCdtJykgJiYgKGRhdGVQYXJ0ID49IDIgfHwgdmFsdWUubGVuZ3RoID09PSAyKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5jbHVkZXMoJ2QnKSAmJiAoZGF0ZVBhcnQgPj0gNCB8fCB2YWx1ZS5sZW5ndGggPT09IDIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmNsdWRlcygneScpICYmIGRhdGVQYXJ0ID49IDEwMDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3NlcnZpY2VzL2RhdGUtZm9ybWF0L0RhdGVGb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsTUFBTTtBQUNOLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUFHLENBQUM7SUFFaEQsV0FBVyxDQUFDLFlBQXFCO1FBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHO1lBQ1gsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDNUMsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSxLQUFLO1lBQ1gsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLEdB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SUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNyRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OytHQXZSVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTkcyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3ZvTGFiZWxTZXJ2aWNlIH0gZnJvbSAnLi4vbm92by1sYWJlbC1zZXJ2aWNlJztcbi8vIEFQUFxuaW1wb3J0IHsgZm9ybWF0LCBwYXJzZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE1hc2tlZEVudW0sIE1hc2tlZFJhbmdlIH0gZnJvbSAnaW1hc2snO1xuaW1wb3J0IHsgRGF0ZVV0aWwsIEhlbHBlcnMsIGNvbnZlcnRUb2tlbnMgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3V0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGVGb3JtYXRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYWJlbHM6IE5vdm9MYWJlbFNlcnZpY2UpIHt9XG5cbiAgZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lOiBib29sZWFuKSB7XG4gICAgY29uc3QgYW1Gb3JtYXQgPSB0aGlzLmxhYmVscy50aW1lRm9ybWF0QU0udG9VcHBlckNhc2UoKTtcbiAgICBjb25zdCBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IG1hc2sgPSB7XG4gICAgICBtYXNrOiBEYXRlLFxuICAgICAgcGF0dGVybjogbWlsaXRhcnlUaW1lID8gJ0hIOm1tJyA6ICdoaDptbSBhYScsXG4gICAgICBvdmVyd3JpdGU6IHRydWUsXG4gICAgICBhdXRvZml4OiB0cnVlLFxuICAgICAgbGF6eTogZmFsc2UsXG4gICAgICBtaW46IG5ldyBEYXRlKDE5NzAsIDAsIDEpLFxuICAgICAgbWF4OiBuZXcgRGF0ZSgyMDMwLCAwLCAxKSxcbiAgICAgIHByZXBhcmUoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIudG9VcHBlckNhc2UoKTtcbiAgICAgIH0sXG4gICAgICBmb3JtYXQoZGF0ZSkge1xuICAgICAgICByZXR1cm4gRGF0ZVV0aWwuZm9ybWF0KGRhdGUsIG1pbGl0YXJ5VGltZSA/ICdISDptbScgOiAnaGg6bW0gQScpO1xuICAgICAgfSxcbiAgICAgIHBhcnNlOiAoc3RyKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSBtaWxpdGFyeVRpbWUgPyBzdHIgOiB0aGlzLmNvbnZlcnRUaW1lMTJ0bzI0KHN0cik7XG4gICAgICAgIHJldHVybiBEYXRlVXRpbC5wYXJzZShgJHtEYXRlVXRpbC5mb3JtYXQoRGF0ZS5ub3coKSwgJ1lZWVktTU0tREQnKX1UJHt0aW1lfWApO1xuICAgICAgfSxcbiAgICAgIGJsb2Nrczoge1xuICAgICAgICBISDoge1xuICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJ0gnLFxuICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgIHRvOiAyMyxcbiAgICAgICAgfSxcbiAgICAgICAgaGg6IHtcbiAgICAgICAgICBtYXNrOiBNYXNrZWRSYW5nZSxcbiAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdoJyxcbiAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgZnJvbTogMSxcbiAgICAgICAgICB0bzogMTIsXG4gICAgICAgIH0sXG4gICAgICAgIG1tOiB7XG4gICAgICAgICAgbWFzazogTWFza2VkUmFuZ2UsXG4gICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnbScsXG4gICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgdG86IDU5LFxuICAgICAgICB9LFxuICAgICAgICBhYToge1xuICAgICAgICAgIG1hc2s6IE1hc2tlZEVudW0sXG4gICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAneCcsXG4gICAgICAgICAgZW51bTogWydBTScsICdQTScsICdhbScsICdwbScsIGFtRm9ybWF0LCBwbUZvcm1hdF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIG1hc2s7XG4gIH1cblxuICBnZXREYXRlTWFzayhmb3JtYXQ/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBtYXNrID0ge1xuICAgICAgbWFzazogRGF0ZSxcbiAgICAgIHBhdHRlcm46ICdtL2BkL2BZJyxcbiAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgbWluOiBuZXcgRGF0ZSgxOTcwLCAwLCAxKSxcbiAgICAgIG1heDogbmV3IERhdGUoMjAzMCwgMCwgMSksXG4gICAgICBwcmVwYXJlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9LFxuICAgICAgZm9ybWF0KGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIERhdGVVdGlsLmZvcm1hdChkYXRlLCBmb3JtYXQgfHwgJ01NL0REL1lZWVknKTtcbiAgICAgIH0sXG4gICAgICBwYXJzZTogKHN0cikgPT4ge1xuICAgICAgICByZXR1cm4gRGF0ZVV0aWwucGFyc2Uoc3RyKTtcbiAgICAgIH0sXG4gICAgfVxuICAgIHJldHVybiBtYXNrO1xuICB9XG5cbiAgZ2V0RGF0ZVRpbWVNYXNrKG1pbGl0YXJ5VGltZTogYm9vbGVhbiA9IGZhbHNlKTogQXJyYXk8YW55PiB7XG4gICAgcmV0dXJuIFt0aGlzLmdldERhdGVNYXNrKCksIC9cXCw/LywgL1xccy8sIHRoaXMuZ2V0VGltZU1hc2sobWlsaXRhcnlUaW1lKV07XG4gIH1cblxuICBnZXRUaW1lUGxhY2VIb2xkZXIobWlsaXRhcnlUaW1lOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBpZiAobWlsaXRhcnlUaW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyMjRIb3VyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBsYWNlaG9sZGVyQU07XG4gIH1cblxuICBwYXJzZUN1c3RvbURhdGVTdHJpbmcoZGF0ZVN0cmluZzogc3RyaW5nLCBjdXN0b21Gb3JtYXQ/OiBzdHJpbmcpOiBbRGF0ZSwgc3RyaW5nLCBib29sZWFuXSB7XG4gICAgbGV0IGlzSW52YWxpZERhdGUgPSB0cnVlO1xuICAgIGxldCBkYXRlOiBEYXRlID0gbnVsbDtcbiAgICBpZiAoIWN1c3RvbUZvcm1hdCkge1xuICAgICAgY3VzdG9tRm9ybWF0ID0gdGhpcy5sYWJlbHMuZGF0ZUZvcm1hdFN0cmluZygpO1xuICAgIH1cbiAgICBjdXN0b21Gb3JtYXQgPSBjb252ZXJ0VG9rZW5zKGN1c3RvbUZvcm1hdCk7XG4gICAgY29uc3QgW2NsZWFuRGF0ZVN0cmluZywgY2xlYW5Gb3JtYXRdID0gdGhpcy5yZW1vdmVOb25zdGFuZGFyZEZvcm1hdENoYXJhY3RlcnMoZGF0ZVN0cmluZywgY3VzdG9tRm9ybWF0KTtcbiAgICB0cnkge1xuICAgICAgZGF0ZSA9IHBhcnNlKGNsZWFuRGF0ZVN0cmluZywgY2xlYW5Gb3JtYXQsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgdXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XG4gICAgICAgIGRhdGUgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmIChjbGVhbkRhdGVTdHJpbmcgIT09IGRhdGVTdHJpbmcpIHtcbiAgICAgICAgLy8gVmVyaWZ5IHRoYXQgdGhpcyBwYXJzZSBtYXRjaGVzIHRoZSBvcmlnaW5hbCBkYXRlU3RyaW5nIHRocm91Z2ggdGhpcyBmb3JtYXQuIElmIG5vdCwgdGhlbiBzb21ldGhpbmcgbWF5IGhhdmUgbWlzbWF0Y2hlZCAtXG4gICAgICAgIC8vIGluIHdoaWNoIGNhc2Ugd2UgY29uc2lkZXIgdGhlIGRhdGUgdG8gYmUgaW52YWxpZC5cbiAgICAgICAgLy8gRm9yIGluc3RhbmNlLCBpZiB3ZSBwYXJzZWQgXCJGcmkgT2N0IDE4LCAyMDIzXCIgYXMgXCIgT2N0IDE4IDIwMjNcIiAocmVtb3ZpbmcgdGhlIGR1cGxpY2F0aXZlIGRheS1vZi13ZWVrKSB0aGVuIGl0XG4gICAgICAgIC8vIHdvdWxkIHJlLWZvcm1hdCBhcyBcIldlZCBPY3QgMTggMjAyM1wiIGFuZCBpcyBhbiBpbnZhbGlkIGRhdGUuXG4gICAgICAgIGNvbnN0IHJlZm9ybWF0dGVkRGF0ZSA9IGZvcm1hdChkYXRlLCBjdXN0b21Gb3JtYXQpO1xuICAgICAgICBpZiAocmVmb3JtYXR0ZWREYXRlICE9PSBkYXRlU3RyaW5nKSB7XG4gICAgICAgICAgZGF0ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXNJbnZhbGlkRGF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpc0ludmFsaWREYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSBjYXRjaChlcnIpIHtcbiAgICAgIC8vIGlnbm9yZSBlcnJvciAtIGtlZXAgaXNJbnZhbGlkRGF0ZSB0cnVlIGFuZCBkYXRlIG51bGxcbiAgICB9XG4gICAgcmV0dXJuIFtkYXRlLCBkYXRlU3RyaW5nLCBpc0ludmFsaWREYXRlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDZXJ0YWluIGRhdGUgZm9ybWF0IGNoYXJhY3RlcnMgYXJlIGNvbnNpZGVyZWQgbm9uc3RhbmRhcmQuIFdlIGNhbiBzdGlsbCB1c2UgdGhlbSwgYnV0IHJlbW92ZSB0aGVtIGZvciBkYXRlIHBhcnNpbmcgdG8gYXZvaWQgZXJyb3JzXG4gICAqIEBwYXJhbSBkYXRlU3RyaW5nIFxuICAgKiBAcGFyYW0gZm9ybWF0IFxuICAgKiBAcmV0dXJucyBkYXRlIHN0cmluZyBhbmQgZm9ybWF0IGluIGFycmF5LCBib3RoIGhhdmluZyBoYWQgdGhlaXIgXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZU5vbnN0YW5kYXJkRm9ybWF0Q2hhcmFjdGVycyhkYXRlU3RyaW5nOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgY29uc3QgYmFubmVkQ2hhcnMgPSAvW2lJUm9QcF0rLztcbiAgICAvLyByZW1vdmUgcXVvdGVzXG4gICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoL1snXCJdL2csICcnKTtcbiAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSA9IG51bGw7XG4gICAgd2hpbGUgKChtYXRjaCA9IGJhbm5lZENoYXJzLmV4ZWMoZm9ybWF0KSkgIT0gbnVsbCkge1xuICAgICAgZm9ybWF0ID0gZm9ybWF0LnN1YnN0cmluZygwLCBtYXRjaC5pbmRleCkgKyBmb3JtYXQuc3Vic3RyaW5nKG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnN1YnN0cmluZygwLCBtYXRjaC5pbmRleCkgKyBkYXRlU3RyaW5nLnN1YnN0cmluZyhtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiBbZGF0ZVN0cmluZywgZm9ybWF0XTtcbiAgfVxuXG4gIHBhcnNlRGF0ZVN0cmluZyhkYXRlU3RyaW5nOiBzdHJpbmcpOiBbRGF0ZSwgc3RyaW5nLCBib29sZWFuXSB7XG4gICAgbGV0IGRhdGVGb3JtYXQ6IHN0cmluZyA9IHRoaXMubGFiZWxzLmRhdGVGb3JtYXRTdHJpbmcoKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0UmVnZXggPSAvKFxcdyspW1xcL3xcXC58XFwtXShcXHcrKVtcXC98XFwufFxcLV0oXFx3KykvZ2k7XG4gICAgY29uc3QgZGF0ZVZhbHVlUmVnZXggPSAvKFxcZCspW1xcL3xcXC58XFwtXShcXGQrKVtcXC98XFwufFxcLV0oXFxkKykvZ2k7XG4gICAgbGV0IGRhdGVGb3JtYXRUb2tlbnM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IGRhdGVWYWx1ZVRva2VuczogQXJyYXk8c3RyaW5nPjtcbiAgICBsZXQgeWVhcjogbnVtYmVyO1xuICAgIGxldCBtb250aDogbnVtYmVyO1xuICAgIGxldCBkYXk6IG51bWJlcjtcbiAgICBsZXQgZGF0ZTogRGF0ZSA9IG51bGw7XG4gICAgbGV0IGlzSW52YWxpZERhdGUgPSB0cnVlO1xuICAgIGlmIChIZWxwZXJzLmlzRW1wdHkoZGF0ZUZvcm1hdCkpIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gTU0vZGQveXl5eVxuICAgICAgZGF0ZUZvcm1hdCA9ICdtbS9kZC95eXl5JztcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gICAgZGF0ZUZvcm1hdFRva2VucyA9IGRhdGVGb3JtYXRSZWdleC5leGVjKGRhdGVGb3JtYXQpO1xuICAgIGRhdGVWYWx1ZVRva2VucyA9IGRhdGVWYWx1ZVJlZ2V4LmV4ZWMoZGF0ZVN0cmluZyk7XG4gICAgaWYgKGRhdGVGb3JtYXRUb2tlbnMgJiYgZGF0ZUZvcm1hdFRva2Vucy5sZW5ndGggPT09IDQgJiYgZGF0ZVZhbHVlVG9rZW5zICYmIGRhdGVWYWx1ZVRva2Vucy5sZW5ndGggPT09IDQpIHtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgNDsgaSsrKSB7XG4gICAgICAgIGlmIChkYXRlRm9ybWF0VG9rZW5zW2ldLmluY2x1ZGVzKCdtJykpIHtcbiAgICAgICAgICBtb250aCA9IHBhcnNlSW50KGRhdGVWYWx1ZVRva2Vuc1tpXSwgMTApIC0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRlRm9ybWF0VG9rZW5zW2ldLmluY2x1ZGVzKCdkJykpIHtcbiAgICAgICAgICBkYXkgPSBwYXJzZUludChkYXRlVmFsdWVUb2tlbnNbaV0sIDEwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5ZWFyID0gcGFyc2VJbnQoZGF0ZVZhbHVlVG9rZW5zW2ldLCAxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtb250aCA+PSAwICYmIG1vbnRoIDw9IDExICYmIHllYXIgPiAxOTAwICYmIGRheSA+IDAgJiYgZGF5IDw9IDMxKSB7XG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgICAgaXNJbnZhbGlkRGF0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGF0ZUZvcm1hdFRva2VucyAmJiBkYXRlRm9ybWF0VG9rZW5zLmxlbmd0aCA9PT0gNCAmJiBkYXRlU3RyaW5nLmxlbmd0aCA+PSAxKSB7XG4gICAgICBjb25zdCB0d29Ub2tlbnMgPSAvXFxkezEsNH0oXFwvfFxcLnxcXC0pKFxcZHsxLDJ9KS8uZXhlYyhkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IG9uZVRva2VuID0gL14oXFxkezEsNH0pJC8uZXhlYyhkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IGRlbGltaXRlciA9IC9cXHcrKFxcL3xcXC58XFwtKVxcdytbXFwvfFxcLnxcXC1dXFx3Ky9naS5leGVjKGRhdGVGb3JtYXQpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZ1dpdGhEZWxpbWl0ZXIgPSBkYXRlU3RyaW5nW2RhdGVTdHJpbmcubGVuZ3RoIC0gMV0ubWF0Y2goL1xcL3xcXC58XFwtLyk7XG4gICAgICBpZiAoKHR3b1Rva2VucyAmJiB0d29Ub2tlbnMubGVuZ3RoID09PSAzICYmIHRoaXMuaXNWYWxpZERhdGVQYXJ0KHR3b1Rva2Vuc1syXSwgZGF0ZUZvcm1hdFRva2Vuc1syXSkgJiYgIWRhdGVTdHJpbmdXaXRoRGVsaW1pdGVyKSB8fFxuICAgICAgICAob25lVG9rZW4gJiYgb25lVG9rZW4ubGVuZ3RoID09PSAyICYmIHRoaXMuaXNWYWxpZERhdGVQYXJ0KG9uZVRva2VuWzFdLCBkYXRlRm9ybWF0VG9rZW5zWzFdKSAmJiAhZGF0ZVN0cmluZ1dpdGhEZWxpbWl0ZXIpKSB7XG4gICAgICAgIGRhdGVTdHJpbmcgPSBgJHtkYXRlU3RyaW5nfSR7ZGVsaW1pdGVyWzFdfWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbZGF0ZSwgZGF0ZVN0cmluZywgaXNJbnZhbGlkRGF0ZV07XG4gIH1cblxuICBwYXJzZVRpbWVTdHJpbmcodGltZVN0cmluZzogc3RyaW5nLCBtaWxpdGFyeVRpbWU6IGJvb2xlYW4pOiBbRGF0ZSwgc3RyaW5nXSB7XG4gICAgY29uc3QgdmFsdWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCB0aW1lU3RyaW5nUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgbGV0IGFtRm9ybWF0ID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdEFNO1xuICAgIGxldCBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTTtcbiAgICBpZiAoISh0aW1lU3RyaW5nPy5pbmNsdWRlcygnOicpKSkge1xuICAgICAgcmV0dXJuIFt2YWx1ZSwgdGltZVN0cmluZ107XG4gICAgfVxuICAgIGlmICghbWlsaXRhcnlUaW1lICYmIGFtRm9ybWF0ICYmIHBtRm9ybWF0KSB7XG4gICAgICBsZXQgc3BsaXRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICBsZXQgcG06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgIGFtRm9ybWF0ID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdEFNLnRvTG93ZXJDYXNlKCk7XG4gICAgICBwbUZvcm1hdCA9IHRoaXMubGFiZWxzLnRpbWVGb3JtYXRQTS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGltZVN0cmluZyA9IHRpbWVTdHJpbmcudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmICh0aW1lU3RyaW5nLmluY2x1ZGVzKGFtRm9ybWF0KSkge1xuICAgICAgICBzcGxpdHMgPSB0aW1lU3RyaW5nLnNwbGl0KGFtRm9ybWF0KTtcbiAgICAgIH0gZWxzZSBpZiAodGltZVN0cmluZy5pbmNsdWRlcyhwbUZvcm1hdCkpIHtcbiAgICAgICAgc3BsaXRzID0gdGltZVN0cmluZy5zcGxpdChwbUZvcm1hdCk7XG4gICAgICAgIHBtID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChzcGxpdHM/Lmxlbmd0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc3BsaXRzKSB7XG4gICAgICAgICAgaWYgKGl0ZW0/LnRyaW0oKS5pbmNsdWRlcygnOicpKSB7XG4gICAgICAgICAgICB0aW1lU3RyaW5nUGFydHMgPSBpdGVtLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRpbWVTdHJpbmdQYXJ0cz8ubGVuZ3RoICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgbGV0IGhvdXJzOiBudW1iZXIgPSBwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMF0sIDEwKTtcbiAgICAgICAgaWYgKGhvdXJzID09PSAxMiAmJiBwbSkge1xuICAgICAgICAgIGhvdXJzID0gMTI7XG4gICAgICAgIH0gZWxzZSBpZiAocG0pIHtcbiAgICAgICAgICBob3VycyA9IGhvdXJzICsgMTI7XG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgaG91cnMgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlLnNldEhvdXJzKGhvdXJzKTtcbiAgICAgICAgdmFsdWUuc2V0TWludXRlcyhwYXJzZUludCh0aW1lU3RyaW5nUGFydHNbMV0sIDEwKSk7XG4gICAgICAgIHZhbHVlLnNldFNlY29uZHMoMCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpbWVTdHJpbmdQYXJ0cyA9IC8oXFxkezEsMn0pOihcXGR7Mn0pLy5leGVjKHRpbWVTdHJpbmcpO1xuICAgICAgaWYgKHRpbWVTdHJpbmdQYXJ0cz8ubGVuZ3RoICYmIHRpbWVTdHJpbmdQYXJ0cy5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgdmFsdWUuc2V0SG91cnMocGFyc2VJbnQodGltZVN0cmluZ1BhcnRzWzFdLCAxMCkpO1xuICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHBhcnNlSW50KHRpbWVTdHJpbmdQYXJ0c1syXSwgMTApKTtcbiAgICAgICAgdmFsdWUuc2V0U2Vjb25kcygwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFt2YWx1ZSwgdGltZVN0cmluZ107XG4gIH1cblxuICBwYXJzZVN0cmluZyhkYXRlVGltZVN0cmluZzogc3RyaW5nLCBtaWxpdGFyeVRpbWU6IGJvb2xlYW4sIHR5cGU6IHN0cmluZyk6IFtEYXRlLCBzdHJpbmcsIGJvb2xlYW4/XSB7XG4gICAgaWYgKCEoZGF0ZVRpbWVTdHJpbmc/Lmxlbmd0aCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcbiAgICAgICAgY29uc3Qgc3RyID0gZGF0ZVRpbWVTdHJpbmcucmVwbGFjZSgvLS9nLCAnLycpO1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHN0ci5zcGxpdCgnICcpO1xuICAgICAgICBjb25zdCBbZHQsIGR0c10gPSB0aGlzLnBhcnNlRGF0ZVN0cmluZyhwYXJ0c1swXSk7XG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgY29uc3QgW3RtLCB0bXNdID0gdGhpcy5wYXJzZVRpbWVTdHJpbmcocGFydHNbMV0sIG1pbGl0YXJ5VGltZSk7XG4gICAgICAgICAgcmV0dXJuIFtuZXcgRGF0ZShkdC5zZXRIb3Vycyh0bS5nZXRIb3VycygpLCB0bS5nZXRNaW51dGVzKCkpKSwgYCR7ZHRzfSAke3Rtc31gXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2R0LCBkdHNdO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRGF0ZVN0cmluZyhkYXRlVGltZVN0cmluZyk7XG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUaW1lU3RyaW5nKGRhdGVUaW1lU3RyaW5nLCBtaWxpdGFyeVRpbWUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGNvbnZlcnRUaW1lMTJ0bzI0KHRpbWUxMmg6IHN0cmluZykge1xuICAgIGNvbnN0IHBtRm9ybWF0ID0gdGhpcy5sYWJlbHMudGltZUZvcm1hdFBNLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBjb25zdCBbdGltZSwgbW9kaWZpZXJdID0gdGltZTEyaC5zcGxpdCgnICcpO1xuICAgIGxldCBbaG91cnMsIG1pbnV0ZXNdID0gdGltZS5zcGxpdCgnOicpO1xuICAgIGlmIChob3VycyA9PT0gJzEyJykge1xuICAgICAgaG91cnMgPSAnMDAnO1xuICAgIH1cbiAgICBpZiAoWydQTScsIHBtRm9ybWF0XS5pbmNsdWRlcyhtb2RpZmllcikpIHtcbiAgICAgIGhvdXJzID0gYCR7cGFyc2VJbnQoaG91cnMsIDEwKSArIDEyfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9YDtcbiAgfVxuXG4gIGlzVmFsaWREYXRlUGFydCh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRhdGVQYXJ0ID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICByZXR1cm4gKChmb3JtYXQuaW5jbHVkZXMoJ20nKSAmJiAoZGF0ZVBhcnQgPj0gMiB8fCB2YWx1ZS5sZW5ndGggPT09IDIpKSB8fFxuICAgICAgKGZvcm1hdC5pbmNsdWRlcygnZCcpICYmIChkYXRlUGFydCA+PSA0IHx8IHZhbHVlLmxlbmd0aCA9PT0gMikpIHx8XG4gICAgICAoZm9ybWF0LmluY2x1ZGVzKCd5JykgJiYgZGF0ZVBhcnQgPj0gMTAwMCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,9 @@ export class BrowserGlobalRef extends GlobalRef {
|
|
|
6
6
|
get nativeGlobal() {
|
|
7
7
|
return window;
|
|
8
8
|
}
|
|
9
|
+
get nativeWindow() {
|
|
10
|
+
return window;
|
|
11
|
+
}
|
|
9
12
|
}
|
|
10
13
|
BrowserGlobalRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BrowserGlobalRef, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
14
|
BrowserGlobalRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BrowserGlobalRef });
|
|
@@ -17,5 +20,8 @@ export class NodeGlobalRef extends GlobalRef {
|
|
|
17
20
|
throw new Error(`global doesn't compile for some reason`);
|
|
18
21
|
// return global as Global;
|
|
19
22
|
}
|
|
23
|
+
get nativeWindow() {
|
|
24
|
+
throw new Error('Node does not have a window object');
|
|
25
|
+
}
|
|
20
26
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9zZXJ2aWNlcy9nbG9iYWwvZ2xvYmFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFnQixTQUFTO0NBRzlCO0FBR0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDN0MsSUFBSSxZQUFZO1FBQ2QsT0FBTyxNQUFnQixDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4R0FOVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOztBQVNYLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUMxQyxJQUFJLFlBQVk7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDMUQsMkJBQTJCO0lBQzdCLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbCB7fVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2xvYmFsUmVmIHtcbiAgYWJzdHJhY3QgZ2V0IG5hdGl2ZUdsb2JhbCgpOiBHbG9iYWw7XG4gIGFic3RyYWN0IGdldCBuYXRpdmVXaW5kb3coKTogV2luZG93O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnJvd3Nlckdsb2JhbFJlZiBleHRlbmRzIEdsb2JhbFJlZiB7XG4gIGdldCBuYXRpdmVHbG9iYWwoKTogR2xvYmFsIHtcbiAgICByZXR1cm4gd2luZG93IGFzIEdsb2JhbDtcbiAgfVxuICBnZXQgbmF0aXZlV2luZG93KCk6IFdpbmRvdyB7XG4gICAgcmV0dXJuIHdpbmRvdztcbiAgfVxufVxuZXhwb3J0IGNsYXNzIE5vZGVHbG9iYWxSZWYgZXh0ZW5kcyBHbG9iYWxSZWYge1xuICBnZXQgbmF0aXZlR2xvYmFsKCk6IEdsb2JhbCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBnbG9iYWwgZG9lc24ndCBjb21waWxlIGZvciBzb21lIHJlYXNvbmApO1xuICAgIC8vIHJldHVybiBnbG9iYWwgYXMgR2xvYmFsO1xuICB9XG4gIGdldCBuYXRpdmVXaW5kb3coKTogV2luZG93IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vZGUgZG9lcyBub3QgaGF2ZSBhIHdpbmRvdyBvYmplY3QnKTtcbiAgfVxufVxuIl19
|
|
@@ -158,4 +158,4 @@ export class DateUtil {
|
|
|
158
158
|
return isAfter(date, maxDate);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3V0aWxzL2RhdGUvRGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQU8sd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQ2xGLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUN6RSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRTs7Ozs7Ozs7Ozs7O0lBWUk7QUFDSixNQUFNLE9BQU8sUUFBUTtJQUNqQixNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBYztRQUNwQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQXFCO1FBQzdDLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQzlCLE9BQU8sT0FBYyxDQUFDO1NBQ3pCO2FBQU07WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFTLEVBQUUsT0FBNEI7UUFDaEQsT0FBTyxXQUFXLENBQUMs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Q0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjO1FBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBYyxFQUFFLE9BQWU7UUFDN0MsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBYyxFQUFFLEtBQWE7UUFDekMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBYyxFQUFFLE9BQXNCO1FBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxPQUFzQjtRQUNqRCxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGREYXlzLCBhZGRNb250aHMsIGFkZFdlZWtzLCBEYXksIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cywgZGlmZmVyZW5jZUluRGF5cyxcbiAgICBkaWZmZXJlbmNlSW5TZWNvbmRzLCBlbmRPZkRheSwgZW5kT2ZNb250aCwgZW5kT2ZXZWVrLCBmb3JtYXQsIGdldE1vbnRoLCBnZXRZZWFyLFxuICAgIGlzQWZ0ZXIsIGlzQmVmb3JlLCBpc1NhbWVEYXksIGlzU2FtZU1vbnRoLCBpc1NhbWVTZWNvbmQsIGlzV2l0aGluSW50ZXJ2YWwsIHBhcnNlLFxuICAgIHNldEhvdXJzLCBzZXRNaW51dGVzLCBzdGFydE9mRGF5LCBzdGFydE9mTWludXRlLCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL0hlbHBlcnMnO1xuaW1wb3J0IHsgY29udmVydFRva2VucyB9IGZyb20gJy4vY29udmVydC10b2tlbnMnO1xuaW1wb3J0IHsgbGVnYWN5UGFyc2UsIExlZ2FjeVBhcnNlT3B0aW9ucyB9IGZyb20gJy4vbGVnYWN5LXBhcnNlJztcblxudHlwZSBEYXRlTGlrZSA9IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG5cbi8qKlxuICogVGhpcyBEYXRlVXRpbCBpcyBhIHdyYXBwZXIgZm9yIGNhbGxpbmcgbmV3IGRhdGUtZm5zIHYyIGZ1bmN0aW9ucyB3aXRoIGV4aXN0aW5nIGxlZ2FjeVxuICogdjEgZnVuY3Rpb24gY2FsbHMgd2l0aG91dCBoYXZpbmcgdG8gcmVmYWN0b3IgdG9vIG11Y2ggY29kZSBhbmQgcG90ZW50aWFsbHkgaW50cm9kdWNlXG4gKiBicmVha2luZyBjaGFuZ2VzLlxuICpcbiAqIFRoZSBvbGQgY2FsbHMgZ2VuZXJhbGx5IGNhbGxlZCBkYXRlLWZucyBmdW5jdGlvbnMgd2l0aCBsb29zZWx5LXR5cGVkIGRhdGUgdmFsdWVzLCBvZnRlblxuICogb2YgdHlwZSBEYXRlTGlrZSAoRGF0ZSB8IHN0cmluZyB8IG51bWJlcikuIFRoaXMgd2FzIGEgcHJvYmxlbSB3aGVuIHVwZ3JhZGluZyB0byBkYXRlLWZuc1xuICogdjIgc2luY2UgZnVuY3Rpb25zIGFyZSBub3cgdHlwZWQgbW9yZSBzdHJvbmdseSBhbmQgbm8gbG9uZ2VyIGFjY2VwdCBzdHJpbmdzLlxuICpcbiAqIElmIHlvdSBhcmUgYWRkaW5nIGEgbmV3IGNvbXBvbmVudC9mZWF0dXJlIGFuZCBsb29raW5nIGhlcmUgdG8gYWRkIGEgbmV3IGRhdGUtZm5zIHdyYXBwZXJcbiAqIGZ1bmN0aW9uLCBzdHJvbmdseSBjb25zaWRlciBub3QgZG9pbmcgdGhhdCBhbmQgaW5zdGVhZCByZWZhY3RvcmluZyB5b3VyIGNvZGUgdG8gbm90IHVzZVxuICogRGF0ZUxpa2UsIGFuZCBjYWxsaW5nIHRoZSBkYXRlLWZucyBmdW5jdGlvbihzKSBkaXJlY3RseS5cbiAqKi9cbmV4cG9ydCBjbGFzcyBEYXRlVXRpbCB7XG4gICAgc3RhdGljIGdldERhdGVGcm9tQW55VHlwZShkYXRlOiBEYXRlTGlrZSk6IERhdGUgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gbGVnYWN5UGFyc2UoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFdlZWtEYXlGcm9tTnVtYmVyKHdlZWtEYXk6IG51bWJlciB8IERheSk6IERheSB7XG4gICAgICAgIGlmICgwIDw9IHdlZWtEYXkgJiYgd2Vla0RheSA8PSA2KSB7XG4gICAgICAgICAgICByZXR1cm4gd2Vla0RheSBhcyBEYXk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgd2Vla0RheSB2YWx1ZTonLCB3ZWVrRGF5KTtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIHBhcnNlKGRhdGU6IGFueSwgb3B0aW9ucz86IExlZ2FjeVBhcnNlT3B0aW9ucyk6IERhdGUge1xuICAgICAgICByZXR1cm4gbGVnYWN5UGFyc2UoZGF0ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZvcm1hdChkYXRlLCBmb3JtYXRTdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIGZvcm1hdFN0cmluZyA9IGNvbnZlcnRUb2tlbnMoZm9ybWF0U3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIGZvcm1hdChkYXRlLCBmb3JtYXRTdHJpbmcpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhZGREYXlzKGRhdGUsIGRheXM6IG51bWJlcik6IERhdGUge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBhZGREYXlzKGRhdGUsIGRheXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhZGRXZWVrcyhkYXRlLCB3ZWVrczogbnVtYmVyKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGFkZFdlZWtzKGRhdGUsIHdlZWtzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYWRkTW9udGhzKGRhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGFkZE1vbnRocyhkYXRlLCBtb250aHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzdGFydE9mTWludXRlKGRhdGU6IERhdGVMaWtlKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZNaW51dGUoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHN0YXJ0T2ZEYXkoZGF0ZTogRGF0ZUxpa2UpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gc3RhcnRPZkRheShkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc3RhcnRPZldlZWsoZGF0ZTogRGF0ZUxpa2UsIG9wdGlvbnM/KTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgaWYgKG9wdGlvbnM/LndlZWtTdGFydHNPbikge1xuICAgICAgICAgICAgb3B0aW9ucy53ZWVrU3RhcnRzT24gPSB0aGlzLmdldFdlZWtEYXlGcm9tTnVtYmVyKG9wdGlvbnMud2Vla1N0YXJ0c09uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RhcnRPZldlZWsoZGF0ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHN0YXJ0T2ZNb250aChkYXRlOiBEYXRlTGlrZSk6IERhdGUge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGVuZE9mRGF5KGRhdGU6IERhdGVMaWtlKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGVuZE9mRGF5KGRhdGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBlbmRPZldlZWsoZGF0ZTogRGF0ZUxpa2UsIG9wdGlvbnM/KTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgaWYgKG9wdGlvbnM/LndlZWtTdGFydHNPbikge1xuICAgICAgICAgICAgb3B0aW9ucy53ZWVrU3RhcnRzT24gPSB0aGlzLmdldFdlZWtEYXlGcm9tTnVtYmVyKG9wdGlvbnMud2Vla1N0YXJ0c09uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kT2ZXZWVrKGRhdGUsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBlbmRPZk1vbnRoKGRhdGU6IERhdGVMaWtlKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGVuZE9mTW9udGgoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2FtZURheShkYXRlTGVmdDogRGF0ZUxpa2UsIGRhdGVSaWdodDogRGF0ZUxpa2UpOiBib29sZWFuIHtcbiAgICAgICAgZGF0ZUxlZnQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlTGVmdCk7XG4gICAgICAgIGRhdGVSaWdodCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGVSaWdodCk7XG4gICAgICAgIHJldHVybiBpc1NhbWVEYXkoZGF0ZUxlZnQsIGRhdGVSaWdodCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2FtZU1vbnRoKGRhdGVMZWZ0OiBEYXRlTGlrZSwgZGF0ZVJpZ2h0OiBEYXRlTGlrZSk6IGJvb2xlYW4ge1xuICAgICAgICBkYXRlTGVmdCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGVMZWZ0KTtcbiAgICAgICAgZGF0ZVJpZ2h0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZVJpZ2h0KTtcbiAgICAgICAgcmV0dXJuIGlzU2FtZU1vbnRoKGRhdGVMZWZ0LCBkYXRlUmlnaHQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc1NhbWVTZWNvbmQoZGF0ZUxlZnQ6IERhdGVMaWtlLCBkYXRlUmlnaHQ6IERhdGVMaWtlKTogYm9vbGVhbiB7XG4gICAgICAgIGRhdGVMZWZ0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZUxlZnQpO1xuICAgICAgICBkYXRlUmlnaHQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlUmlnaHQpO1xuICAgICAgICByZXR1cm4gaXNTYW1lU2Vjb25kKGRhdGVMZWZ0LCBkYXRlUmlnaHQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBkaWZmZXJlbmNlSW5TZWNvbmRzKGRhdGU6IERhdGVMaWtlLCBzdGFydDogRGF0ZUxpa2UpOiBudW1iZXIge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHN0YXJ0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoc3RhcnQpO1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluU2Vjb25kcyhkYXRlLCBzdGFydCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlOiBEYXRlTGlrZSwgc3RhcnQ6IERhdGVMaWtlKTogbnVtYmVyIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICBzdGFydCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKHN0YXJ0KTtcbiAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlLCBzdGFydCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpZmZlcmVuY2VJbkRheXMoZGF0ZTogRGF0ZUxpa2UsIHN0YXJ0OiBEYXRlTGlrZSk6IG51bWJlciB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgc3RhcnQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShzdGFydCk7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5EYXlzKGRhdGUsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNXaXRoaW5SYW5nZShkYXRlOiBEYXRlTGlrZSB8IG51bGwsIHN0YXJ0OiBEYXRlTGlrZSwgZW5kOiBEYXRlTGlrZSk6IGJvb2xlYW4ge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIGNvbnN0IGludGVydmFsID0ge1xuICAgICAgICAgICAgc3RhcnQ6IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKHN0YXJ0KSxcbiAgICAgICAgICAgIGVuZDogdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZW5kKSxcbiAgICAgICAgfTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogTmVlZCBleHRyYSBlcnJvciBoYW5kbGluZyBoZXJlIHRvIHJldGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBiZWNhdXNlIHRoZSBuZXdcbiAgICAgICAgICogaXNXaXRoaW5JbnRlcnZhbCByZXBsYWNlbWVudCBmdW5jdGlvbiB0aHJvd3MgYW4gZXJyb3IgZm9yIEludmFsaWQgRGF0ZXMgYW5kIEludmFsaWRcbiAgICAgICAgICogSW50ZXJ2YWxzIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRydWUgb3IgZmFsc2UuXG4gICAgICAgICAqKi9cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gaXNXaXRoaW5JbnRlcnZhbChkYXRlLCBpbnRlcnZhbCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oZS50b1N0cmluZygpKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0TW9udGgoZGF0ZTogRGF0ZUxpa2UpOiBudW1iZXIge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBnZXRNb250aChkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0WWVhcihkYXRlOiBEYXRlTGlrZSk6IG51bWJlciB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGdldFllYXIoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNldE1pbnV0ZXMoZGF0ZTogRGF0ZUxpa2UsIG1pbnV0ZXM6IG51bWJlcikge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBzZXRNaW51dGVzKGRhdGUsIG1pbnV0ZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzZXRIb3VycyhkYXRlOiBEYXRlTGlrZSwgaG91cnM6IG51bWJlcikge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBzZXRIb3VycyhkYXRlLCBob3Vycyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzQmVmb3JlKGRhdGU6IERhdGVMaWtlLCBtaW5EYXRlOiBEYXRlIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGlzQmVmb3JlKGRhdGUsIG1pbkRhdGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc0FmdGVyKGRhdGU6IERhdGVMaWtlLCBtYXhEYXRlOiBEYXRlIHwgbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGlzQWZ0ZXIoZGF0ZSwgbWF4RGF0ZSk7XG4gICAgfVxufVxuIl19
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL3V0aWxzL2RhdGUvRGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQzVCLHdCQUF3QixFQUFFLGdCQUFnQixFQUMxQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFDekUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQzdFLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFOzs7Ozs7Ozs7Ozs7SUFZSTtBQUNKLE1BQU0sT0FBTyxRQUFRO0lBQ2pCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFjO1FBQ3BDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBcUI7UUFDN0MsSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxPQUFjLENBQUM7U0FDekI7YUFBTTtZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLENBQUM7U0FDWjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVMsRUFBRSxPQUE0QjtRQUNoRCxPQUFPLFdBQVcsQ0FB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SSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWM7UUFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFjLEVBQUUsT0FBZTtRQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjLEVBQUUsS0FBYTtRQUN6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjLEVBQUUsT0FBc0I7UUFDbEQsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLE9BQXNCO1FBQ2pELElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGF5LFxuICAgIGFkZERheXMsIGFkZE1vbnRocywgYWRkV2Vla3MsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLCBkaWZmZXJlbmNlSW5EYXlzLFxuICAgIGRpZmZlcmVuY2VJblNlY29uZHMsIGVuZE9mRGF5LCBlbmRPZk1vbnRoLCBlbmRPZldlZWssIGZvcm1hdCwgZ2V0TW9udGgsIGdldFllYXIsXG4gICAgaXNBZnRlciwgaXNCZWZvcmUsIGlzU2FtZURheSwgaXNTYW1lTW9udGgsIGlzU2FtZVNlY29uZCwgaXNXaXRoaW5JbnRlcnZhbCxcbiAgICBzZXRIb3Vycywgc2V0TWludXRlcywgc3RhcnRPZkRheSwgc3RhcnRPZk1pbnV0ZSwgc3RhcnRPZk1vbnRoLCBzdGFydE9mV2Vla1xufSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjb252ZXJ0VG9rZW5zIH0gZnJvbSAnLi9jb252ZXJ0LXRva2Vucyc7XG5pbXBvcnQgeyBMZWdhY3lQYXJzZU9wdGlvbnMsIGxlZ2FjeVBhcnNlIH0gZnJvbSAnLi9sZWdhY3ktcGFyc2UnO1xuXG50eXBlIERhdGVMaWtlID0gRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcblxuLyoqXG4gKiBUaGlzIERhdGVVdGlsIGlzIGEgd3JhcHBlciBmb3IgY2FsbGluZyBuZXcgZGF0ZS1mbnMgdjIgZnVuY3Rpb25zIHdpdGggZXhpc3RpbmcgbGVnYWN5XG4gKiB2MSBmdW5jdGlvbiBjYWxscyB3aXRob3V0IGhhdmluZyB0byByZWZhY3RvciB0b28gbXVjaCBjb2RlIGFuZCBwb3RlbnRpYWxseSBpbnRyb2R1Y2VcbiAqIGJyZWFraW5nIGNoYW5nZXMuXG4gKlxuICogVGhlIG9sZCBjYWxscyBnZW5lcmFsbHkgY2FsbGVkIGRhdGUtZm5zIGZ1bmN0aW9ucyB3aXRoIGxvb3NlbHktdHlwZWQgZGF0ZSB2YWx1ZXMsIG9mdGVuXG4gKiBvZiB0eXBlIERhdGVMaWtlIChEYXRlIHwgc3RyaW5nIHwgbnVtYmVyKS4gVGhpcyB3YXMgYSBwcm9ibGVtIHdoZW4gdXBncmFkaW5nIHRvIGRhdGUtZm5zXG4gKiB2MiBzaW5jZSBmdW5jdGlvbnMgYXJlIG5vdyB0eXBlZCBtb3JlIHN0cm9uZ2x5IGFuZCBubyBsb25nZXIgYWNjZXB0IHN0cmluZ3MuXG4gKlxuICogSWYgeW91IGFyZSBhZGRpbmcgYSBuZXcgY29tcG9uZW50L2ZlYXR1cmUgYW5kIGxvb2tpbmcgaGVyZSB0byBhZGQgYSBuZXcgZGF0ZS1mbnMgd3JhcHBlclxuICogZnVuY3Rpb24sIHN0cm9uZ2x5IGNvbnNpZGVyIG5vdCBkb2luZyB0aGF0IGFuZCBpbnN0ZWFkIHJlZmFjdG9yaW5nIHlvdXIgY29kZSB0byBub3QgdXNlXG4gKiBEYXRlTGlrZSwgYW5kIGNhbGxpbmcgdGhlIGRhdGUtZm5zIGZ1bmN0aW9uKHMpIGRpcmVjdGx5LlxuICoqL1xuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcbiAgICBzdGF0aWMgZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGU6IERhdGVMaWtlKTogRGF0ZSB8IG51bWJlciB7XG4gICAgICAgIHJldHVybiBsZWdhY3lQYXJzZShkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0V2Vla0RheUZyb21OdW1iZXIod2Vla0RheTogbnVtYmVyIHwgRGF5KTogRGF5IHtcbiAgICAgICAgaWYgKDAgPD0gd2Vla0RheSAmJiB3ZWVrRGF5IDw9IDYpIHtcbiAgICAgICAgICAgIHJldHVybiB3ZWVrRGF5IGFzIERheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCB3ZWVrRGF5IHZhbHVlOicsIHdlZWtEYXkpO1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcGFyc2UoZGF0ZTogYW55LCBvcHRpb25zPzogTGVnYWN5UGFyc2VPcHRpb25zKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiBsZWdhY3lQYXJzZShkYXRlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9ybWF0KGRhdGUsIGZvcm1hdFN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgZm9ybWF0U3RyaW5nID0gY29udmVydFRva2Vucyhmb3JtYXRTdHJpbmcpO1xuICAgICAgICByZXR1cm4gZm9ybWF0KGRhdGUsIGZvcm1hdFN0cmluZyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFkZERheXMoZGF0ZSwgZGF5czogbnVtYmVyKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGFkZERheXMoZGF0ZSwgZGF5cyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFkZFdlZWtzKGRhdGUsIHdlZWtzOiBudW1iZXIpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gYWRkV2Vla3MoZGF0ZSwgd2Vla3MpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhZGRNb250aHMoZGF0ZSwgbW9udGhzOiBudW1iZXIpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gYWRkTW9udGhzKGRhdGUsIG1vbnRocyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHN0YXJ0T2ZNaW51dGUoZGF0ZTogRGF0ZUxpa2UpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gc3RhcnRPZk1pbnV0ZShkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc3RhcnRPZkRheShkYXRlOiBEYXRlTGlrZSk6IERhdGUge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHJldHVybiBzdGFydE9mRGF5KGRhdGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzdGFydE9mV2VlayhkYXRlOiBEYXRlTGlrZSwgb3B0aW9ucz8pOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICBpZiAob3B0aW9ucz8ud2Vla1N0YXJ0c09uKSB7XG4gICAgICAgICAgICBvcHRpb25zLndlZWtTdGFydHNPbiA9IHRoaXMuZ2V0V2Vla0RheUZyb21OdW1iZXIob3B0aW9ucy53ZWVrU3RhcnRzT24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGFydE9mV2VlayhkYXRlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc3RhcnRPZk1vbnRoKGRhdGU6IERhdGVMaWtlKTogRGF0ZSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZNb250aChkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZW5kT2ZEYXkoZGF0ZTogRGF0ZUxpa2UpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gZW5kT2ZEYXkoZGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGVuZE9mV2VlayhkYXRlOiBEYXRlTGlrZSwgb3B0aW9ucz8pOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICBpZiAob3B0aW9ucz8ud2Vla1N0YXJ0c09uKSB7XG4gICAgICAgICAgICBvcHRpb25zLndlZWtTdGFydHNPbiA9IHRoaXMuZ2V0V2Vla0RheUZyb21OdW1iZXIob3B0aW9ucy53ZWVrU3RhcnRzT24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmRPZldlZWsoZGF0ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGVuZE9mTW9udGgoZGF0ZTogRGF0ZUxpa2UpOiBEYXRlIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gZW5kT2ZNb250aChkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNTYW1lRGF5KGRhdGVMZWZ0OiBEYXRlTGlrZSwgZGF0ZVJpZ2h0OiBEYXRlTGlrZSk6IGJvb2xlYW4ge1xuICAgICAgICBkYXRlTGVmdCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGVMZWZ0KTtcbiAgICAgICAgZGF0ZVJpZ2h0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZVJpZ2h0KTtcbiAgICAgICAgcmV0dXJuIGlzU2FtZURheShkYXRlTGVmdCwgZGF0ZVJpZ2h0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNTYW1lTW9udGgoZGF0ZUxlZnQ6IERhdGVMaWtlLCBkYXRlUmlnaHQ6IERhdGVMaWtlKTogYm9vbGVhbiB7XG4gICAgICAgIGRhdGVMZWZ0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZUxlZnQpO1xuICAgICAgICBkYXRlUmlnaHQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlUmlnaHQpO1xuICAgICAgICByZXR1cm4gaXNTYW1lTW9udGgoZGF0ZUxlZnQsIGRhdGVSaWdodCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzU2FtZVNlY29uZChkYXRlTGVmdDogRGF0ZUxpa2UsIGRhdGVSaWdodDogRGF0ZUxpa2UpOiBib29sZWFuIHtcbiAgICAgICAgZGF0ZUxlZnQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlTGVmdCk7XG4gICAgICAgIGRhdGVSaWdodCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGVSaWdodCk7XG4gICAgICAgIHJldHVybiBpc1NhbWVTZWNvbmQoZGF0ZUxlZnQsIGRhdGVSaWdodCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpZmZlcmVuY2VJblNlY29uZHMoZGF0ZTogRGF0ZUxpa2UsIHN0YXJ0OiBEYXRlTGlrZSk6IG51bWJlciB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgc3RhcnQgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShzdGFydCk7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5TZWNvbmRzKGRhdGUsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGU6IERhdGVMaWtlLCBzdGFydDogRGF0ZUxpa2UpOiBudW1iZXIge1xuICAgICAgICBkYXRlID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoZGF0ZSk7XG4gICAgICAgIHN0YXJ0ID0gdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoc3RhcnQpO1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGUsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZGlmZmVyZW5jZUluRGF5cyhkYXRlOiBEYXRlTGlrZSwgc3RhcnQ6IERhdGVMaWtlKTogbnVtYmVyIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICBzdGFydCA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKHN0YXJ0KTtcbiAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkRheXMoZGF0ZSwgc3RhcnQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpc1dpdGhpblJhbmdlKGRhdGU6IERhdGVMaWtlIHwgbnVsbCwgc3RhcnQ6IERhdGVMaWtlLCBlbmQ6IERhdGVMaWtlKTogYm9vbGVhbiB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSB7XG4gICAgICAgICAgICBzdGFydDogdGhpcy5nZXREYXRlRnJvbUFueVR5cGUoc3RhcnQpLFxuICAgICAgICAgICAgZW5kOiB0aGlzLmdldERhdGVGcm9tQW55VHlwZShlbmQpLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBOZWVkIGV4dHJhIGVycm9yIGhhbmRsaW5nIGhlcmUgdG8gcmV0YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJlY2F1c2UgdGhlIG5ld1xuICAgICAgICAgKiBpc1dpdGhpbkludGVydmFsIHJlcGxhY2VtZW50IGZ1bmN0aW9uIHRocm93cyBhbiBlcnJvciBmb3IgSW52YWxpZCBEYXRlcyBhbmQgSW52YWxpZFxuICAgICAgICAgKiBJbnRlcnZhbHMgaW5zdGVhZCBvZiByZXR1cm5pbmcgdHJ1ZSBvciBmYWxzZS5cbiAgICAgICAgICoqL1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBpc1dpdGhpbkludGVydmFsKGRhdGUsIGludGVydmFsKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihlLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRNb250aChkYXRlOiBEYXRlTGlrZSk6IG51bWJlciB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIGdldE1vbnRoKGRhdGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRZZWFyKGRhdGU6IERhdGVMaWtlKTogbnVtYmVyIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gZ2V0WWVhcihkYXRlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0TWludXRlcyhkYXRlOiBEYXRlTGlrZSwgbWludXRlczogbnVtYmVyKSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIHNldE1pbnV0ZXMoZGF0ZSwgbWludXRlcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNldEhvdXJzKGRhdGU6IERhdGVMaWtlLCBob3VyczogbnVtYmVyKSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmdldERhdGVGcm9tQW55VHlwZShkYXRlKTtcbiAgICAgICAgcmV0dXJuIHNldEhvdXJzKGRhdGUsIGhvdXJzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNCZWZvcmUoZGF0ZTogRGF0ZUxpa2UsIG1pbkRhdGU6IERhdGUgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gaXNCZWZvcmUoZGF0ZSwgbWluRGF0ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzQWZ0ZXIoZGF0ZTogRGF0ZUxpa2UsIG1heERhdGU6IERhdGUgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZ2V0RGF0ZUZyb21BbnlUeXBlKGRhdGUpO1xuICAgICAgICByZXR1cm4gaXNBZnRlcihkYXRlLCBtYXhEYXRlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './convert-tokens';
|
|
2
1
|
export * from './Date';
|
|
3
2
|
export * from './Date.types';
|
|
3
|
+
export * from './convert-tokens';
|
|
4
4
|
export * from './legacy-parse';
|
|
5
|
-
|
|
5
|
+
export * from './timezone-support';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy91dGlscy9kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9EYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vRGF0ZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnQtdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGVnYWN5LXBhcnNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZXpvbmUtc3VwcG9ydCc7XG5cbiJdfQ==
|