@hitsoft/abp.kadooglu 1.0.2 → 1.0.4

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.
Files changed (22) hide show
  1. package/README.md +24 -24
  2. package/esm2020/config/enums/index.mjs +1 -1
  3. package/esm2020/config/providers/index.mjs +1 -1
  4. package/esm2020/config/public-api.mjs +1 -1
  5. package/esm2020/lib/components/kadooglu.component.mjs +1 -1
  6. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.mjs +85 -23
  7. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.mjs +44 -4
  8. package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.mjs +8 -3
  9. package/esm2020/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.mjs +4 -1
  10. package/esm2020/lib/services/kadooglu.service.mjs +1 -1
  11. package/esm2020/lib/services/scale-signalr.service.mjs +61 -0
  12. package/esm2020/lib/shared/hit-modal/hit-modal.component.mjs +3 -3
  13. package/fesm2015/hitsoft-abp.kadooglu.mjs +214 -38
  14. package/fesm2015/hitsoft-abp.kadooglu.mjs.map +1 -1
  15. package/fesm2020/hitsoft-abp.kadooglu.mjs +204 -38
  16. package/fesm2020/hitsoft-abp.kadooglu.mjs.map +1 -1
  17. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.d.ts +24 -14
  18. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.d.ts +6 -0
  19. package/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.d.ts +5 -0
  20. package/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.d.ts +3 -0
  21. package/lib/services/scale-signalr.service.d.ts +20 -0
  22. package/package.json +1 -1
@@ -24,6 +24,11 @@ export class HitFactoryEntryListComponent {
24
24
  this.showForm = false;
25
25
  this.disabledIdColumn = false;
26
26
  this.selectedRecord = null;
27
+ this.factoryStatusFilterDataSource = [
28
+ { value: 'inside', text: 'Giriş Yaptı' },
29
+ { value: 'exited', text: 'Çıkış Yaptı' },
30
+ ];
31
+ this.calcFactoryStatus = (row) => row.u_ExitDate ? 'exited' : 'inside';
27
32
  }
