@hitsoft/abp.kadooglu 1.0.11 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.mjs +4 -3
- package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.mjs +278 -109
- package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.mjs +40 -29
- package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.mjs +52 -6
- package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.mjs +3 -3
- package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.mjs +4 -4
- package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-carrier-person/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.mjs +2 -2
- package/esm2020/lib/hit-proxy/hit-entry-weighing/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-factory-entry/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.mjs +4 -1
- package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/models.mjs +1 -1
- package/esm2020/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.mjs +4 -1
- package/esm2020/lib/hit-proxy/hit-stock-transfer/models.mjs +1 -1
- package/esm2020/lib/services/scale-signalr.service.mjs +4 -1
- package/esm2020/lib/shared/hit-modal/hit-modal.component.mjs +68 -16
- package/fesm2015/hitsoft-abp.kadooglu.mjs +456 -166
- package/fesm2015/hitsoft-abp.kadooglu.mjs.map +1 -1
- package/fesm2020/hitsoft-abp.kadooglu.mjs +444 -160
- package/fesm2020/hitsoft-abp.kadooglu.mjs.map +1 -1
- package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.d.ts +20 -7
- package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.d.ts +8 -1
- package/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.d.ts +2 -0
- package/lib/hit-proxy/hit-carrier-person/models.d.ts +2 -0
- package/lib/hit-proxy/hit-entry-weighing/models.d.ts +5 -0
- package/lib/hit-proxy/hit-factory-entry/models.d.ts +13 -4
- package/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.d.ts +1 -0
- package/lib/hit-proxy/hit-purchase-delivery-note/models.d.ts +6 -0
- package/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.d.ts +1 -0
- package/lib/hit-proxy/hit-stock-transfer/models.d.ts +2 -0
- package/lib/services/scale-signalr.service.d.ts +2 -0
- package/lib/shared/hit-modal/hit-modal.component.d.ts +25 -2
- package/package.json +1 -1
|
@@ -166,12 +166,12 @@ export class HitFactoryEntryListComponent {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
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 });
|
|
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" }] });
|
|
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\r\n dataField=\"u_FWDate\"\r\n caption=\"1.Tart\u0131m Tarih/Saat\"\r\n cellTemplate=\"fwDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LWDate\"\r\n caption=\"2.Tart\u0131m Tarih/Saat\"\r\n cellTemplate=\"lwDateTemplate\"\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 'fwDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_FWDate, cell.data.u_FWTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'lwDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_LWDate, cell.data.u_LWTime) }}\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" }] });
|
|
170
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryListComponent, decorators: [{
|
|
171
171
|
type: Component,
|
|
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"] }]
|
|
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\r\n dataField=\"u_FWDate\"\r\n caption=\"1.Tart\u0131m Tarih/Saat\"\r\n cellTemplate=\"fwDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LWDate\"\r\n caption=\"2.Tart\u0131m Tarih/Saat\"\r\n cellTemplate=\"lwDateTemplate\"\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 'fwDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_FWDate, cell.data.u_FWTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'lwDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_LWDate, cell.data.u_LWTime) }}\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"] }]
|
|
173
173
|
}], ctorParameters: function () { return [{ type: i1.ConfirmationService }, { type: i2.HitFactoryEntryService }, { type: i3.HitVehicleTypeService }, { type: i4.LocalizationService }]; }, propDecorators: { dataGrid: [{
|
|
174
174
|
type: ViewChild,
|
|
175
175
|
args: ['dataGrid', { static: false }]
|
|
176
176
|
}] } });
|
|
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==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS9zcmMvbGliL2hpdC1jb21wb25lbnRzL2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LWxpc3QvaGl0LWZhY3RvcnktZW50cnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWE3RCxNQUFNLE9BQU8sNEJBQTRCO0lBbUJ2QyxZQUNVLFlBQWlDLEVBQ2pDLE9BQStCLEVBQy9CLGtCQUF5QyxFQUN6QyxtQkFBd0M7UUFIeEMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDekMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXBCbEQsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsaUJBQVksR0FBbUIsRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDM0MsZUFBVSxHQUFxQixLQUFLLENBQUM7UUFFckMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsbUJBQWMsR0FBd0IsSUFBSSxDQUFDO1FBRTNDLGtDQUE2QixHQUFHO1lBQzlCLEVBQUUsS0FBSyxFQUFFLFFBQVEs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QyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELDBCQUEwQixDQUFDLFFBQW1DO1FBQzVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsUUFBbUM7UUFDNUQsT0FBTyxRQUFRO1lBQ2IsQ0FBQyxDQUFDLDhDQUE4QztZQUNoRCxDQUFDLENBQUMsZ0RBQWdELENBQUM7SUFDdkQsQ0FBQzs7eUhBNUtVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHdLQ2J6Qyw4N09Bb0tBOzJGRHZKYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsNEJBQTRCO3FOQUtJLFFBQVE7c0JBQWpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBIaXRGYWN0b3J5RW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1mYWN0b3J5LWVudHJ5L2hpdC1mYWN0b3J5LWVudHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWN0b3J5RW50cnkgfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWZhY3RvcnktZW50cnkvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0VmVoaWNsZVR5cGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC12ZWhpY2xlLXR5cGUvaGl0LXZlaGljbGUtdHlwZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhpdC1mYWN0b3J5LWVudHJ5LWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQtZmFjdG9yeS1lbnRyeS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaXQtZmFjdG9yeS1lbnRyeS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRGYWN0b3J5RW50cnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdkYXRhR3JpZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBkYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcblxyXG4gIGFsbERhdGE6IEZhY3RvcnlFbnRyeVtdID0gW107XHJcbiAgZmlsdGVyZWREYXRhOiBGYWN0b3J5RW50cnlbXSA9IFtdO1xyXG4gIHZlaGljbGVUeXBlTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBmaWx0ZXJNb2RlOiAnYWxsJyB8ICdpbnNpZGUnID0gJ2FsbCc7XHJcblxyXG4gIHNob3dGb3JtID0gZmFsc2U7XHJcbiAgZGlzYWJsZWRJZENvbHVtbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkUmVjb3JkOiBGYWN0b3J5RW50cnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZmFjdG9yeVN0YXR1c0ZpbHRlckRhdGFTb3VyY2UgPSBbXHJcbiAgICB7IHZhbHVlOiAnaW5zaWRlJywgdGV4dDogJ0dpcmnFnyBZYXB0xLEnIH0sXHJcbiAgICB7IHZhbHVlOiAnZXhpdGVkJywgdGV4dDogJ8OHxLFrxLHFnyBZYXB0xLEnIH0sXHJcbiAgXTtcclxuXHJcbiAgY2FsY0ZhY3RvcnlTdGF0dXMgPSAocm93OiBGYWN0b3J5RW50cnkpOiBzdHJpbmcgPT4gcm93LnVfRXhpdERhdGUgPyAnZXhpdGVkJyA6ICdpbnNpZGUnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBIaXRGYWN0b3J5RW50cnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2ZWhpY2xlVHlwZVNlcnZpY2U6IEhpdFZlaGljbGVUeXBlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZlaGljbGVUeXBlU2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKHR5cGVzID0+IHtcclxuICAgICAgdGhpcy52ZWhpY2xlVHlwZU1hcCA9IG5ldyBNYXAodHlwZXMubWFwKHQgPT4gW3QuY29kZSwgdC5uYW1lXSkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBsb2FkTGlzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRMaXN0KCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLmFsbERhdGEgPSBkYXRhO1xyXG4gICAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEZpbHRlcihtb2RlOiAnYWxsJyB8ICdpbnNpZGUnKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlck1vZGUgPSBtb2RlO1xyXG4gICAgdGhpcy5hcHBseUZpbHRlcigpO1xyXG4gICAgdGhpcy5kYXRhR3JpZD8uaW5zdGFuY2U/LnJlcGFpbnQoKTtcclxuICB9XHJcblxyXG4gIGFwcGx5RmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2luc2lkZScpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmFsbERhdGEuZmlsdGVyKHggPT4gIXgudV9FeGl0RGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLmFsbERhdGFdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ub29sYmFyUHJlcGFyaW5nKGU6IGFueSk6IHZvaWQge1xyXG4gICAgZS50b29sYmFyT3B0aW9ucy5pdGVtcy51bnNoaWZ0KFxyXG4gICAgICB7XHJcbiAgICAgICAgbG9jYXRpb246ICdhZnRlcicsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIGljb246ICdwbHVzJyxcclxuICAgICAgICAgIHRleHQ6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdLYWRvb2dsdTo6TmV3UmVjb3JkJyksXHJcbiAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB0aGlzLnllbmlLYXlpdCgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsb2NhdGlvbjogJ2JlZm9yZScsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHRleHQ6ICdUw7xtIEFyYcOnbGFyJyxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuZmlsdGVyTW9kZSA9PT0gJ2FsbCcgPyAnc3VjY2VzcycgOiAnbm9ybWFsJyxcclxuICAgICAgICAgIHN0eWxpbmdNb2RlOiB0aGlzLmZpbHRlck1vZGUgPT09ICdhbGwnID8gJ2NvbnRhaW5lZCcgOiAnb3V0bGluZWQnLFxyXG4gICAgICAgICAgb25DbGljazogKCkgPT4gdGhpcy5zZXRGaWx0ZXIoJ2FsbCcpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsb2NhdGlvbjogJ2JlZm9yZScsXHJcbiAgICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIHRleHQ6ICfEsMOnZXJpZGVraSBBcmHDp2xhcicsXHJcbiAgICAgICAgICB0eXBlOiB0aGlzLmZpbHRlck1vZGUgPT09ICdpbnNpZGUnID8gJ3N1Y2Nlc3MnIDogJ25vcm1hbCcsXHJcbiAgICAgICAgICBzdHlsaW5nTW9kZTogdGhpcy5maWx0ZXJNb2RlID09PSAnaW5zaWRlJyA/ICdjb250YWluZWQnIDogJ291dGxpbmVkJyxcclxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHRoaXMuc2V0RmlsdGVyKCdpbnNpZGUnKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgeWVuaUtheWl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZCA9IG51bGw7XHJcbiAgICB0aGlzLnNob3dGb3JtID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGR1emVubGUocm93OiBGYWN0b3J5RW50cnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmQgPSB7IC4uLnJvdyB9O1xyXG4gICAgdGhpcy5zaG93Rm9ybSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjaWtpc1lhcChyb3c6IEZhY3RvcnlFbnRyeSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25cclxuICAgICAgLndhcm4oYFwiJHtyb3cudV9QbGF0ZX1cIiBwbGFrYWzEsSBhcmFjxLFuIMOnxLFrxLHFnyB5YXBhY2HEn8SxbmEgZW1pbiBtaXNpbml6P2AsICcnLCB7XHJcbiAgICAgICAgeWVzVGV4dDogJ0V2ZXQnLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6ICdIYXnEsXInLFxyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ2NvbmZpcm0nKSB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuY2hlY2tvdXQocm93LmRvY0VudHJ5KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5sb2FkTGlzdCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2lsKHJvdzogRmFjdG9yeUVudHJ5KTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAud2FybihgXCIke3Jvdy51X1BsYXRlfVwiIHBsYWthbMSxIGtheWTEsSBzaWxtZWsgaXN0ZWRpxJ9pbml6ZSBlbWluIG1pc2luaXo/YCwgJycsIHtcclxuICAgICAgICB5ZXNUZXh0OiAnRXZldCcsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogJ0hhecSxcicsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSAnY29uZmlybScpIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmRvY0VudHJ5LnRvU3RyaW5nKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxvYWRMaXN0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvcm1TYXZlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMubG9hZExpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uRm9ybUNhbmNlbGxlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvcm1hdEVudHJ5RGF0ZVRpbWUoZGF0ZVN0cjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgdGltZU51bTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWRhdGVTdHIpIHJldHVybiAnJztcclxuICAgIC8vIFRhcmloaSB5ZXJlbCBzYWF0IG9sYXJhayBwYXJzZSBldCAoVVRDIHlvcnVtdW51IMO2bmxlbWVrIGnDp2luIFQwMDowMCBla2xlbm1lZGVuKVxyXG4gICAgY29uc3QgcGFydHMgPSBkYXRlU3RyLnNwbGl0KCdUJylbMF0uc3BsaXQoJy0nKTtcclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPCAzKSByZXR1cm4gZGF0ZVN0cjtcclxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSgrcGFydHNbMF0sICtwYXJ0c1sxXSAtIDEsICtwYXJ0c1syXSk7XHJcbiAgICBpZiAoaXNOYU4oZC5nZXRUaW1lKCkpKSByZXR1cm4gZGF0ZVN0cjtcclxuICAgIGlmICh0aW1lTnVtICE9IG51bGwpIHtcclxuICAgICAgZC5zZXRIb3VycyhNYXRoLmZsb29yKHRpbWVOdW0gLyAxMDApLCB0aW1lTnVtICUgMTAwLCAwLCAwKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRkICAgPSBTdHJpbmcoZC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtbSAgID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCB5eXl5ID0gZC5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgaGggICA9IFN0cmluZyhkLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtaW4gID0gU3RyaW5nKGQuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgcmV0dXJuIGAke2RkfS4ke21tfS4ke3l5eXl9ICR7aGh9OiR7bWlufWA7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRQbGF0ZShwbGF0ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBsYXRlKSByZXR1cm4gJyc7XHJcbiAgICBjb25zdCBwID0gcGxhdGUucmVwbGFjZSgvXFxzKy9nLCAnJykudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IG1hdGNoID0gcC5tYXRjaCgvXihcXGR7Mn0pKFtBLVrDh8SexLDDlsWew5xdezEsM30pKFxcZHsxLDR9KSQvKTtcclxuICAgIHJldHVybiBtYXRjaCA/IGAke21hdGNoWzFdfSAke21hdGNoWzJdfSAke21hdGNoWzNdfWAgOiBwbGF0ZTtcclxuICB9XHJcblxyXG4gIGdldFZlaGljbGVUeXBlTmFtZShjb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFjb2RlKSByZXR1cm4gJyc7XHJcbiAgICByZXR1cm4gdGhpcy52ZWhpY2xlVHlwZU1hcC5nZXQoY29kZSkgPz8gY29kZTtcclxuICB9XHJcblxyXG4gIGdldEZhY3RvcnlFbnRyeVN0YXR1c0xhYmVsKGV4aXREYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBleGl0RGF0ZSA/ICfDh8Sxa8SxxZ8gWWFwdMSxJyA6ICdHaXJpxZ8gWWFwdMSxJztcclxuICB9XHJcblxyXG4gIGdldEZhY3RvcnlFbnRyeVN0YXR1c0NsYXNzKGV4aXREYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBleGl0RGF0ZVxyXG4gICAgICA/ICdiYWRnZSByb3VuZGVkLXBpbGwgYmctc3VjY2VzcyBmcy02IGZ3LW5vcm1hbCdcclxuICAgICAgOiAnYmFkZ2Ugcm91bmRlZC1waWxsIGJnLXNlY29uZGFyeSBmcy02IGZ3LW5vcm1hbCc7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbYnJlYWRjcnVtYl09XCJmYWxzZVwiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInBhZ2UtdGl0bGVcIj57eyAnS2Fkb29nbHU6OkZhY3RvcnlFbnRyeVRpdGxlJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgbXQtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG5cclxuICAgICAgPCEtLSBHcmlkIC0tPlxyXG4gICAgICA8ZHgtZGF0YS1ncmlkXHJcbiAgICAgICAgI2RhdGFHcmlkXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZmlsdGVyZWREYXRhXCJcclxuICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAga2V5RXhwcj1cImRvY0VudHJ5XCJcclxuICAgICAgICAob25Ub29sYmFyUHJlcGFyaW5nKT1cIm9uVG9vbGJhclByZXBhcmluZygkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KTtcIj5cclxuXHJcbiAgICAgICAgPGR4by1zY3JvbGxpbmcgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiIFt1c2VOYXRpdmVdPVwiZmFsc2VcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbCBbdmlzaWJsZV09XCJ0cnVlXCIgW3dpZHRoXT1cIjIwMFwiIFtwbGFjZWhvbGRlcl09XCInS2Fkb29nbHU6OkFyYScgfCBhYnBMb2NhbGl6YXRpb25cIj48L2R4by1zZWFyY2gtcGFuZWw+XHJcblxyXG4gICAgICAgIDxkeG8tcGFnZXJcclxuICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxyXG4gICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCJcclxuICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHhvLXBhZ2VyPlxyXG4gICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuXHJcbiAgICAgICAgPGR4aS1jb2x1bW4gW2ZpeGVkXT1cInRydWVcIiBkYXRhRmllbGQ9XCJkb2NFbnRyeVwiIHdpZHRoPVwiMTIwXCIgW2FsbG93R3JvdXBpbmddPVwiZmFsc2VcIiBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dIZWFkZXJGaWx0ZXJpbmddPVwiZmFsc2VcIiBbYWxsb3dIaWRpbmddPVwiZmFsc2VcIiBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3BlcmF0aW9uVGVtcGxhdGVcIiBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnb3BlcmF0aW9uVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgbmdiRHJvcGRvd25Ub2dnbGUgW2Rpc2FibGVkXT1cImRpc2FibGVkSWRDb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbXItMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbSAoY2xpY2spPVwiZHV6ZW5sZShyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4ge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKm5nSWY9XCIhcm93LmRhdGEudV9FeGl0RGF0ZVwiIChjbGljayk9XCJjaWtpc1lhcChyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2lnbi1vdXRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IMOHxLFrxLHFnyBZYXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgZGF0YUZpZWxkPVwidV9TdGF0dXNcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICBbZml4ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBhbGlnbm1lbnQ9XCJjZW50ZXJcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZmFjdG9yeUVudHJ5U3RhdHVzVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgW2NhbGN1bGF0ZUNlbGxWYWx1ZV09XCJjYWxjRmFjdG9yeVN0YXR1c1wiPlxyXG4gICAgICAgICAgPGR4by1sb29rdXAgW2RhdGFTb3VyY2VdPVwiZmFjdG9yeVN0YXR1c0ZpbHRlckRhdGFTb3VyY2VcIiB2YWx1ZUV4cHI9XCJ2YWx1ZVwiIGRpc3BsYXlFeHByPVwidGV4dFwiPjwvZHhvLWxvb2t1cD5cclxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbZGF0YVNvdXJjZV09XCJmYWN0b3J5U3RhdHVzRmlsdGVyRGF0YVNvdXJjZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgZGF0YUZpZWxkPVwidV9FbnRyeURhdGVcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6RW50cnlEYXRlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZW50cnlEYXRlVGVtcGxhdGVcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICBkYXRhRmllbGQ9XCJ1X0V4aXREYXRlXCJcclxuICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OkV4aXREYXRlVGltZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgW3Zpc2libGVdPVwiZmlsdGVyTW9kZSA9PT0gJ2FsbCdcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZXhpdERhdGVUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICBkYXRhRmllbGQ9XCJ1X0ZXRGF0ZVwiXHJcbiAgICAgICAgICBjYXB0aW9uPVwiMS5UYXJ0xLFtIFRhcmloL1NhYXRcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwiZndEYXRlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG5cclxuICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgZGF0YUZpZWxkPVwidV9MV0RhdGVcIlxyXG4gICAgICAgICAgY2FwdGlvbj1cIjIuVGFydMSxbSBUYXJpaC9TYWF0XCJcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cImx3RGF0ZVRlbXBsYXRlXCJcclxuICAgICAgICAgIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiPlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9FbnRyeVR5cGVcIiBjYXB0aW9uPVwiQXJhw6cgSGFyZWtldCBUw7xyw7xcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwidmVoaWNsZVR5cGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X1BsYXRlXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6UGxhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgY2VsbFRlbXBsYXRlPVwicGxhdGVUZW1wbGF0ZVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0RvcnNlUGxhdGVcIiBjYXB0aW9uPVwie3sgJ0thZG9vZ2x1OjpEb3JzZVBsYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIGNlbGxUZW1wbGF0ZT1cImRvcnNlUGxhdGVUZW1wbGF0ZVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0RyaXZlclwiIGNhcHRpb249XCJ7eyAnS2Fkb29nbHU6OkRyaXZlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwidV9UY05vXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6VGNJZGVudGl0eU5vJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ1X0NhcmRDb2RlXCIgY2FwdGlvbj1cInt7ICdLYWRvb2dsdTo6QnVzaW5lc3NQYXJ0bmVyJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPjwvZHhpLWNvbHVtbj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICd2ZWhpY2xlVHlwZVRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAge3sgZ2V0VmVoaWNsZVR5cGVOYW1lKGNlbGwuZGF0YS51X0VudHJ5VHlwZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICdlbnRyeURhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGZvcm1hdEVudHJ5RGF0ZVRpbWUoY2VsbC5kYXRhLnVfRW50cnlEYXRlLCBjZWxsLmRhdGEudV9FbnRyeVRpbWUpIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAncGxhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2VsbC5kYXRhLnVfUGxhdGVcIiBjbGFzcz1cInRyLXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHItcGxhdGUtYmx1ZVwiPlRSPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyLXBsYXRlLXRleHRcIj57eyBmb3JtYXRQbGF0ZShjZWxsLmRhdGEudV9QbGF0ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZG9yc2VQbGF0ZVRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjZWxsLmRhdGEudV9Eb3JzZVBsYXRlXCIgY2xhc3M9XCJ0ci1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyLXBsYXRlLWJsdWVcIj5UUjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ci1wbGF0ZS10ZXh0XCI+e3sgZm9ybWF0UGxhdGUoY2VsbC5kYXRhLnVfRG9yc2VQbGF0ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZXhpdERhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGZvcm1hdEVudHJ5RGF0ZVRpbWUoY2VsbC5kYXRhLnVfRXhpdERhdGUsIGNlbGwuZGF0YS51X0V4aXRUaW1lKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGwgb2YgJ2Z3RGF0ZVRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAge3sgZm9ybWF0RW50cnlEYXRlVGltZShjZWxsLmRhdGEudV9GV0RhdGUsIGNlbGwuZGF0YS51X0ZXVGltZSkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsIG9mICdsd0RhdGVUZW1wbGF0ZSdcIj5cclxuICAgICAgICAgIHt7IGZvcm1hdEVudHJ5RGF0ZVRpbWUoY2VsbC5kYXRhLnVfTFdEYXRlLCBjZWxsLmRhdGEudV9MV1RpbWUpIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbCBvZiAnZmFjdG9yeUVudHJ5U3RhdHVzVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiZ2V0RmFjdG9yeUVudHJ5U3RhdHVzQ2xhc3MoY2VsbC5kYXRhLnVfRXhpdERhdGUpXCIgc3R5bGU9XCJwYWRkaW5nOiAwLjI1ZW0gLjVlbSAuMjVlbSAuNWVtO1wiPlxyXG4gICAgICAgICAgICB7eyBnZXRGYWN0b3J5RW50cnlTdGF0dXNMYWJlbChjZWxsLmRhdGEudV9FeGl0RGF0ZSkgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48bGliLWhpdC1mYWN0b3J5LWVudHJ5LWZvcm1cclxuICBbKHZpc2libGUpXT1cInNob3dGb3JtXCJcclxuICBbcmVjb3JkXT1cInNlbGVjdGVkUmVjb3JkXCJcclxuICAoc2F2ZWQpPVwib25Gb3JtU2F2ZWQoKVwiXHJcbiAgKGNhbmNlbGxlZCk9XCJvbkZvcm1DYW5jZWxsZWQoKVwiPlxyXG48L2xpYi1oaXQtZmFjdG9yeS1lbnRyeS1mb3JtPlxyXG4iXX0=
|
|
@@ -37,7 +37,7 @@ export class HitKntItemEslFormComponent {
|
|
|
37
37
|
}
|
|
38
38
|
initForm() {
|
|
39
39
|
if (this.record) {
|
|
40
|
-
this.code = this.record.code;
|
|
40
|
+
this.code = this.record.u_CikisKalemKodu ?? this.record.code;
|
|
41
41
|
this.u_CikisKalemTanimi = this.record.u_CikisKalemTanimi ?? '';
|
|
42
42
|
this.u_GirisKalemKodu = this.record.u_GirisKalemKodu ?? '';
|
|
43
43
|
this.u_GirisKalemTanimi = this.record.u_GirisKalemTanimi ?? '';
|
|
@@ -122,10 +122,10 @@ export class HitKntItemEslFormComponent {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
HitKntItemEslFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslFormComponent, deps: [{ token: i1.HitKntItemEslService }, { token: i2.HitItemService }, { token: i3.ConfirmationService }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
HitKntItemEslFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitKntItemEslFormComponent, selector: "lib-hit-knt-item-esl-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"
|
|
125
|
+
HitKntItemEslFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitKntItemEslFormComponent, selector: "lib-hit-knt-item-esl-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemCode\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"code\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemCode\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemKodu\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "readOnly", "showDateFilter", "defaultDateFrom", "defaultDateTo", "tabs", "editingData"], outputs: ["selected"] }, { kind: "component", type: i6.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
126
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslFormComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
|
-
args: [{ selector: 'lib-hit-knt-item-esl-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"
|
|
128
|
+
args: [{ selector: 'lib-hit-knt-item-esl-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemCode\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"code\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemCode\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemKodu\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
129
129
|
}], ctorParameters: function () { return [{ type: i1.HitKntItemEslService }, { type: i2.HitItemService }, { type: i3.ConfirmationService }, { type: i4.LocalizationService }]; }, propDecorators: { visible: [{
|
|
130
130
|
type: Input
|
|
131
131
|
}], visibleChange: [{
|
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
137
137
|
}], cancelled: [{
|
|
138
138
|
type: Output
|
|
139
139
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvaGl0LWNvbXBvbmVudHMvaGl0LWtudC1pdGVtLWVzbC9oaXQta250LWl0ZW0tZXNsLWZvcm0vaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvaGl0LWNvbXBvbmVudHMvaGl0LWtudC1pdGVtLWVzbC9oaXQta250LWl0ZW0tZXNsLWZvcm0vaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWXZCLE1BQU0sT0FBTywwQkFBMEI7SUFvQnJDLFlBQ1UsT0FBNkIsRUFDN0IsV0FBMkIsRUFDM0IsWUFBaUMsRUFDakMsbUJBQXdDO1FBSHhDLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZCekMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxXQUFNLEdBQXNCLElBQUksQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztR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QUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7O3VIQTlIVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw2TkNwQnZDLHdvR0FpRUE7MkZEN0NhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSwyQkFBMkI7NE1BSTVCLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLE1BQU07c0JBQWQsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSGl0S250SXRlbUVzbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWtudC1pdGVtLWVzbC9oaXQta250LWl0ZW0tZXNsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLbnRJdGVtRXNsLCBTYXZlS250SXRlbUVzbER0byB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQta250LWl0ZW0tZXNsL21vZGVscyc7XHJcbmltcG9ydCB7IEhpdEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1pdGVtL2hpdC1pdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1pdGVtL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1oaXQta250LWl0ZW0tZXNsLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXQta250LWl0ZW0tZXNsLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0S250SXRlbUVzbEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogS250SXRlbUVzbCB8IG51bGwgPSBudWxsO1xyXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgY2FuY2VsbGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBjb2RlID0gJyc7XHJcbiAgdV9DaWtpc0thbGVtVGFuaW1pID0gJyc7XHJcbiAgdV9HaXJpc0thbGVtS29kdSA9ICcnO1xyXG4gIHVfR2lyaXNLYWxlbVRhbmltaSA9ICcnO1xyXG4gIGlzQWN0aXZlID0gZmFsc2U7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIGxvYWRJdGVtcyA9ICgpID0+IHRoaXMuaXRlbVNlcnZpY2UuZ2V0TGlzdCgpO1xyXG4gIGl0ZW1Db2x1bW5zID0gW1xyXG4gICAgeyBkYXRhRmllbGQ6ICdpdGVtQ29kZScsIGNhcHRpb246ICdLb2QnLCB3aWR0aDogMTIwIH0sXHJcbiAgICB7IGRhdGFGaWVsZDogJ2l0ZW1OYW1lJywgY2FwdGlvbjogJ0thbGVtIEFkxLEnIH0sXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IEhpdEtudEl0ZW1Fc2xTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpdGVtU2VydmljZTogSGl0SXRlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYWxpemF0aW9uU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sndmlzaWJsZSddPy5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5pbml0Rm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlY29yZCkge1xyXG4gICAgICB0aGlzLmNvZGUgPSB0aGlzLnJlY29yZC5jb2RlO1xyXG4gICAgICB0aGlzLnVfQ2lraXNLYWxlbVRhbmltaSA9IHRoaXMucmVjb3JkLnVfQ2lraXNLYWxlbVRhbmltaSA/PyAnJztcclxuICAgICAgdGhpcy51X0dpcmlzS2FsZW1Lb2R1ID0gdGhpcy5yZWNvcmQudV9HaXJpc0thbGVtS29kdSA/PyAnJztcclxuICAgICAgdGhpcy51X0dpcmlzS2FsZW1UYW5pbWkgPSB0aGlzLnJlY29yZC51X0dpcmlzS2FsZW1UYW5pbWkgPz8gJyc7XHJcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0aGlzLnJlY29yZC51X0FjdGl2ZSA9PT0gJ1knO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb2RlID0gJyc7XHJcbiAgICAgIHRoaXMudV9DaWtpc0thbGVtVGFuaW1pID0gJyc7XHJcbiAgICAgIHRoaXMudV9HaXJpc0thbGVtS29kdSA9ICcnO1xyXG4gICAgICB0aGlzLnVfR2lyaXNLYWxlbVRhbmltaSA9ICcnO1xyXG4gICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRXhpdEl0ZW1TZWxlY3RlZChpdGVtOiBJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcclxuICAgIHRoaXMuY29kZSA9IGl0ZW0uaXRlbUNvZGU7XHJcbiAgICB0aGlzLnVfQ2lraXNLYWxlbVRhbmltaSA9IGl0ZW0uaXRlbU5hbWU7XHJcbiAgfVxyXG5cclxuICBvbkVudHJ5SXRlbVNlbGVjdGVkKGl0ZW06IEl0ZW0pOiB2b2lkIHtcclxuICAgIGlmICghaXRlbSkgcmV0dXJuO1xyXG4gICAgdGhpcy51X0dpcmlzS2FsZW1Lb2R1ID0gaXRlbS5pdGVtQ29kZTtcclxuICAgIHRoaXMudV9HaXJpc0thbGVtVGFuaW1pID0gaXRlbS5pdGVtTmFtZTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY29kZSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdLYWRvb2dsdTo6U2VsZWN0RXhpdEl0ZW1Db2RlJyksICcnLCB7XHJcbiAgICAgICAgaGlkZVllc0J0bjogdHJ1ZSxcclxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnQWJwVWk6OkNhbmNlbCcpLFxyXG4gICAgICAgIGRpc21pc3NpYmxlOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMudV9HaXJpc0thbGVtS29kdSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdLYWRvb2dsdTo6U2VsZWN0RW50cnlJdGVtQ29kZScpLCAnJywge1xyXG4gICAgICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FicFVpOjpDYW5jZWwnKSxcclxuICAgICAgICBkaXNtaXNzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29kZSA9PT0gdGhpcy51X0dpcmlzS2FsZW1Lb2R1KSB7XHJcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uLndhcm4odGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoJ0thZG9vZ2x1OjpFbnRyeUV4aXRJdGVtQ29kZU11c3RCZURpZmZlcmVudCcpLCAnJywge1xyXG4gICAgICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FicFVpOjpDYW5jZWwnKSxcclxuICAgICAgICBkaXNtaXNzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZHRvOiBTYXZlS250SXRlbUVzbER0byA9IHtcclxuICAgICAgY29kZTogdGhpcy5jb2RlLFxyXG4gICAgICB1X0Npa2lzS2FsZW1Lb2R1OiB0aGlzLmNvZGUsXHJcbiAgICAgIHVfQ2lraXNLYWxlbVRhbmltaTogdGhpcy51X0Npa2lzS2FsZW1UYW5pbWksXHJcbiAgICAgIHVfR2lyaXNLYWxlbUtvZHU6IHRoaXMudV9HaXJpc0thbGVtS29kdSxcclxuICAgICAgdV9HaXJpc0thbGVtVGFuaW1pOiB0aGlzLnVfR2lyaXNLYWxlbVRhbmltaSxcclxuICAgICAgdV9BY3RpdmU6IHRoaXMuaXNBY3RpdmUgPyAnWScgOiAnTicsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9icyQgPSB0aGlzLnJlY29yZD8uY29kZVxyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5yZWNvcmQuY29kZSwgZHRvKVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUoZHRvKTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBvYnMkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uTW9kYWxWaXNpYmxlQ2hhbmdlKHZhbDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aXNpYmxlID0gdmFsO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsKTtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMuY2FuY2VsbGVkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Nb2RhbFZpc2libGVDaGFuZ2UoZmFsc2UpO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLW1vZGFsIFt2aXNpYmxlXT1cInZpc2libGVcIiAodmlzaWJsZUNoYW5nZSk9XCJvbk1vZGFsVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCIgW29wdGlvbnNdPVwieyBzaXplOiAnbGcnLCBiYWNrZHJvcDogJ3N0YXRpYycgfVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7IHJlY29yZD8uY29kZSA/ICgnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uKSA6ICgnS2Fkb29nbHU6Ok5ld1JlY29yZCcgfCBhYnBMb2NhbGl6YXRpb24pIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zIG1iLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWxpbmsgbWUtMlwiPjwvaT57eyAnS2Fkb29nbHU6OkJhc2ljSW5mbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OkV4aXRJdGVtQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgIDxoaXQtbG9va3VwLXNlbGVjdFxyXG4gICAgICAgICAgICBbbG9hZEZuXT1cImxvYWRJdGVtc1wiXHJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cIml0ZW1Db2x1bW5zXCJcclxuICAgICAgICAgICAgZGlzcGxheU5hbWU9XCJpdGVtTmFtZVwiXHJcbiAgICAgICAgICAgIGtleUV4cHI9XCJpdGVtQ29kZVwiXHJcbiAgICAgICAgICAgIFtlZGl0aW5nRGF0YV09XCJ1X0Npa2lzS2FsZW1UYW5pbWlcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFyZWNvcmQ/LmNvZGVcIlxyXG4gICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25FeGl0SXRlbVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDwvaGl0LWxvb2t1cC1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPnt7ICdLYWRvb2dsdTo6RXhpdEl0ZW1EZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9DaWtpc0thbGVtVGFuaW1pXCIgW3JlYWRPbmx5XT1cInRydWVcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xIHNtYWxsIGZ3LXNlbWlib2xkIHRleHQtbXV0ZWRcIj57eyAnS2Fkb29nbHU6OkVudHJ5SXRlbUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19IDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICA8aGl0LWxvb2t1cC1zZWxlY3RcclxuICAgICAgICAgICAgW2xvYWRGbl09XCJsb2FkSXRlbXNcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJpdGVtQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lPVwiaXRlbU5hbWVcIlxyXG4gICAgICAgICAgICBrZXlFeHByPVwiaXRlbUNvZGVcIlxyXG4gICAgICAgICAgICBbZWRpdGluZ0RhdGFdPVwidV9HaXJpc0thbGVtVGFuaW1pXCJcclxuICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uRW50cnlJdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9oaXQtbG9va3VwLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpFbnRyeUl0ZW1EZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9HaXJpc0thbGVtVGFuaW1pXCIgW3JlYWRPbmx5XT1cInRydWVcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRHVydW0gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zIG10LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRvZ2dsZS1vbiBtZS0yXCI+PC9pPnt7ICdLYWRvb2dsdTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGR4LWNoZWNrLWJveCBbKHZhbHVlKV09XCJpc0FjdGl2ZVwiIFt0ZXh0XT1cIidLYWRvb2dsdTo6SXNBY3RpdmUnIHwgYWJwTG9jYWxpemF0aW9uXCI+PC9keC1jaGVjay1ib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLXNhdmVcIiBidXR0b25UeXBlPVwiYnV0dG9uXCIgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCIgKGNsaWNrKT1cInNhdmUoKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvaGl0LWNvbXBvbmVudHMvaGl0LWtudC1pdGVtLWVzbC9oaXQta250LWl0ZW0tZXNsLWZvcm0vaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1L3NyYy9saWIvaGl0LWNvbXBvbmVudHMvaGl0LWtudC1pdGVtLWVzbC9oaXQta250LWl0ZW0tZXNsLWZvcm0vaGl0LWtudC1pdGVtLWVzbC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBWXZCLE1BQU0sT0FBTywwQkFBMEI7SUFvQnJDLFlBQ1UsT0FBNkIsRUFDN0IsV0FBMkIsRUFDM0IsWUFBaUMsRUFDakMsbUJBQXdDO1FBSHhDLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXZCekMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxXQUFNLEdBQXNCLElBQUksQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztR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UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFZO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7dUhBOUhVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDZOQ3BCdkMsd25HQWlFQTsyRkQ3Q2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLDJCQUEyQjs0TUFJNUIsT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBIaXRLbnRJdGVtRXNsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2hpdC1wcm94eS9oaXQta250LWl0ZW0tZXNsL2hpdC1rbnQtaXRlbS1lc2wuc2VydmljZSc7XHJcbmltcG9ydCB7IEtudEl0ZW1Fc2wsIFNhdmVLbnRJdGVtRXNsRHRvIH0gZnJvbSAnLi4vLi4vLi4vaGl0LXByb3h5L2hpdC1rbnQtaXRlbS1lc2wvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0SXRlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWl0ZW0vaGl0LWl0ZW0uc2VydmljZSc7XHJcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9oaXQtcHJveHkvaGl0LWl0ZW0vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhpdC1rbnQtaXRlbS1lc2wtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdC1rbnQtaXRlbS1lc2wtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRLbnRJdGVtRXNsRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBLbnRJdGVtRXNsIHwgbnVsbCA9IG51bGw7XHJcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWxsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvZGUgPSAnJztcclxuICB1X0Npa2lzS2FsZW1UYW5pbWkgPSAnJztcclxuICB1X0dpcmlzS2FsZW1Lb2R1ID0gJyc7XHJcbiAgdV9HaXJpc0thbGVtVGFuaW1pID0gJyc7XHJcbiAgaXNBY3RpdmUgPSBmYWxzZTtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgbG9hZEl0ZW1zID0gKCkgPT4gdGhpcy5pdGVtU2VydmljZS5nZXRMaXN0KCk7XHJcbiAgaXRlbUNvbHVtbnMgPSBbXHJcbiAgICB7IGRhdGFGaWVsZDogJ2l0ZW1Db2RlJywgY2FwdGlvbjogJ0tvZCcsIHdpZHRoOiAxMjAgfSxcclxuICAgIHsgZGF0YUZpZWxkOiAnaXRlbU5hbWUnLCBjYXB0aW9uOiAnS2FsZW0gQWTEsScgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogSGl0S250SXRlbUVzbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGl0ZW1TZXJ2aWNlOiBIaXRJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10/LmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmluaXRGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVjb3JkKSB7XHJcbiAgICAgIHRoaXMuY29kZSA9IHRoaXMucmVjb3JkLnVfQ2lraXNLYWxlbUtvZHUgPz8gdGhpcy5yZWNvcmQuY29kZTtcclxuICAgICAgdGhpcy51X0Npa2lzS2FsZW1UYW5pbWkgPSB0aGlzLnJlY29yZC51X0Npa2lzS2FsZW1UYW5pbWkgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9HaXJpc0thbGVtS29kdSA9IHRoaXMucmVjb3JkLnVfR2lyaXNLYWxlbUtvZHUgPz8gJyc7XHJcbiAgICAgIHRoaXMudV9HaXJpc0thbGVtVGFuaW1pID0gdGhpcy5yZWNvcmQudV9HaXJpc0thbGVtVGFuaW1pID8/ICcnO1xyXG4gICAgICB0aGlzLmlzQWN0aXZlID0gdGhpcy5yZWNvcmQudV9BY3RpdmUgPT09ICdZJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29kZSA9ICcnO1xyXG4gICAgICB0aGlzLnVfQ2lraXNLYWxlbVRhbmltaSA9ICcnO1xyXG4gICAgICB0aGlzLnVfR2lyaXNLYWxlbUtvZHUgPSAnJztcclxuICAgICAgdGhpcy51X0dpcmlzS2FsZW1UYW5pbWkgPSAnJztcclxuICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkV4aXRJdGVtU2VsZWN0ZWQoaXRlbTogSXRlbSk6IHZvaWQge1xyXG4gICAgaWYgKCFpdGVtKSByZXR1cm47XHJcbiAgICB0aGlzLmNvZGUgPSBpdGVtLml0ZW1Db2RlO1xyXG4gICAgdGhpcy51X0Npa2lzS2FsZW1UYW5pbWkgPSBpdGVtLml0ZW1OYW1lO1xyXG4gIH1cclxuXHJcbiAgb25FbnRyeUl0ZW1TZWxlY3RlZChpdGVtOiBJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcclxuICAgIHRoaXMudV9HaXJpc0thbGVtS29kdSA9IGl0ZW0uaXRlbUNvZGU7XHJcbiAgICB0aGlzLnVfR2lyaXNLYWxlbVRhbmltaSA9IGl0ZW0uaXRlbU5hbWU7XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvZGUpIHtcclxuICAgICAgdGhpcy5jb25maXJtYXRpb24ud2Fybih0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnS2Fkb29nbHU6OlNlbGVjdEV4aXRJdGVtQ29kZScpLCAnJywge1xyXG4gICAgICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoJ0FicFVpOjpDYW5jZWwnKSxcclxuICAgICAgICBkaXNtaXNzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnVfR2lyaXNLYWxlbUtvZHUpIHtcclxuICAgICAgdGhpcy5jb25maXJtYXRpb24ud2Fybih0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnS2Fkb29nbHU6OlNlbGVjdEVudHJ5SXRlbUNvZGUnKSwgJycsIHtcclxuICAgICAgICBoaWRlWWVzQnRuOiB0cnVlLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdBYnBVaTo6Q2FuY2VsJyksXHJcbiAgICAgICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvZGUgPT09IHRoaXMudV9HaXJpc0thbGVtS29kdSkge1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbi53YXJuKHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdLYWRvb2dsdTo6RW50cnlFeGl0SXRlbUNvZGVNdXN0QmVEaWZmZXJlbnQnKSwgJycsIHtcclxuICAgICAgICBoaWRlWWVzQnRuOiB0cnVlLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdBYnBVaTo6Q2FuY2VsJyksXHJcbiAgICAgICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGR0bzogU2F2ZUtudEl0ZW1Fc2xEdG8gPSB7XHJcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcclxuICAgICAgdV9DaWtpc0thbGVtS29kdTogdGhpcy5jb2RlLFxyXG4gICAgICB1X0Npa2lzS2FsZW1UYW5pbWk6IHRoaXMudV9DaWtpc0thbGVtVGFuaW1pLFxyXG4gICAgICB1X0dpcmlzS2FsZW1Lb2R1OiB0aGlzLnVfR2lyaXNLYWxlbUtvZHUsXHJcbiAgICAgIHVfR2lyaXNLYWxlbVRhbmltaTogdGhpcy51X0dpcmlzS2FsZW1UYW5pbWksXHJcbiAgICAgIHVfQWN0aXZlOiB0aGlzLmlzQWN0aXZlID8gJ1knIDogJ04nLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvYnMkID0gdGhpcy5yZWNvcmQ/LmNvZGVcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMucmVjb3JkLmNvZGUsIGR0bylcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKGR0byk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgb2JzJC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNhdmVkLmVtaXQoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbk1vZGFsVmlzaWJsZUNoYW5nZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IHZhbDtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICBpZiAoIXZhbCkge1xyXG4gICAgICB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTW9kYWxWaXNpYmxlQ2hhbmdlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbCBbdmlzaWJsZV09XCJ2aXNpYmxlXCIgKHZpc2libGVDaGFuZ2UpPVwib25Nb2RhbFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiIFtvcHRpb25zXT1cInsgc2l6ZTogJ2xnJywgYmFja2Ryb3A6ICdzdGF0aWMnIH1cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz57eyByZWNvcmQ/LmNvZGUgPyAoJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbikgOiAoJ0thZG9vZ2x1OjpOZXdSZWNvcmQnIHwgYWJwTG9jYWxpemF0aW9uKSB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGRpdiBjbGFzcz1cImJvcmRlciByb3VuZGVkIHAtMyBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItYm90dG9tIHBiLTIgbWItMyBmdy1ib2xkIHRleHQtc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1saW5rIG1lLTJcIj48L2k+e3sgJ0thZG9vZ2x1OjpCYXNpY0luZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpFeGl0SXRlbUNvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19IDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICA8aGl0LWxvb2t1cC1zZWxlY3RcclxuICAgICAgICAgICAgW2xvYWRGbl09XCJsb2FkSXRlbXNcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJpdGVtQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lPVwiaXRlbUNvZGVcIlxyXG4gICAgICAgICAgICBrZXlFeHByPVwiaXRlbUNvZGVcIlxyXG4gICAgICAgICAgICBbZWRpdGluZ0RhdGFdPVwiY29kZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIXJlY29yZD8uY29kZVwiXHJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbkV4aXRJdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9oaXQtbG9va3VwLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpFeGl0SXRlbURlc2MnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgICAgIDxkeC10ZXh0LWJveCBbKHZhbHVlKV09XCJ1X0Npa2lzS2FsZW1UYW5pbWlcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIHdpZHRoPVwiMTAwJVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTEgc21hbGwgZnctc2VtaWJvbGQgdGV4dC1tdXRlZFwiPnt7ICdLYWRvb2dsdTo6RW50cnlJdGVtQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX0gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgIDxoaXQtbG9va3VwLXNlbGVjdFxyXG4gICAgICAgICAgICBbbG9hZEZuXT1cImxvYWRJdGVtc1wiXHJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cIml0ZW1Db2x1bW5zXCJcclxuICAgICAgICAgICAgZGlzcGxheU5hbWU9XCJpdGVtQ29kZVwiXHJcbiAgICAgICAgICAgIGtleUV4cHI9XCJpdGVtQ29kZVwiXHJcbiAgICAgICAgICAgIFtlZGl0aW5nRGF0YV09XCJ1X0dpcmlzS2FsZW1Lb2R1XCJcclxuICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uRW50cnlJdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9oaXQtbG9va3VwLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMSBzbWFsbCBmdy1zZW1pYm9sZCB0ZXh0LW11dGVkXCI+e3sgJ0thZG9vZ2x1OjpFbnRyeUl0ZW1EZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyh2YWx1ZSldPVwidV9HaXJpc0thbGVtVGFuaW1pXCIgW3JlYWRPbmx5XT1cInRydWVcIiB3aWR0aD1cIjEwMCVcIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRHVydW0gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0zIG10LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1ib3R0b20gcGItMiBtYi0zIGZ3LWJvbGQgdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRvZ2dsZS1vbiBtZS0yXCI+PC9pPnt7ICdLYWRvb2dsdTo6U3RhdHVzJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGR4LWNoZWNrLWJveCBbKHZhbHVlKV09XCJpc0FjdGl2ZVwiIFt0ZXh0XT1cIidLYWRvb2dsdTo6SXNBY3RpdmUnIHwgYWJwTG9jYWxpemF0aW9uXCI+PC9keC1jaGVjay1ib3g+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLXNhdmVcIiBidXR0b25UeXBlPVwiYnV0dG9uXCIgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCIgKGNsaWNrKT1cInNhdmUoKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
@@ -125,7 +125,7 @@ export class HitVehicleTypeFormComponent {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
HitVehicleTypeFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeFormComponent, deps: [{ token: i1.HitVehicleTypeService }, { token: i2.HitWarehouseService }, { token: i3.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
-
HitVehicleTypeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitVehicleTypeFormComponent, selector: "lib-hit-vehicle-type-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/\u00C7 Yap\u0131lacak M\u0131?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "readOnly", "showDateFilter", "defaultDateFrom", "defaultDateTo", "editingData"], outputs: ["selected"] }, { kind: "component", type: i6.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i7.LocalizationPipe, name: "abpLocalization" }] });
|
|
128
|
+
HitVehicleTypeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitVehicleTypeFormComponent, selector: "lib-hit-vehicle-type-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/\u00C7 Yap\u0131lacak M\u0131?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "readOnly", "showDateFilter", "defaultDateFrom", "defaultDateTo", "tabs", "editingData"], outputs: ["selected"] }, { kind: "component", type: i6.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i6.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i7.LocalizationPipe, name: "abpLocalization" }] });
|
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeFormComponent, decorators: [{
|
|
130
130
|
type: Component,
|
|
131
131
|
args: [{ selector: 'lib-hit-vehicle-type-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/\u00C7 Yap\u0131lacak M\u0131?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUvc3JjL2xpYi9oaXQtcHJveHkvaGl0LWNhcnJpZXItcGVyc29uL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYXJyaWVyUGVyc29uIHtcclxuICBjb2RlOiBzdHJpbmc7ICAgLy8gVC5DLiBLaW1saWsgTm9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdV9GaXJzdG5hbWU6IHN0cmluZztcclxuICB1X0xhc3RuYW1lOiBzdHJpbmc7XHJcbiAgdV9QbGF0ZTogc3RyaW5nO1xyXG4gIHVfVGVsOiBzdHJpbmc7XHJcbiAgdV9BY3RpdmU6IHN0cmluZztcclxuICB1X0RlZkJQOiBzdHJpbmc7XHJcbiAgdV9DYXJyaWVyRmlybTogc3RyaW5nO1xyXG4gIHVfVGNWdG5kc2lNaT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTYXZlQ2FycmllclBlcnNvbkR0byB7XHJcbiAgY29kZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB1X0ZpcnN0bmFtZTogc3RyaW5nO1xyXG4gIHVfTGFzdG5hbWU6IHN0cmluZztcclxuICB1X1BsYXRlOiBzdHJpbmc7XHJcbiAgdV9UZWw6IHN0cmluZztcclxuICB1X0FjdGl2ZTogc3RyaW5nO1xyXG4gIHVfRGVmQlA6IHN0cmluZztcclxuICB1X0NhcnJpZXJGaXJtOiBzdHJpbmc7XHJcbiAgdV9UY1Z0bmRzaU1pPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|