28
33
  ngOnInit() {
29
34
  this.vehicleTypeService.getList().subscribe(types => {
@@ -161,12 +166,12 @@ export class HitFactoryEntryListComponent {
161
166
  }
162
167
  }
163
168
  HitFactoryEntryListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryListComponent, deps: [{ token: i1.ConfirmationService }, { token: i2.HitFactoryEntryService }, { token: i3.HitVehicleTypeService }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
164
- HitFactoryEntryListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitFactoryEntryListComponent, selector: "lib-hit-factory-entry-list", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> \u00C7\u0131k\u0131\u015F Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n", styles: ["::ng-deep .dx-scrollbar-horizontal{height:8px}::ng-deep .dx-scrollbar-horizontal .dx-scrollable-scroll{height:8px}::ng-deep .dx-scrollbar-vertical{width:8px}::ng-deep .dx-scrollbar-vertical .dx-scrollable-scroll{width:8px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i6.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.HitFactoryEntryFormComponent, selector: "lib-hit-factory-entry-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
169
+ HitFactoryEntryListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitFactoryEntryListComponent, selector: "lib-hit-factory-entry-list", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> \u00C7\u0131k\u0131\u015F Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"true\"\r\n [allowHeaderFiltering]=\"true\"\r\n [calculateCellValue]=\"calcFactoryStatus\">\r\n <dxo-lookup [dataSource]=\"factoryStatusFilterDataSource\" valueExpr=\"value\" displayExpr=\"text\"></dxo-lookup>\r\n <dxo-header-filter [dataSource]=\"factoryStatusFilterDataSource\"></dxo-header-filter>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n", styles: ["::ng-deep .dx-scrollbar-horizontal{height:8px}::ng-deep .dx-scrollbar-horizontal .dx-scrollable-scroll{height:8px}::ng-deep .dx-scrollbar-vertical{width:8px}::ng-deep .dx-scrollbar-vertical .dx-scrollable-scroll{width:8px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i6.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i11.HitFactoryEntryFormComponent, selector: "lib-hit-factory-entry-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
165
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryListComponent, decorators: [{
166
171
  type: Component,
167
- args: [{ selector: 'lib-hit-factory-entry-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> \u00C7\u0131k\u0131\u015F Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n", styles: ["::ng-deep .dx-scrollbar-horizontal{height:8px}::ng-deep .dx-scrollbar-horizontal .dx-scrollable-scroll{height:8px}::ng-deep .dx-scrollbar-vertical{width:8px}::ng-deep .dx-scrollbar-vertical .dx-scrollable-scroll{width:8px}\n"] }]
172
+ args: [{ selector: 'lib-hit-factory-entry-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> \u00C7\u0131k\u0131\u015F Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"true\"\r\n [allowHeaderFiltering]=\"true\"\r\n [calculateCellValue]=\"calcFactoryStatus\">\r\n <dxo-lookup [dataSource]=\"factoryStatusFilterDataSource\" valueExpr=\"value\" displayExpr=\"text\"></dxo-lookup>\r\n <dxo-header-filter [dataSource]=\"factoryStatusFilterDataSource\"></dxo-header-filter>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n", styles: ["::ng-deep .dx-scrollbar-horizontal{height:8px}::ng-deep .dx-scrollbar-horizontal .dx-scrollable-scroll{height:8px}::ng-deep .dx-scrollbar-vertical{width:8px}::ng-deep .dx-scrollbar-vertical .dx-scrollable-scroll{width:8px}\n"] }]
168
173
  }], ctorParameters: function () { return [{ type: i1.ConfirmationService }, { type: i2.HitFactoryEntryService }, { type: i3.HitVehicleTypeService }, { type: i4.LocalizationService }]; }, propDecorators: { dataGrid: [{
169
174
  type: ViewChild,
170
175
  args: ['dataGrid', { static: false }]
171
176
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWE3RCxNQUFNLE9BQU8sNEJBQTRCO0lBWXZDLFlBQ1UsWUFBaUMsRUFDakMsT0FBK0IsRUFDL0Isa0JBQXlDLEVBQ3pDLG1CQUF3QztRQUh4QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBYmxELFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQzNDLGVBQVUsR0FBcUIsS0FBSyxDQUFDO1FBRXJDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQXdCLElBQUksQ0FBQztJQU94QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FB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RCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQztJQUVELDBCQUEwQixDQUFDLFFBQW1DO1FBQzVELE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyw4Q0FBOEM7WUFDaEQsQ0FBQyxDQUFDLGdEQUFnRCxDQUFDO0lBQ3ZELENBQUM7O3lIQXJLVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix3S0NiekMsaTNNQTBJQTsyRkQ3SGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDRCQUE0QjtxTkFLSSxRQUFRO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBEeERhdGFHcmlkQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgSGl0RmFjdG9yeUVudHJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtZmFjdG9yeS1lbnRyeS9oaXQtZmFjdG9yeS1lbnRyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFjdG9yeUVudHJ5IH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1mYWN0b3J5LWVudHJ5L21vZGVscyc7XHJcbmltcG9ydCB7IEhpdFZlaGljbGVUeXBlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQtdmVoaWNsZS10eXBlL2hpdC12ZWhpY2xlLXR5cGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1oaXQtZmFjdG9yeS1lbnRyeS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0RmFjdG9yeUVudHJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZGF0YUdyaWQnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGF0YUdyaWQhOiBEeERhdGFHcmlkQ29tcG9uZW50O1xyXG5cclxuICBhbGxEYXRhOiBGYWN0b3J5RW50cnlbXSA9IFtdO1xyXG4gIGZpbHRlcmVkRGF0YTogRmFjdG9yeUVudHJ5W10gPSBbXTtcclxuICB2ZWhpY2xlVHlwZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgZmlsdGVyTW9kZTogJ2FsbCcgfCAnaW5zaWRlJyA9ICdhbGwnO1xyXG5cclxuICBzaG93Rm9ybSA9IGZhbHNlO1xyXG4gIGRpc2FibGVkSWRDb2x1bW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZFJlY29yZDogRmFjdG9yeUVudHJ5IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IEhpdEZhY3RvcnlFbnRyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZlaGljbGVUeXBlU2VydmljZTogSGl0VmVoaWNsZVR5cGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmVoaWNsZVR5cGVTZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUodHlwZXMgPT4ge1xyXG4gICAgICB0aGlzLnZlaGljbGVUeXBlTWFwID0gbmV3IE1hcCh0eXBlcy5tYXAodCA9PiBbdC5jb2RlLCB0Lm5hbWVdKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGxvYWRMaXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsRGF0YSA9IGRhdGE7XHJcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RmlsdGVyKG1vZGU6ICdhbGwnIHwgJ2luc2lkZScpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyTW9kZSA9IG1vZGU7XHJcbiAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XHJcbiAgICB0aGlzLmRhdGFHcmlkPy5pbnN0YW5jZT8ucmVwYWludCgpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXJNb2RlID09PSAnaW5zaWRlJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuYWxsRGF0YS5maWx0ZXIoeCA9PiAheC51X0V4aXREYXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuYWxsRGF0YV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRvb2xiYXJQcmVwYXJpbmcoZTogYW55KTogdm9pZCB7XHJcbiAgICBlLnRvb2xiYXJPcHRpb25zLml0ZW1zLnVuc2hpZnQoXHJcbiAgICAgIHtcclxuICAgICAgICBsb2NhdGlvbjogJ2FmdGVyJyxcclxuICAgICAgICB3aWRnZXQ6ICdkeEJ1dHRvbicsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgaWNvbjogJ3BsdXMnLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoJ0thZG9vZ2x1OjpOZXdSZWNvcmQnKSxcclxuICAgICAgICAgIHR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHRoaXMueWVuaUtheWl0KCksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxvY2F0aW9uOiAnYmVmb3JlJyxcclxuICAgICAgICB3aWRnZXQ6ICdkeEJ1dHRvbicsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgdGV4dDogJ1TDvG0gQXJhw6dsYXInLFxyXG4gICAgICAgICAgdHlwZTogdGhpcy5maWx0ZXJNb2RlID09PSAnYWxsJyA/ICdzdWNjZXNzJyA6ICdub3JtYWwnLFxyXG4gICAgICAgICAgc3R5bGluZ01vZGU6IHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2FsbCcgPyAnY29udGFpbmVkJyA6ICdvdXRsaW5lZCcsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB0aGlzLnNldEZpbHRlcignYWxsJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxvY2F0aW9uOiAnYmVmb3JlJyxcclxuICAgICAgICB3aWRnZXQ6ICdkeEJ1dHRvbicsXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgdGV4dDogJ8Sww6dlcmlkZWtpIEFyYcOnbGFyJyxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2luc2lkZScgPyAnc3VjY2VzcycgOiAnbm9ybWFsJyxcclxuICAgICAgICAgIHN0eWxpbmdNb2RlOiB0aGlzLmZpbHRlck1vZGUgPT09ICdpbnNpZGUnID8gJ2NvbnRhaW5lZCcgOiAnb3V0bGluZWQnLFxyXG4gICAgICAgICAgb25DbGljazogKCkgPT4gdGhpcy5zZXRGaWx0ZXIoJ2luc2lkZScpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB5ZW5pS2F5aXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkID0gbnVsbDtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZHV6ZW5sZShyb3c6IEZhY3RvcnlFbnRyeSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZCA9IHsgLi4ucm93IH07XHJcbiAgICB0aGlzLnNob3dGb3JtID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNpa2lzWWFwKHJvdzogRmFjdG9yeUVudHJ5KTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybihgXCIke3Jvdy51X1BsYXRlfVwiIHBsYWthbMSxIGFyYWPEsW4gw6fEsWvEscWfIHlhcGFjYcSfxLFuYSBlbWluIG1pc2luaXo/YCwgJycsIHtcclxuICAgICAgICB5ZXNUZXh0OiAnRXZldCcsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogJ0hhecSxcicsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ID09PSAnY29uZmlybScpIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5jaGVja291dChyb3cuZG9jRW50cnkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaWwocm93OiBGYWN0b3J5RW50cnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgIC53YXJuKGBcIiR7cm93LnVfUGxhdGV9XCIgcGxha2FsxLEga2F5ZMSxIHNpbG1layBpc3RlZGnEn2luaXplIGVtaW4gbWlzaW5pej9gLCAnJywge1xyXG4gICAgICAgIHllc1RleHQ6ICdFdmV0JyxcclxuICAgICAgICBjYW5jZWxUZXh0OiAnSGF5xLFyJyxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09ICdjb25maXJtJykge1xyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShyb3cuZG9jRW50cnkudG9TdHJpbmcoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9hZExpc3QoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRm9ybVNhdmVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93Rm9ybSA9IGZhbHNlO1xyXG4gICAgdGhpcy5sb2FkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgb25Gb3JtQ2FuY2VsbGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93Rm9ybSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RW50cnlEYXRlVGltZShkYXRlU3RyOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCB0aW1lTnVtOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIGlmICghZGF0ZVN0cikgcmV0dXJuICcnO1xyXG4gICAgLy8gVGFyaWhpIHllcmVsIHNhYXQgb2xhcmFrIHBhcnNlIGV0IChVVEMgeW9ydW11bnUgw7ZubGVtZWsgacOnaW4gVDAwOjAwIGVrbGVubWVkZW4pXHJcbiAgICBjb25zdCBwYXJ0cyA9IGRhdGVTdHIuc3BsaXQoJ1QnKVswXS5zcGxpdCgnLScpO1xyXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA8IDMpIHJldHVybiBkYXRlU3RyO1xyXG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKCtwYXJ0c1swXSwgK3BhcnRzWzFdIC0gMSwgK3BhcnRzWzJdKTtcclxuICAgIGlmIChpc05hTihkLmdldFRpbWUoKSkpIHJldHVybiBkYXRlU3RyO1xyXG4gICAgaWYgKHRpbWVOdW0gIT0gbnVsbCkge1xyXG4gICAgICBkLnNldEhvdXJzKE1hdGguZmxvb3IodGltZU51bSAvIDEwMCksIHRpbWVOdW0gJSAxMDAsIDAsIDApO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGQgICA9IFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IG1tICAgPSBTdHJpbmcoZC5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IHl5eXkgPSBkLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBoaCAgID0gU3RyaW5nKGQuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IG1pbiAgPSBTdHJpbmcoZC5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICByZXR1cm4gYCR7ZGR9LiR7bW19LiR7eXl5eX0gJHtoaH06JHttaW59YDtcclxuICB9XHJcblxyXG4gIGZvcm1hdFBsYXRlKHBsYXRlOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcclxuICAgIGlmICghcGxhdGUpIHJldHVybiAnJztcclxuICAgIGNvbnN0IHAgPSBwbGF0ZS5yZXBsYWNlKC9cXHMrL2csICcnKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgY29uc3QgbWF0Y2ggPSBwLm1hdGNoKC9eKFxcZHsyfSkoW0EtWsOHxJ7EsMOWxZ7DnF17MSwzfSkoXFxkezEsNH0pJC8pO1xyXG4gICAgcmV0dXJuIG1hdGNoID8gYCR7bWF0Y2hbMV19ICR7bWF0Y2hbMl19ICR7bWF0Y2hbM119YCA6IHBsYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmVoaWNsZVR5cGVOYW1lKGNvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWNvZGUpIHJldHVybiAnJztcclxuICAgIHJldHVybiB0aGlzLnZlaGljbGVUeXBlTWFwLmdldChjb2RlKSA/PyBjb2RlO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeUVudHJ5U3RhdHVzTGFiZWwoZXhpdERhdGU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGV4aXREYXRlID8gJ8OHxLFrxLHFnyBZYXB0xLEnIDogJ0dpcmnFnyBZYXB0xLEnO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeUVudHJ5U3RhdHVzQ2xhc3MoZXhpdERhdGU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGV4aXREYXRlXHJcbiAgICAgID8gJ2JhZGdlIHJvdW5kZWQtcGlsbCBiZy1zdWNjZXNzIGZzLTYgZnctbm9ybWFsJ1xyXG4gICAgICA6ICdiYWRnZSByb3VuZGVkLXBpbGwgYmctc2Vjb25kYXJ5IGZzLTYgZnctbm9ybWFsJztcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFticmVhZGNydW1iXT1cImZhbHNlXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwicGFnZS10aXRsZVwiPnt7ICdLYWRvb2dsdTo6RmFjdG9yeUVudHJ5VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBtdC0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcblxyXG4gICAgICA8IS0tIEdyaWQgLS0+XHJcbiAgICAgIDxkeC1kYXRhLWdyaWRcclxuICAgICAgICAjZGF0YUdyaWRcclxuICAgICAgICBbZGF0YVNvdXJjZV09XCJmaWx0ZXJlZERhdGFcIlxyXG4gICAgICAgIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgW3Jvd0FsdGVybmF0aW9uRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBrZXlFeHByPVwiZG9jRW50cnlcIlxyXG4gICAgICAgIChvblRvb2xiYXJQcmVwYXJpbmcpPVwib25Ub29sYmFyUHJlcGFyaW5nKCRldmVudClcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjgwcHgpO1wiPlxyXG5cclxuICAgICAgICA8ZHhvLXNjcm9sbGluZyBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCIgW3VzZU5hdGl2ZV09XCJmYWxzZVwiPjwvZHhvLXNjcm9sbGluZz5cclxuICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gICAgICAgIDxkeG8tc2VhcmNoLXBhbmVsIFt2aXNpYmxlXT1cInRydWVcIiBbd2lkdGhdPVwiMjAwXCIgW3BsYWNlaG9sZGVyXT1cIidLYWRvb2dsdTo6QXJhJyB8IGFicExvY2FsaXphdGlvblwiPjwvZHhvLXNlYXJjaC1wYW5lbD5cclxuXHJcbiAgICAgICAgPGR4by1wYWdlclxyXG4gICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTAsIDIwLCA1MF1cIlxyXG4gICAgICAgICAgW3Nob3dQYWdlU2l6ZVNlbGVjdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keG8tcGFnZXI+XHJcbiAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjEwXCI+PC9keG8tcGFnaW5nPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBbZml4ZWRdPVwidHJ1ZVwiIGRhdGFGaWVsZD1cImRvY0VudHJ5XCIgd2lkdGg9XCIxMjBcIiBbYWxsb3dHcm91cGluZ109XCJmYWxzZVwiIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiIFthbGxvd0hpZGluZ109XCJmYWxzZVwiIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU9XCJvcGVyYXRpb25UZW1wbGF0ZVwiIGNhcHRpb249XCJ7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+XHJcbiAgICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgcm93IG9mICdvcGVyYXRpb25UZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBkcm9wZG93bi10b2dnbGVcIiBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBuZ2JEcm9wZG93blRvZ2dsZSBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJZENvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtci0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkFjdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJkdXplbmxlKHJvdy5kYXRhKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbSAqbmdJZj1cIiFyb3cuZGF0YS51X0V4aXREYXRlXCIgKGNsaWNrKT1cImNpa2lzWWFwKHJvdy5kYXRhKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zaWduLW91dFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gw4fEsWvEscWfIFlhcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICBkYXRhRmllbGQ9XCJ1X1N0YXR1c1wiXHJcbiAgICAgICAgICBjYXB0aW9uPVwie3sgJ0thZG9vZ2x1OjpTdGF0dXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgIFtmaXhlZF09XCJ0cnVlXCJcclxuICAgICAgICAgIGFsaWdubWVudD1cImNlbnRlclwiXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU9XCJmYWN0b3J5RW50cnlTdGF0dXNUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICBkYXRhRmllbGQ9XCJ1X0VudHJ5RGF0ZVwiXHJcbiAgICAgICAgICBjYXB0aW9uPVwie3sgJ0thZG9vZ2x1OjpFbnRyeURhdGVUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU9XCJlbnRyeURhdGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgIGRhdGFGaWVsZD1cInVfRXhpdERhdGVcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6RXhpdERhdGVUaW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBbdmlzaWJsZV09XCJmaWx0ZXJNb2RlID09PSAnYWxsJ1wiXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU9XCJleGl0RGF0ZVRlbXBsYXRlXCJcclxuICAgICAgICAgIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9FbnRyeVR5cGVcIiBjYXB0aW9uPVwiQXJhw6cgSGFyZWtldCBUw7xyw7xcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwidmVoaWNsZVR5cGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X1BsYXRlXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6UGxhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgY2VsbFRlbXBsYXRlPVwicGxhdGVUZW1wbGF0ZVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0RvcnNlUGxhdGVcIiBjYXB0aW9uPVwie3sgJ0thZG9vZ2x1OjpEb3JzZVBsYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIGNlbGxUZW1wbGF0ZT1cImRvcnNlUGxhdGVUZW1wbGF0ZVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0RyaXZlclwiIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OkRyaXZlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9UY05vXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6VGNJZGVudGl0eU5vJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0NhcmRDb2RlXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6QnVzaW5lc3NQYXJ0bmVyJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPjwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICd2ZWhpY2xlVHlwZVRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAge3sgZ2V0VmVoaWNsZVR5cGVOYW1lKGNlbGwuZGF0YS51X0VudHJ5VHlwZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICdlbnRyeURhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGZvcm1hdEVudHJ5RGF0ZVRpbWUoY2VsbC5kYXRhLnVfRW50cnlEYXRlLCBjZWxsLmRhdGEudV9FbnRyeVRpbWUpIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAncGxhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2VsbC5kYXRhLnVfUGxhdGVcIiBjbGFzcz1cInRyLXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHItcGxhdGUtYmx1ZVwiPlRSPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyLXBsYXRlLXRleHRcIj57eyBmb3JtYXRQbGF0ZShjZWxsLmRhdGEudV9QbGF0ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZG9yc2VQbGF0ZVRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjZWxsLmRhdGEudV9Eb3JzZVBsYXRlXCIgY2xhc3M9XCJ0ci1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyLXBsYXRlLWJsdWVcIj5UUjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ci1wbGF0ZS10ZXh0XCI+e3sgZm9ybWF0UGxhdGUoY2VsbC5kYXRhLnVfRG9yc2VQbGF0ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZXhpdERhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGZvcm1hdEVudHJ5RGF0ZVRpbWUoY2VsbC5kYXRhLnVfRXhpdERhdGUsIGNlbGwuZGF0YS51X0V4aXRUaW1lKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ2ZhY3RvcnlFbnRyeVN0YXR1c1RlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgPHNwYW4gW2NsYXNzXT1cImdldEZhY3RvcnlFbnRyeVN0YXR1c0NsYXNzKGNlbGwuZGF0YS51X0V4aXREYXRlKVwiIHN0eWxlPVwicGFkZGluZzogMC4yNWVtIC41ZW0gLjI1ZW0gLjVlbTtcIj5cclxuICAgICAgICAgICAge3sgZ2V0RmFjdG9yeUVudHJ5U3RhdHVzTGFiZWwoY2VsbC5kYXRhLnVfRXhpdERhdGUpIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGxpYi1oaXQtZmFjdG9yeS1lbnRyeS1mb3JtXHJcbiAgWyh2aXNpYmxlKV09XCJzaG93Rm9ybVwiXHJcbiAgW3JlY29yZF09XCJzZWxlY3RlZFJlY29yZFwiXHJcbiAgKHNhdmVkKT1cIm9uRm9ybVNhdmVkKClcIlxyXG4gIChjYW5jZWxsZWQpPVwib25Gb3JtQ2FuY2VsbGVkKClcIj5cclxuPC9saWItaGl0LWZhY3RvcnktZW50cnktZm9ybT5cclxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWE3RCxNQUFNLE9BQU8sNEJBQTRCO0lBbUJ2QyxZQUNVLFlBQWlDLEVBQ2pDLE9BQStCLEVBQy9CLGtCQUF5QyxFQUN6QyxtQkFBd0M7UUFIeEMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDekMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXBCbEQsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsaUJBQVksR0FBbUIsRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDM0MsZUFBVSxHQUFxQixLQUFLLENBQUM7UUFFckMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsbUJBQWMsR0FBd0IsSUFBSSxDQUFDO1FBRTNDLGtDQUE2QixHQUFHO1lBQzlCLEVBQUUsS0FBSyxFQUFFLFFBQVEs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QyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELDBCQUEwQixDQUFDLFFBQW1DO1FBQzVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsUUFBbUM7UUFDNUQsT0FBTyxRQUFRO1lBQ2IsQ0FBQyxDQUFDLDhDQUE4QztZQUNoRCxDQUFDLENBQUMsZ0RBQWdELENBQUM7SUFDdkQsQ0FBQzs7eUhBNUtVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHdLQ2J6Qyx3ck5BOElBOzJGRGpJYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsNEJBQTRCO3FOQUtJLFFBQVE7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBIaXRGYWN0b3J5RW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWN0b3J5RW50cnkgfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWZhY3RvcnktZW50cnkvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0VmVoaWNsZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC12ZWhpY2xlLXR5cGUvaGl0LXZlaGljbGUtdHlwZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhpdC1mYWN0b3J5LWVudHJ5LWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtZmFjdG9yeS1lbnRyeS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaXQtZmFjdG9yeS1lbnRyeS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRGYWN0b3J5RW50cnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdkYXRhR3JpZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBkYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcblxyXG4gIGFsbERhdGE6IEZhY3RvcnlFbnRyeVtdID0gW107XHJcbiAgZmlsdGVyZWREYXRhOiBGYWN0b3J5RW50cnlbXSA9IFtdO1xyXG4gIHZlaGljbGVUeXBlTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBmaWx0ZXJNb2RlOiAnYWxsJyB8ICdpbnNpZGUnID0gJ2FsbCc7XHJcblxyXG4gIHNob3dGb3JtID0gZmFsc2U7XHJcbiAgZGlzYWJsZWRJZENvbHVtbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkUmVjb3JkOiBGYWN0b3J5RW50cnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZmFjdG9yeVN0YXR1c0ZpbHRlckRhdGFTb3VyY2UgPSBbXHJcbiAgICB7IHZhbHVlOiAnaW5zaWRlJywgdGV4dDogJ0dpcmnFnyBZYXB0xLEnIH0sXHJcbiAgICB7IHZhbHVlOiAnZXhpdGVkJywgdGV4dDogJ8OHxLFrxLHFnyBZYXB0xLEnIH0sXHJcbiAgXTtcclxuXHJcbiAgY2FsY0ZhY3RvcnlTdGF0dXMgPSAocm93OiBGYWN0b3J5RW50cnkpOiBzdHJpbmcgPT4gcm93LnVfRXhpdERhdGUgPyAnZXhpdGVkJyA6ICdpbnNpZGUnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBIaXRGYWN0b3J5RW50cnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2ZWhpY2xlVHlwZVNlcnZpY2U6IEhpdFZlaGljbGVUeXBlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZlaGljbGVUeXBlU2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKHR5cGVzID0+IHtcclxuICAgICAgdGhpcy52ZWhpY2xlVHlwZU1hcCA9IG5ldyBNYXAodHlwZXMubWFwKHQgPT4gW3QuY29kZSwgdC5uYW1lXSkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBsb2FkTGlzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLmFsbERhdGEgPSBkYXRhO1xyXG4gICAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEZpbHRlcihtb2RlOiAnYWxsJyB8ICdpbnNpZGUnKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlck1vZGUgPSBtb2RlO1xyXG4gICAgdGhpcy5hcHBseUZpbHRlcigpO1xyXG4gICAgdGhpcy5kYXRhR3JpZD8uaW5zdGFuY2U/LnJlcGFpbnQoKTtcclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2luc2lkZScpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmFsbERhdGEuZmlsdGVyKHggPT4gIXgudV9FeGl0RGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLmFsbERhdGFdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ub29sYmFyUHJlcGFyaW5nKGU6IGFueSk6IHZvaWQge1xyXG4gICAgZS50b29sYmFyT3B0aW9ucy5pdGVtcy51bnNoaWZ0KFxyXG4gICAgICB7XHJcbiAgICAgICAgbG9jYXRpb246ICdhZnRlcicsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIGljb246ICdwbHVzJyxcclxuICAgICAgICAgIHRleHQ6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdLYWRvb2dsdTo6TmV3UmVjb3JkJyksXHJcbiAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB0aGlzLnllbmlLYXlpdCgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsb2NhdGlvbjogJ2JlZm9yZScsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHRleHQ6ICdUw7xtIEFyYcOnbGFyJyxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2FsbCcgPyAnc3VjY2VzcycgOiAnbm9ybWFsJyxcclxuICAgICAgICAgIHN0eWxpbmdNb2RlOiB0aGlzLmZpbHRlck1vZGUgPT09ICdhbGwnID8gJ2NvbnRhaW5lZCcgOiAnb3V0bGluZWQnLFxyXG4gICAgICAgICAgb25DbGljazogKCkgPT4gdGhpcy5zZXRGaWx0ZXIoJ2FsbCcpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsb2NhdGlvbjogJ2JlZm9yZScsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHRleHQ6ICfEsMOnZXJpZGVraSBBcmHDp2xhcicsXHJcbiAgICAgICAgICB0eXBlOiB0aGlzLmZpbHRlck1vZGUgPT09ICdpbnNpZGUnID8gJ3N1Y2Nlc3MnIDogJ25vcm1hbCcsXHJcbiAgICAgICAgICBzdHlsaW5nTW9kZTogdGhpcy5maWx0ZXJNb2RlID09PSAnaW5zaWRlJyA/ICdjb250YWluZWQnIDogJ291dGxpbmVkJyxcclxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHRoaXMuc2V0RmlsdGVyKCdpbnNpZGUnKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgeWVuaUtheWl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZCA9IG51bGw7XHJcbiAgICB0aGlzLnNob3dGb3JtID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGR1emVubGUocm93OiBGYWN0b3J5RW50cnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmQgPSB7IC4uLnJvdyB9O1xyXG4gICAgdGhpcy5zaG93Rm9ybSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjaWtpc1lhcChyb3c6IEZhY3RvcnlFbnRyeSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25cclxuICAgICAgLndhcm4oYFwiJHtyb3cudV9QbGF0ZX1cIiBwbGFrYWzEsSBhcmFjxLFuIMOnxLFrxLHFnyB5YXBhY2HEn8SxbmEgZW1pbiBtaXNpbml6P2AsICcnLCB7XHJcbiAgICAgICAgeWVzVGV4dDogJ0V2ZXQnLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6ICdIYXnEsXInLFxyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ2NvbmZpcm0nKSB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuY2hlY2tvdXQocm93LmRvY0VudHJ5KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2FkTGlzdCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2lsKHJvdzogRmFjdG9yeUVudHJ5KTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybihgXCIke3Jvdy51X1BsYXRlfVwiIHBsYWthbMSxIGtheWTEsSBzaWxtZWsgaXN0ZWRpxJ9pbml6ZSBlbWluIG1pc2luaXo/YCwgJycsIHtcclxuICAgICAgICB5ZXNUZXh0OiAnRXZldCcsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogJ0hhecSxcicsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSAnY29uZmlybScpIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmRvY0VudHJ5LnRvU3RyaW5nKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvcm1TYXZlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMubG9hZExpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uRm9ybUNhbmNlbGxlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvcm1hdEVudHJ5RGF0ZVRpbWUoZGF0ZVN0cjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgdGltZU51bTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWRhdGVTdHIpIHJldHVybiAnJztcclxuICAgIC8vIFRhcmloaSB5ZXJlbCBzYWF0IG9sYXJhayBwYXJzZSBldCAoVVRDIHlvcnVtdW51IMO2bmxlbWVrIGnDp2luIFQwMDowMCBla2xlbm1lZGVuKVxyXG4gICAgY29uc3QgcGFydHMgPSBkYXRlU3RyLnNwbGl0KCdUJylbMF0uc3BsaXQoJy0nKTtcclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPCAzKSByZXR1cm4gZGF0ZVN0cjtcclxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSgrcGFydHNbMF0sICtwYXJ0c1sxXSAtIDEsICtwYXJ0c1syXSk7XHJcbiAgICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpKSByZXR1cm4gZGF0ZVN0cjtcclxuICAgIGlmICh0aW1lTnVtICE9IG51bGwpIHtcclxuICAgICAgZC5zZXRIb3VycyhNYXRoLmZsb29yKHRpbWVOdW0gLyAxMDApLCB0aW1lTnVtICUgMTAwLCAwLCAwKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRkICAgPSBTdHJpbmcoZC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtbSAgID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCB5eXl5ID0gZC5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgaGggICA9IFN0cmluZyhkLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtaW4gID0gU3RyaW5nKGQuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgcmV0dXJuIGAke2RkfS4ke21tfS4ke3l5eXl9ICR7aGh9OiR7bWlufWA7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRQbGF0ZShwbGF0ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBsYXRlKSByZXR1cm4gJyc7XHJcbiAgICBjb25zdCBwID0gcGxhdGUucmVwbGFjZSgvXFxzKy9nLCAnJykudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IG1hdGNoID0gcC5tYXRjaCgvXihcXGR7Mn0pKFtBLVrDh8SexLDDlsWew5xdezEsM30pKFxcZHsxLDR9KSQvKTtcclxuICAgIHJldHVybiBtYXRjaCA/IGAke21hdGNoWzFdfSAke21hdGNoWzJdfSAke21hdGNoWzNdfWAgOiBwbGF0ZTtcclxuICB9XHJcblxyXG4gIGdldFZlaGljbGVUeXBlTmFtZShjb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFjb2RlKSByZXR1cm4gJyc7XHJcbiAgICByZXR1cm4gdGhpcy52ZWhpY2xlVHlwZU1hcC5nZXQoY29kZSkgPz8gY29kZTtcclxuICB9XHJcblxyXG4gIGdldEZhY3RvcnlFbnRyeVN0YXR1c0xhYmVsKGV4aXREYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBleGl0RGF0ZSA/ICfDh8Sxa8SxxZ8gWWFwdMSxJyA6ICdHaXJpxZ8gWWFwdMSxJztcclxuICB9XHJcblxyXG4gIGdldEZhY3RvcnlFbnRyeVN0YXR1c0NsYXNzKGV4aXREYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBleGl0RGF0ZVxyXG4gICAgICA/ICdiYWRnZSByb3VuZGVkLXBpbGwgYmctc3VjY2VzcyBmcy02IGZ3LW5vcm1hbCdcclxuICAgICAgOiAnYmFkZ2Ugcm91bmRlZC1waWxsIGJnLXNlY29uZGFyeSBmcy02IGZ3LW5vcm1hbCc7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbYnJlYWRjcnVtYl09XCJmYWxzZVwiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInBhZ2UtdGl0bGVcIj57eyAnS2Fkb29nbHU6OkZhY3RvcnlFbnRyeVRpdGxlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgbXQtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG5cclxuICAgICAgPCEtLSBHcmlkIC0tPlxyXG4gICAgICA8ZHgtZGF0YS1ncmlkXHJcbiAgICAgICAgI2RhdGFHcmlkXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZmlsdGVyZWREYXRhXCJcclxuICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAga2V5RXhwcj1cImRvY0VudHJ5XCJcclxuICAgICAgICAob25Ub29sYmFyUHJlcGFyaW5nKT1cIm9uVG9vbGJhclByZXBhcmluZygkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KTtcIj5cclxuXHJcbiAgICAgICAgPGR4by1zY3JvbGxpbmcgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiIFt1c2VOYXRpdmVdPVwiZmFsc2VcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbCBbdmlzaWJsZV09XCJ0cnVlXCIgW3dpZHRoXT1cIjIwMFwiIFtwbGFjZWhvbGRlcl09XCInS2Fkb29nbHU6OkFyYScgfCBhYnBMb2NhbGl6YXRpb25cIj48L2R4by1zZWFyY2gtcGFuZWw+XHJcblxyXG4gICAgICAgIDxkeG8tcGFnZXJcclxuICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxyXG4gICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCJcclxuICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHhvLXBhZ2VyPlxyXG4gICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuXHJcbiAgICAgICAgPGR4aS1jb2x1bW4gW2ZpeGVkXT1cInRydWVcIiBkYXRhRmllbGQ9XCJkb2NFbnRyeVwiIHdpZHRoPVwiMTIwXCIgW2FsbG93R3JvdXBpbmddPVwiZmFsc2VcIiBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dIZWFkZXJGaWx0ZXJpbmddPVwiZmFsc2VcIiBbYWxsb3dIaWRpbmddPVwiZmFsc2VcIiBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3BlcmF0aW9uVGVtcGxhdGVcIiBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3BlcmF0aW9uVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgbmdiRHJvcGRvd25Ub2dnbGUgW2Rpc2FibGVkXT1cImRpc2FibGVkSWRDb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbXItMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbSAoY2xpY2spPVwiZHV6ZW5sZShyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4ge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKm5nSWY9XCIhcm93LmRhdGEudV9FeGl0RGF0ZVwiIChjbGljayk9XCJjaWtpc1lhcChyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2lnbi1vdXRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IMOHxLFrxLHFnyBZYXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgZGF0YUZpZWxkPVwidV9TdGF0dXNcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBbZml4ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBhbGlnbm1lbnQ9XCJjZW50ZXJcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZmFjdG9yeUVudHJ5U3RhdHVzVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW2NhbGN1bGF0ZUNlbGxWYWx1ZV09XCJjYWxjRmFjdG9yeVN0YXR1c1wiPlxyXG4gICAgICAgICAgPGR4by1sb29rdXAgW2RhdGFTb3VyY2VdPVwiZmFjdG9yeVN0YXR1c0ZpbHRlckRhdGFTb3VyY2VcIiB2YWx1ZUV4cHI9XCJ2YWx1ZVwiIGRpc3BsYXlFeHByPVwidGV4dFwiPjwvZHhvLWxvb2t1cD5cclxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbZGF0YVNvdXJjZV09XCJmYWN0b3J5U3RhdHVzRmlsdGVyRGF0YVNvdXJjZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgZGF0YUZpZWxkPVwidV9FbnRyeURhdGVcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6RW50cnlEYXRlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZW50cnlEYXRlVGVtcGxhdGVcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICBkYXRhRmllbGQ9XCJ1X0V4aXREYXRlXCJcclxuICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OkV4aXREYXRlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgW3Zpc2libGVdPVwiZmlsdGVyTW9kZSA9PT0gJ2FsbCdcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZXhpdERhdGVUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInVfRW50cnlUeXBlXCIgY2FwdGlvbj1cIkFyYcOnIEhhcmVrZXQgVMO8csO8XCJcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cInZlaGljbGVUeXBlVGVtcGxhdGVcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9QbGF0ZVwiIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OlBsYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIGNlbGxUZW1wbGF0ZT1cInBsYXRlVGVtcGxhdGVcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9Eb3JzZVBsYXRlXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6RG9yc2VQbGF0ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBjZWxsVGVtcGxhdGU9XCJkb3JzZVBsYXRlVGVtcGxhdGVcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9Ecml2ZXJcIiBjYXB0aW9uPVwie3sgJ0thZG9vZ2x1OjpEcml2ZXInIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInVfVGNOb1wiIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OlRjSWRlbnRpdHlObycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9DYXJkQ29kZVwiIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OkJ1c2luZXNzUGFydG5lcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAndmVoaWNsZVR5cGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGdldFZlaGljbGVUeXBlTmFtZShjZWxsLmRhdGEudV9FbnRyeVR5cGUpIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZW50cnlEYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICB7eyBmb3JtYXRFbnRyeURhdGVUaW1lKGNlbGwuZGF0YS51X0VudHJ5RGF0ZSwgY2VsbC5kYXRhLnVfRW50cnlUaW1lKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ3BsYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNlbGwuZGF0YS51X1BsYXRlXCIgY2xhc3M9XCJ0ci1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyLXBsYXRlLWJsdWVcIj5UUjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ci1wbGF0ZS10ZXh0XCI+e3sgZm9ybWF0UGxhdGUoY2VsbC5kYXRhLnVfUGxhdGUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ2RvcnNlUGxhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2VsbC5kYXRhLnVfRG9yc2VQbGF0ZVwiIGNsYXNzPVwidHItcGxhdGVcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ci1wbGF0ZS1ibHVlXCI+VFI8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHItcGxhdGUtdGV4dFwiPnt7IGZvcm1hdFBsYXRlKGNlbGwuZGF0YS51X0RvcnNlUGxhdGUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ2V4aXREYXRlVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICB7eyBmb3JtYXRFbnRyeURhdGVUaW1lKGNlbGwuZGF0YS51X0V4aXREYXRlLCBjZWxsLmRhdGEudV9FeGl0VGltZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICdmYWN0b3J5RW50cnlTdGF0dXNUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJnZXRGYWN0b3J5RW50cnlTdGF0dXNDbGFzcyhjZWxsLmRhdGEudV9FeGl0RGF0ZSlcIiBzdHlsZT1cInBhZGRpbmc6IDAuMjVlbSAuNWVtIC4yNWVtIC41ZW07XCI+XHJcbiAgICAgICAgICAgIHt7IGdldEZhY3RvcnlFbnRyeVN0YXR1c0xhYmVsKGNlbGwuZGF0YS51X0V4aXREYXRlKSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hYnAtcGFnZT5cclxuXHJcbjxsaWItaGl0LWZhY3RvcnktZW50cnktZm9ybVxyXG4gIFsodmlzaWJsZSldPVwic2hvd0Zvcm1cIlxyXG4gIFtyZWNvcmRdPVwic2VsZWN0ZWRSZWNvcmRcIlxyXG4gIChzYXZlZCk9XCJvbkZvcm1TYXZlZCgpXCJcclxuICAoY2FuY2VsbGVkKT1cIm9uRm9ybUNhbmNlbGxlZCgpXCI+XHJcbjwvbGliLWhpdC1mYWN0b3J5LWVudHJ5LWZvcm0+XHJcbiJdfQ==
@@ -85,6 +85,9 @@ export class HitEntryWeighingService {
85
85
  doGoodsMovement(docEntry) {
86
86
  return this.restService.request({ method: 'POST', url: `${this.baseUrl}/${docEntry}/do-goods-movement` }, { apiName: this.apiName }).pipe(map(r => r?.items));
87
87
  }
88
+ getWeighingSlip(docEntry) {
89
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${docEntry}/weighing-slip` }, { apiName: this.apiName });
90
+ }
88
91
  }
89
92
  HitEntryWeighingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingService, deps: [{ token: i1.RestService }, { token: i2.HitScaleService }, { token: i3.HitPlateService }, { token: i4.HitCarrierPersonService }, { token: i5.HitBusinessPartnerService }, { token: i6.HitItemService }, { token: i7.HitPurchaseDeliveryNoteService }, { token: i8.HitStockTransferService }, { token: i9.HitGateService }, { token: i10.HitVehicleTypeService }], target: i0.ɵɵFactoryTarget.Injectable });
90
93
  HitEntryWeighingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingService, providedIn: 'root' });
@@ -92,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
92
95
  type: Injectable,
93
96
  args: [{ providedIn: 'root' }]
94
97
  }], ctorParameters: function () { return [{ type: i1.RestService }, { type: i2.HitScaleService }, { type: i3.HitPlateService }, { type: i4.HitCarrierPersonService }, { type: i5.HitBusinessPartnerService }, { type: i6.HitItemService }, { type: i7.HitPurchaseDeliveryNoteService }, { type: i8.HitStockTransferService }, { type: i9.HitGateService }, { type: i10.HitVehicleTypeService }]; } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWVudHJ5LXdlaWdoaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1wcm94eS9oaXQtZW50cnktd2VpZ2hpbmcvaGl0LWVudHJ5LXdlaWdoaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUEwQnZDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxXQUF3QixFQUN4QixZQUE2QixFQUM3QixZQUE2QixFQUM3QixvQkFBNkMsRUFDN0Msc0JBQWlELEVBQ2pELFdBQTJCLEVBQzNCLDJCQUEyRCxFQUMzRCxvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0Isa0JBQXlDO1FBVHpDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTJCO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQWdDO1FBQzNELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFibkQsWUFBTyxHQUFHLFVBQVUsQ0FBQztRQUNyQixZQUFPLEdBQUcsMENBQTBDLENBQUM7SUFhbEQsQ0FBQztJQUVKLE9BQU8sQ0FBQyxNQUFZO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEVBQzNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsUUFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDN0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxFQUFFLEVBQUUsRUFDckQsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUMxQixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFDM0MsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUMxQixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWdCLEVBQUUsSUFBMEI7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDN0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQzdELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUM3QixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUUsRUFBRSxFQUN4RCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCLEVBQUUsSUFBcUQ7UUFDaEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDN0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQ3hFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QjtJQUV6QixZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNwRixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU07YUFDakIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDL0MsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU07YUFDakIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxHQUFHLENBQUM7YUFDbEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUMvQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTzthQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQzthQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDM0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDM0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1lBQzFCLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztTQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQWdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsb0JBQW9CLEVBQUUsRUFDeEUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUMxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDOztvSEEvSVUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FEVixNQUFNOzJGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEVudHJ5V2VpZ2hpbmcsXHJcbiAgRW50cnlXZWlnaGluZ0FjY291bnQsXHJcbiAgRW50cnlXZWlnaGluZ0RvY3VtZW50LFxyXG4gIEVudHJ5V2VpZ2hpbmdEcml2ZXIsXHJcbiAgRW50cnlXZWlnaGluZ0dhdGUsXHJcbiAgRW50cnlXZWlnaGluZ1NjYWxlLFxyXG4gIEVudHJ5V2VpZ2hpbmdTdG9ja0l0ZW0sXHJcbiAgRW50cnlXZWlnaGluZ1RyYWlsZXJQbGF0ZSxcclxuICBFbnRyeVdlaWdoaW5nVHJ1Y2tQbGF0ZSxcclxuICBFbnRyeVdlaWdoaW5nVmVoaWNsZVR5cGUsXHJcbiAgU2F2ZUVudHJ5V2VpZ2hpbmdEdG8sXHJcbn0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEhpdFNjYWxlU2VydmljZSB9IGZyb20gJy4uL2hpdC1zY2FsZS9oaXQtc2NhbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFBsYXRlU2VydmljZSB9IGZyb20gJy4uL2hpdC1wbGF0ZS9oaXQtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdENhcnJpZXJQZXJzb25TZXJ2aWNlIH0gZnJvbSAnLi4vaGl0LWNhcnJpZXItcGVyc29uL2hpdC1jYXJyaWVyLXBlcnNvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0QnVzaW5lc3NQYXJ0bmVyU2VydmljZSB9IGZyb20gJy4uL2hpdC1idXNpbmVzcy1wYXJ0bmVyL2hpdC1idXNpbmVzcy1wYXJ0bmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRJdGVtU2VydmljZSB9IGZyb20gJy4uL2hpdC1pdGVtL2hpdC1pdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRQdXJjaGFzZURlbGl2ZXJ5Tm90ZVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtcHVyY2hhc2UtZGVsaXZlcnktbm90ZS9oaXQtcHVyY2hhc2UtZGVsaXZlcnktbm90ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0U3RvY2tUcmFuc2ZlclNlcnZpY2UgfSBmcm9tICcuLi9oaXQtc3RvY2stdHJhbnNmZXIvaGl0LXN0b2NrLXRyYW5zZmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRHYXRlU2VydmljZSB9IGZyb20gJy4uL2hpdC1nYXRlL2hpdC1nYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRWZWhpY2xlVHlwZVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtdmVoaWNsZS10eXBlL2hpdC12ZWhpY2xlLXR5cGUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgSGl0RW50cnlXZWlnaGluZ1NlcnZpY2Uge1xyXG4gIGFwaU5hbWUgPSAnS2Fkb29nbHUnO1xyXG4gIGJhc2VVcmwgPSAnL2FwaS9lbnRlZ3JhdGlvbi1zZXJ2aWNlL2VudHJ5LXdlaWdoaW5ncyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNjYWxlU2VydmljZTogSGl0U2NhbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwbGF0ZVNlcnZpY2U6IEhpdFBsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgY2FycmllclBlcnNvblNlcnZpY2U6IEhpdENhcnJpZXJQZXJzb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBidXNpbmVzc1BhcnRuZXJTZXJ2aWNlOiBIaXRCdXNpbmVzc1BhcnRuZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpdGVtU2VydmljZTogSGl0SXRlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHB1cmNoYXNlRGVsaXZlcnlOb3RlU2VydmljZTogSGl0UHVyY2hhc2VEZWxpdmVyeU5vdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9ja1RyYW5zZmVyU2VydmljZTogSGl0U3RvY2tUcmFuc2ZlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdhdGVTZXJ2aWNlOiBIaXRHYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgdmVoaWNsZVR5cGVTZXJ2aWNlOiBIaXRWZWhpY2xlVHlwZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGdldExpc3QocGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nW10+IHtcclxuICAgIGNvbnN0IGRlZmF1bHRQYXJhbXMgPSB7IG1heFJlc3VsdENvdW50OiA1MCwgLi4ucGFyYW1zIH07XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PHZvaWQsIEFwaVJlc3BvbnNlPEVudHJ5V2VpZ2hpbmdbXT4+KFxyXG4gICAgICB7IG1ldGhvZDogJ0dFVCcsIHVybDogdGhpcy5iYXNlVXJsLCBwYXJhbXM6IGRlZmF1bHRQYXJhbXMgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2U/Lml0ZW1zID8/IFtdKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldChkb2NFbnRyeTogbnVtYmVyKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PHZvaWQsIEFwaVJlc3BvbnNlPEVudHJ5V2VpZ2hpbmc+PihcclxuICAgICAgeyBtZXRob2Q6ICdHRVQnLCB1cmw6IGAke3RoaXMuYmFzZVVybH0vJHtkb2NFbnRyeX1gIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlPy5pdGVtcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoYm9keTogU2F2ZUVudHJ5V2VpZ2hpbmdEdG8pOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8U2F2ZUVudHJ5V2VpZ2hpbmdEdG8sIEFwaVJlc3BvbnNlPEVudHJ5V2VpZ2hpbmc+PihcclxuICAgICAgeyBtZXRob2Q6ICdQT1NUJywgdXJsOiB0aGlzLmJhc2VVcmwsIGJvZHkgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2U/Lml0ZW1zKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZShkb2NFbnRyeTogbnVtYmVyLCBib2R5OiBTYXZlRW50cnlXZWlnaGluZ0R0byk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxTYXZlRW50cnlXZWlnaGluZ0R0bywgQXBpUmVzcG9uc2U8RW50cnlXZWlnaGluZz4+KFxyXG4gICAgICB7IG1ldGhvZDogJ1BBVENIJywgdXJsOiBgJHt0aGlzLmJhc2VVcmx9LyR7ZG9jRW50cnl9YCwgYm9keSB9LFxyXG4gICAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZT8uaXRlbXMpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGRvY0VudHJ5OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDx2b2lkLCBhbnk+KFxyXG4gICAgICB7IG1ldGhvZDogJ0RFTEVURScsIHVybDogYCR7dGhpcy5iYXNlVXJsfS8ke2RvY0VudHJ5fWAgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRvV2VpZ2hpbmcoZG9jRW50cnk6IG51bWJlciwgYm9keTogeyB3ZWlnaGluZ1ZhbHVlOiBudW1iZXI7IG9wZXJhdG9yQ29kZTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBBcGlSZXNwb25zZTxFbnRyeVdlaWdoaW5nPj4oXHJcbiAgICAgIHsgbWV0aG9kOiAnUE9TVCcsIHVybDogYCR7dGhpcy5iYXNlVXJsfS8ke2RvY0VudHJ5fS9kby13ZWlnaGluZ2AsIGJvZHkgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2U/Lml0ZW1zKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIC0tLSBMb29rdXAgbWV0aG9kcyAtLS1cclxuXHJcbiAgZ2V0RG9jdW1lbnRzKCk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ0RvY3VtZW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlRGVsaXZlcnlOb3RlU2VydmljZS5nZXRMaXN0KCkucGlwZShcclxuICAgIG1hcChub3RlcyA9PiBub3Rlcy5tYXAobiA9PiAoeyBjb2RlOiBuLmRvY051bS50b1N0cmluZygpLCBuYW1lOiBuLmNhcmROYW1lID8/ICcnIH0pKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTY2FsZXMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nU2NhbGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2NhbGVTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAoc2NhbGVzID0+IHNjYWxlcy5tYXAocyA9PiAoeyBjb2RlOiBzLmNvZGUsIG5hbWU6IHMubmFtZSB9KSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHJ1Y2tQbGF0ZXMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nVHJ1Y2tQbGF0ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0ZVNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcChwbGF0ZXMgPT4gcGxhdGVzXHJcbiAgICAgICAgLmZpbHRlcihwID0+IHAudV9Jc1RyYWlsZXIgPT09ICdOJyB8fCAhcC51X0lzVHJhaWxlcilcclxuICAgICAgICAubWFwKHAgPT4gKHsgY29kZTogcC5jb2RlLCBwbGF0ZU5vOiBwLmNvZGUgfSkpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUcmFpbGVyUGxhdGVzKCk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ1RyYWlsZXJQbGF0ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wbGF0ZVNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcChwbGF0ZXMgPT4gcGxhdGVzXHJcbiAgICAgICAgLmZpbHRlcihwID0+IHAudV9Jc1RyYWlsZXIgPT09ICdZJylcclxuICAgICAgICAubWFwKHAgPT4gKHsgY29kZTogcC5jb2RlLCBwbGF0ZU5vOiBwLmNvZGUgfSkpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREcml2ZXJzKCk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ0RyaXZlcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXJyaWVyUGVyc29uU2VydmljZS5nZXRMaXN0KCkucGlwZShcclxuICAgICAgbWFwKHBlcnNvbnMgPT4gcGVyc29uc1xyXG4gICAgICAgIC5maWx0ZXIocCA9PiBwLnVfQWN0aXZlID09PSAnWScpXHJcbiAgICAgICAgLm1hcChwID0+ICh7IGNvZGU6IHAuY29kZSwgbmFtZTogYCR7cC51X0ZpcnN0bmFtZSA/PyAnJ30gJHtwLnVfTGFzdG5hbWUgPz8gJyd9YC50cmltKCkgfSkpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRBY2NvdW50cygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdBY2NvdW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLmJ1c2luZXNzUGFydG5lclNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcChwYXJ0bmVycyA9PiBwYXJ0bmVycy5tYXAocCA9PiAoeyBjb2RlOiBwLmNhcmRDb2RlLCB0aXRsZTogcC5jYXJkTmFtZSB9KSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvY2tJdGVtcygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdTdG9ja0l0ZW1bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbVNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5tYXAoaSA9PiAoeyBjb2RlOiBpLml0ZW1Db2RlLCBuYW1lOiBpLml0ZW1OYW1lIH0pKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRHYXRlcygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdHYXRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdhdGVTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAoZ2F0ZXMgPT4gZ2F0ZXMubWFwKGcgPT4gKHsgY29kZTogZy5jb2RlLCBuYW1lOiBnLm5hbWUgfSkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFZlaGljbGVUeXBlcygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdWZWhpY2xlVHlwZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy52ZWhpY2xlVHlwZVNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcCh0eXBlcyA9PiB0eXBlcy5tYXAodCA9PiAoe1xyXG4gICAgICAgIGNvZGU6IHQuY29kZSwgbmFtZTogdC5uYW1lLFxyXG4gICAgICAgIHVfVHJ0bVlwaWxjazogdC51X1RydG1ZcGlsY2ssIHVfTWFsR0M6IHQudV9NYWxHQ1xyXG4gICAgICB9KSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZG9Hb29kc01vdmVtZW50KGRvY0VudHJ5OiBudW1iZXIpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8dm9pZCwgQXBpUmVzcG9uc2U8RW50cnlXZWlnaGluZz4+KFxyXG4gICAgICB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGAke3RoaXMuYmFzZVVybH0vJHtkb2NFbnRyeX0vZG8tZ29vZHMtbW92ZW1lbnRgIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICkucGlwZShtYXAociA9PiByPy5pdGVtcykpO1xyXG4gIH1cclxufVxyXG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWVudHJ5LXdlaWdoaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1wcm94eS9oaXQtZW50cnktd2VpZ2hpbmcvaGl0LWVudHJ5LXdlaWdoaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUEwQnZDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxXQUF3QixFQUN4QixZQUE2QixFQUM3QixZQUE2QixFQUM3QixvQkFBNkMsRUFDN0Msc0JBQWlELEVBQ2pELFdBQTJCLEVBQzNCLDJCQUEyRCxFQUMzRCxvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0Isa0JBQXlDO1FBVHpDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTJCO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQWdDO1FBQzNELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFibkQsWUFBTyxHQUFHLFVBQVUsQ0FBQztRQUNyQixZQUFPLEdBQUcsMENBQTBDLENBQUM7SUFhbEQsQ0FBQztJQUVKLE9BQU8sQ0FBQyxNQUFZO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxD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TUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsZ0JBQWdCLEVBQUUsRUFDbkUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUMxQixDQUFDO0lBQ0osQ0FBQzs7b0hBdEpVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTsyRkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBFbnRyeVdlaWdoaW5nLFxyXG4gIEVudHJ5V2VpZ2hpbmdBY2NvdW50LFxyXG4gIEVudHJ5V2VpZ2hpbmdEb2N1bWVudCxcclxuICBFbnRyeVdlaWdoaW5nRHJpdmVyLFxyXG4gIEVudHJ5V2VpZ2hpbmdHYXRlLFxyXG4gIEVudHJ5V2VpZ2hpbmdTY2FsZSxcclxuICBFbnRyeVdlaWdoaW5nU3RvY2tJdGVtLFxyXG4gIEVudHJ5V2VpZ2hpbmdUcmFpbGVyUGxhdGUsXHJcbiAgRW50cnlXZWlnaGluZ1RydWNrUGxhdGUsXHJcbiAgRW50cnlXZWlnaGluZ1ZlaGljbGVUeXBlLFxyXG4gIFNhdmVFbnRyeVdlaWdoaW5nRHRvLFxyXG59IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIaXRTY2FsZVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtc2NhbGUvaGl0LXNjYWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRQbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtcGxhdGUvaGl0LXBsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRDYXJyaWVyUGVyc29uU2VydmljZSB9IGZyb20gJy4uL2hpdC1jYXJyaWVyLXBlcnNvbi9oaXQtY2Fycmllci1wZXJzb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdEJ1c2luZXNzUGFydG5lclNlcnZpY2UgfSBmcm9tICcuLi9oaXQtYnVzaW5lc3MtcGFydG5lci9oaXQtYnVzaW5lc3MtcGFydG5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0SXRlbVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtaXRlbS9oaXQtaXRlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0UHVyY2hhc2VEZWxpdmVyeU5vdGVTZXJ2aWNlIH0gZnJvbSAnLi4vaGl0LXB1cmNoYXNlLWRlbGl2ZXJ5LW5vdGUvaGl0LXB1cmNoYXNlLWRlbGl2ZXJ5LW5vdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdFN0b2NrVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaGl0LXN0b2NrLXRyYW5zZmVyL2hpdC1zdG9jay10cmFuc2Zlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0R2F0ZVNlcnZpY2UgfSBmcm9tICcuLi9oaXQtZ2F0ZS9oaXQtZ2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0VmVoaWNsZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi4vaGl0LXZlaGljbGUtdHlwZS9oaXQtdmVoaWNsZS10eXBlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEhpdEVudHJ5V2VpZ2hpbmdTZXJ2aWNlIHtcclxuICBhcGlOYW1lID0gJ0thZG9vZ2x1JztcclxuICBiYXNlVXJsID0gJy9hcGkvZW50ZWdyYXRpb24tc2VydmljZS9lbnRyeS13ZWlnaGluZ3MnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzY2FsZVNlcnZpY2U6IEhpdFNjYWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgcGxhdGVTZXJ2aWNlOiBIaXRQbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNhcnJpZXJQZXJzb25TZXJ2aWNlOiBIaXRDYXJyaWVyUGVyc29uU2VydmljZSxcclxuICAgIHByaXZhdGUgYnVzaW5lc3NQYXJ0bmVyU2VydmljZTogSGl0QnVzaW5lc3NQYXJ0bmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaXRlbVNlcnZpY2U6IEhpdEl0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwdXJjaGFzZURlbGl2ZXJ5Tm90ZVNlcnZpY2U6IEhpdFB1cmNoYXNlRGVsaXZlcnlOb3RlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvY2tUcmFuc2ZlclNlcnZpY2U6IEhpdFN0b2NrVHJhbnNmZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnYXRlU2VydmljZTogSGl0R2F0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZlaGljbGVUeXBlU2VydmljZTogSGl0VmVoaWNsZVR5cGVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBnZXRMaXN0KHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ1tdPiB7XHJcbiAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0geyBtYXhSZXN1bHRDb3VudDogNTAsIC4uLnBhcmFtcyB9O1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDx2b2lkLCBBcGlSZXNwb25zZTxFbnRyeVdlaWdoaW5nW10+PihcclxuICAgICAgeyBtZXRob2Q6ICdHRVQnLCB1cmw6IHRoaXMuYmFzZVVybCwgcGFyYW1zOiBkZWZhdWx0UGFyYW1zIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlPy5pdGVtcyA/PyBbXSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQoZG9jRW50cnk6IG51bWJlcik6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDx2b2lkLCBBcGlSZXNwb25zZTxFbnRyeVdlaWdoaW5nPj4oXHJcbiAgICAgIHsgbWV0aG9kOiAnR0VUJywgdXJsOiBgJHt0aGlzLmJhc2VVcmx9LyR7ZG9jRW50cnl9YCB9LFxyXG4gICAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZT8uaXRlbXMpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGJvZHk6IFNhdmVFbnRyeVdlaWdoaW5nRHRvKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PFNhdmVFbnRyeVdlaWdoaW5nRHRvLCBBcGlSZXNwb25zZTxFbnRyeVdlaWdoaW5nPj4oXHJcbiAgICAgIHsgbWV0aG9kOiAnUE9TVCcsIHVybDogdGhpcy5iYXNlVXJsLCBib2R5IH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlPy5pdGVtcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoZG9jRW50cnk6IG51bWJlciwgYm9keTogU2F2ZUVudHJ5V2VpZ2hpbmdEdG8pOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8U2F2ZUVudHJ5V2VpZ2hpbmdEdG8sIEFwaVJlc3BvbnNlPEVudHJ5V2VpZ2hpbmc+PihcclxuICAgICAgeyBtZXRob2Q6ICdQQVRDSCcsIHVybDogYCR7dGhpcy5iYXNlVXJsfS8ke2RvY0VudHJ5fWAsIGJvZHkgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2U/Lml0ZW1zKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShkb2NFbnRyeTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8dm9pZCwgYW55PihcclxuICAgICAgeyBtZXRob2Q6ICdERUxFVEUnLCB1cmw6IGAke3RoaXMuYmFzZVVybH0vJHtkb2NFbnRyeX1gIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkb1dlaWdoaW5nKGRvY0VudHJ5OiBudW1iZXIsIGJvZHk6IHsgd2VpZ2hpbmdWYWx1ZTogbnVtYmVyOyBvcGVyYXRvckNvZGU6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgQXBpUmVzcG9uc2U8RW50cnlXZWlnaGluZz4+KFxyXG4gICAgICB7IG1ldGhvZDogJ1BPU1QnLCB1cmw6IGAke3RoaXMuYmFzZVVybH0vJHtkb2NFbnRyeX0vZG8td2VpZ2hpbmdgLCBib2R5IH0sXHJcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlPy5pdGVtcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gTG9va3VwIG1ldGhvZHMgLS0tXHJcblxyXG4gIGdldERvY3VtZW50cygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdEb2N1bWVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wdXJjaGFzZURlbGl2ZXJ5Tm90ZVNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICBtYXAobm90ZXMgPT4gbm90ZXMubWFwKG4gPT4gKHsgY29kZTogbi5kb2NOdW0udG9TdHJpbmcoKSwgbmFtZTogbi5jYXJkTmFtZSA/PyAnJyB9KSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2NhbGVzKCk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ1NjYWxlW10+IHtcclxuICAgIHJldHVybiB0aGlzLnNjYWxlU2VydmljZS5nZXRMaXN0KCkucGlwZShcclxuICAgICAgbWFwKHNjYWxlcyA9PiBzY2FsZXMubWFwKHMgPT4gKHsgY29kZTogcy5jb2RlLCBuYW1lOiBzLm5hbWUgfSkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRydWNrUGxhdGVzKCk6IE9ic2VydmFibGU8RW50cnlXZWlnaGluZ1RydWNrUGxhdGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhdGVTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAocGxhdGVzID0+IHBsYXRlc1xyXG4gICAgICAgIC5maWx0ZXIocCA9PiBwLnVfSXNUcmFpbGVyID09PSAnTicgfHwgIXAudV9Jc1RyYWlsZXIpXHJcbiAgICAgICAgLm1hcChwID0+ICh7IGNvZGU6IHAuY29kZSwgcGxhdGVObzogcC5jb2RlIH0pKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHJhaWxlclBsYXRlcygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdUcmFpbGVyUGxhdGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGxhdGVTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAocGxhdGVzID0+IHBsYXRlc1xyXG4gICAgICAgIC5maWx0ZXIocCA9PiBwLnVfSXNUcmFpbGVyID09PSAnWScpXHJcbiAgICAgICAgLm1hcChwID0+ICh7IGNvZGU6IHAuY29kZSwgcGxhdGVObzogcC5jb2RlIH0pKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RHJpdmVycygpOiBPYnNlcnZhYmxlPEVudHJ5V2VpZ2hpbmdEcml2ZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FycmllclBlcnNvblNlcnZpY2UuZ2V0TGlzdCgpLnBpcGUoXHJcbiAgICAgIG1hcChwZXJzb25zID0+IHBlcnNvbnNcclxuICAgICAgICAuZmlsdGVyKHAgPT4gcC51X0FjdGl2ZSA9PT0gJ1knKVxyXG4gICAgICAgIC5tYXAocCA9PiAoeyBjb2RlOiBwLmNvZGUsIG5hbWU6IGAke3AudV9GaXJzdG5hbWUgPz8gJyd9ICR7cC51X0xhc3RuYW1lID8/ICcnfWAudHJpbSgpIH0pKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWNjb3VudHMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nQWNjb3VudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5idXNpbmVzc1BhcnRuZXJTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAocGFydG5lcnMgPT4gcGFydG5lcnMubWFwKHAgPT4gKHsgY29kZTogcC5jYXJkQ29kZSwgdGl0bGU6IHAuY2FyZE5hbWUgfSkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFN0b2NrSXRlbXMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nU3RvY2tJdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1TZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAoaXRlbXMgPT4gaXRlbXMubWFwKGkgPT4gKHsgY29kZTogaS5pdGVtQ29kZSwgbmFtZTogaS5pdGVtTmFtZSB9KSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R2F0ZXMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nR2F0ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nYXRlU2VydmljZS5nZXRMaXN0KCkucGlwZShcclxuICAgICAgbWFwKGdhdGVzID0+IGdhdGVzLm1hcChnID0+ICh7IGNvZGU6IGcuY29kZSwgbmFtZTogZy5uYW1lIH0pKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRWZWhpY2xlVHlwZXMoKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nVmVoaWNsZVR5cGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmVoaWNsZVR5cGVTZXJ2aWNlLmdldExpc3QoKS5waXBlKFxyXG4gICAgICBtYXAodHlwZXMgPT4gdHlwZXMubWFwKHQgPT4gKHtcclxuICAgICAgICBjb2RlOiB0LmNvZGUsIG5hbWU6IHQubmFtZSxcclxuICAgICAgICB1X1RydG1ZcGlsY2s6IHQudV9UcnRtWXBpbGNrLCB1X01hbEdDOiB0LnVfTWFsR0NcclxuICAgICAgfSkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRvR29vZHNNb3ZlbWVudChkb2NFbnRyeTogbnVtYmVyKTogT2JzZXJ2YWJsZTxFbnRyeVdlaWdoaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PHZvaWQsIEFwaVJlc3BvbnNlPEVudHJ5V2VpZ2hpbmc+PihcclxuICAgICAgeyBtZXRob2Q6ICdQT1NUJywgdXJsOiBgJHt0aGlzLmJhc2VVcmx9LyR7ZG9jRW50cnl9L2RvLWdvb2RzLW1vdmVtZW50YCB9LFxyXG4gICAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9XHJcbiAgICApLnBpcGUobWFwKHIgPT4gcj8uaXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGdldFdlaWdoaW5nU2xpcChkb2NFbnRyeTogbnVtYmVyKTogT2JzZXJ2YWJsZTx7IGJhc2U2NDogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8dm9pZCwgeyBiYXNlNjQ6IHN0cmluZyB9PihcclxuICAgICAgeyBtZXRob2Q6ICdHRVQnLCB1cmw6IGAke3RoaXMuYmFzZVVybH0vJHtkb2NFbnRyeX0vd2VpZ2hpbmctc2xpcGAgfSxcclxuICAgICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
18
18
  providedIn: 'root',
19
19
  }]
20
20
  }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fkb29nbHUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvc2VydmljZXMva2Fkb29nbHUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGNUMsWUFBTyxHQUFHLFVBQVUsQ0FBQztJQUUwQixDQUFDO0lBRWhELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUM3QixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLHNCQUFzQixFQUFFLEVBQzlDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQztJQUNKLENBQUM7OzRHQVZVLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLYWRvb2dsdVNlcnZpY2Uge1xyXG4gIGFwaU5hbWUgPSAnS2Fkb29nbHUnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge31cclxuXHJcbiAgc2FtcGxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDx2b2lkLCBhbnk+KFxyXG4gICAgICB7IG1ldGhvZDogJ0dFVCcsIHVybDogJy9hcGkvS2Fkb29nbHUvc2FtcGxlJyB9LFxyXG4gICAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fkb29nbHUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvc2VydmljZXMva2Fkb29nbHUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGNUMsWUFBTyxHQUFHLFVBQVUsQ0FBQztJQUUwQixDQUFDO0lBRWhELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUM3QixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLHNCQUFzQixFQUFFLEVBQzlDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDMUIsQ0FBQztJQUNKLENBQUM7OzRHQVZVLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBLYWRvb2dsdVNlcnZpY2Uge1xuICBhcGlOYW1lID0gJ0thZG9vZ2x1JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge31cblxuICBzYW1wbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDx2b2lkLCBhbnk+KFxuICAgICAgeyBtZXRob2Q6ICdHRVQnLCB1cmw6ICcvYXBpL0thZG9vZ2x1L3NhbXBsZScgfSxcbiAgICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH1cbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HubConnectionBuilder, HubConnectionState, LogLevel, } from '@microsoft/signalr';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class ScaleSignalRService {
6
+ constructor() {
7
+ this.connection = null;
8
+ this._weight$ = new BehaviorSubject(null);
9
+ this.weight$ = this._weight$.asObservable();
10
+ }
11
+ /**
12
+ * SignalR bağlantısını başlatır ve ilgili kantar grubuna abone olur.
13
+ * Zaten bağlıysa sadece gruba abone olur.
14
+ */
15
+ async start(apiBaseUrl, scaleId) {
16
+ if (this.connection?.state === HubConnectionState.Connected) {
17
+ await this.connection.invoke('SubscribeToScale', scaleId);
18
+ return;
19
+ }
20
+ this.connection = new HubConnectionBuilder()
21
+ .withUrl(`${apiBaseUrl}/hubs/scale`, { withCredentials: true })
22
+ .withAutomaticReconnect([0, 2000, 5000, 10000, 30000])
23
+ .configureLogging(LogLevel.Warning)
24
+ .build();
25
+ this.connection.on('ReceiveWeight', (reading) => {
26
+ this._weight$.next(reading.weightKg);
27
+ });
28
+ this.connection.onreconnected(async () => {
29
+ await this.connection.invoke('SubscribeToScale', scaleId);
30
+ });
31
+ await this.connection.start();
32
+ await this.connection.invoke('SubscribeToScale', scaleId);
33
+ }
34
+ /**
35
+ * Kantar grubundan çıkar ve bağlantıyı kapatır.
36
+ */
37
+ async stop(scaleId) {
38
+ if (!this.connection)
39
+ return;
40
+ try {
41
+ if (this.connection.state === HubConnectionState.Connected) {
42
+ await this.connection.invoke('UnsubscribeFromScale', scaleId);
43
+ }
44
+ await this.connection.stop();
45
+ }
46
+ finally {
47
+ this.connection = null;
48
+ this._weight$.next(null);
49
+ }
50
+ }
51
+ ngOnDestroy() {
52
+ this.connection?.stop();
53
+ }
54
+ }
55
+ ScaleSignalRService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScaleSignalRService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
+ ScaleSignalRService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScaleSignalRService, providedIn: 'root' });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScaleSignalRService, decorators: [{
58
+ type: Injectable,
59
+ args: [{ providedIn: 'root' }]
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGUtc2lnbmFsci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9zZXJ2aWNlcy9zY2FsZS1zaWduYWxyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixRQUFRLEdBQ1QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUduRCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVUsZUFBVSxHQUF5QixJQUFJLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUU1RCxZQUFPLEdBQThCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7S0FpRDVFO0lBL0NDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBa0IsRUFBRSxPQUFlO1FBQzdDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEtBQUssa0JBQWtCLENBQUMsU0FBUyxFQUFFO1lBQzNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDMUQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixFQUFFO2FBQ3pDLE9BQU8sQ0FBQyxHQUFHLFVBQVUsYUFBYSxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQzlELHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3JELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7YUFDbEMsS0FBSyxFQUFFLENBQUM7UUFFWCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUE2QixFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsTUFBTSxJQUFJLENBQUMsVUFBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQzdCLElBQUk7WUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLGtCQUFrQixDQUFDLFNBQVMsRUFBRTtnQkFDMUQsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUMvRDtZQUNELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM5QjtnQkFBUztZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEh1YkNvbm5lY3Rpb24sXG4gIEh1YkNvbm5lY3Rpb25CdWlsZGVyLFxuICBIdWJDb25uZWN0aW9uU3RhdGUsXG4gIExvZ0xldmVsLFxufSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NhbGVTaWduYWxSU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgY29ubmVjdGlvbjogSHViQ29ubmVjdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF93ZWlnaHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSB3ZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+ID0gdGhpcy5fd2VpZ2h0JC5hc09ic2VydmFibGUoKTtcblxuICAvKipcbiAgICogU2lnbmFsUiBiYcSfbGFudMSxc8SxbsSxIGJhxZ9sYXTEsXIgdmUgaWxnaWxpIGthbnRhciBncnVidW5hIGFib25lIG9sdXIuXG4gICAqIFphdGVuIGJhxJ9sxLF5c2Egc2FkZWNlIGdydWJhIGFib25lIG9sdXIuXG4gICAqL1xuICBhc3luYyBzdGFydChhcGlCYXNlVXJsOiBzdHJpbmcsIHNjYWxlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb24/LnN0YXRlID09PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uaW52b2tlKCdTdWJzY3JpYmVUb1NjYWxlJywgc2NhbGVJZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IEh1YkNvbm5lY3Rpb25CdWlsZGVyKClcbiAgICAgIC53aXRoVXJsKGAke2FwaUJhc2VVcmx9L2h1YnMvc2NhbGVgLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLndpdGhBdXRvbWF0aWNSZWNvbm5lY3QoWzAsIDIwMDAsIDUwMDAsIDEwMDAwLCAzMDAwMF0pXG4gICAgICAuY29uZmlndXJlTG9nZ2luZyhMb2dMZXZlbC5XYXJuaW5nKVxuICAgICAgLmJ1aWxkKCk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24ub24oJ1JlY2VpdmVXZWlnaHQnLCAocmVhZGluZzogeyB3ZWlnaHRLZzogbnVtYmVyIH0pID0+IHtcbiAgICAgIHRoaXMuX3dlaWdodCQubmV4dChyZWFkaW5nLndlaWdodEtnKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29ubmVjdGlvbi5vbnJlY29ubmVjdGVkKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbiEuaW52b2tlKCdTdWJzY3JpYmVUb1NjYWxlJywgc2NhbGVJZCk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uc3RhcnQoKTtcbiAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb24uaW52b2tlKCdTdWJzY3JpYmVUb1NjYWxlJywgc2NhbGVJZCk7XG4gIH1cblxuICAvKipcbiAgICogS2FudGFyIGdydWJ1bmRhbiDDp8Sxa2FyIHZlIGJhxJ9sYW50xLF5xLEga2FwYXTEsXIuXG4gICAqL1xuICBhc3luYyBzdG9wKHNjYWxlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25uZWN0aW9uKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb24uc3RhdGUgPT09IEh1YkNvbm5lY3Rpb25TdGF0ZS5Db25uZWN0ZWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmludm9rZSgnVW5zdWJzY3JpYmVGcm9tU2NhbGUnLCBzY2FsZUlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5zdG9wKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLl93ZWlnaHQkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9uPy5zdG9wKCk7XG4gIH1cbn1cbiJdfQ==