This is an automated email from the ASF dual-hosted git repository.

tenthe pushed a change to branch fix-data-lake-sink-retention
in repository https://gitbox.apache.org/repos/asf/streampipes.git


    from 594f98492a Merge branch 'dev' into fix-data-lake-sink-retention
     add 6207ca9460 feat: Workflow consistency for Dashboards (#4487)
     add 622c34eb32 chore(#4523): enable unused vars lint rule (#4524)
     add c945d9a269 fix: Sidebar extraction in maven plugin (#4530)
     add 92e2559851 docs: Improve README file (#4531)
     add f1b649fc30 Harmonize resource creation workflow for charts (#4527)
     add 3fe3be44a2 fixes for new Dashboard Workflow (#4529)
     add a90a7a64eb Test fixes for nightlys due to new resource workflow (#4532)
     add 8160f91b53 chore(deps): bump tmp from 0.2.5 to 0.2.7 in /ui (#4510)
     add 2763814e7e fix: Use prometheus collector bridge (#4536)
     add e9c88fdf40 fix(#4539): Use correct elementId for deeply cloned widgets 
(#4540)
     add 61cea90539 fix(#4497): Prevent duplicate dataset assignment to assets 
(#4538)
     add 2d1d3d8958 feat(#4544): Create a simple event publisher that 
broadcasts changes of a data stream (#4546)
     add 23539aafb5 feat: Introduce summary DTO for resource overview (#4541)
     add 3d0406aff8 feat: Add coloring modes to time series chart in grouping 
mode (#4549)
     add c3db85b05c feat: Eliminate chart name and undo button in toolbar for a 
consistent workflow (#4550)
     add 578aad7e9f feat: Improve loading time of overview tables (#4551)
     add 5252c16de8 feat: Enable search in overview tables (#4554)
     add ce0374e565 feat: Improve chart selection in dashboard (#4553)
     add c0127c93d7 feat: Improve home screen loading behaviour (#4555)
     add 5753e7a417 feat: Support filtering of datasets in chart view (#4556)
     add 4e2a24c510 feat: Improve chart query builder (#4557)
     add 22d3cd810c chore(deps-dev): bump tornado from 6.5.5 to 6.5.6 in 
/streampipes-client-python (#4552)
     add 3e41acdf0d Merge branch 'dev' into fix-data-lake-sink-retention

No new revisions were added by this update.

Summary of changes:
 README.md                                          |  240 ++-
 images/connect-create-opcua-browser.png            |  Bin 0 -> 306234 bytes
 images/dashboard-create.png                        |  Bin 0 -> 204723 bytes
 images/home-map.png                                |  Bin 0 -> 878279 bytes
 images/pipeline-editor-example.png                 |  Bin 0 -> 290137 bytes
 images/security-edit-user.png                      |  Bin 0 -> 235039 bytes
 images/streampipes-connect.gif                     |  Bin 949971 -> 0 bytes
 images/streampipes-data-explorer.gif               |  Bin 543486 -> 0 bytes
 images/streampipes-overview.png                    |  Bin 661478 -> 0 bytes
 images/streampipes-pipelines.gif                   |  Bin 1296806 -> 0 bytes
 streampipes-client-python/poetry.lock              |   24 +-
 .../influx/DataLakeInfluxQueryBuilder.java         |   13 +-
 .../influx/DataLakeQueryBuilderTest.java           |   25 +
 .../dataexplorer/influx/SelectQueryParamsTest.java |   72 +
 .../utils/ProvidedQueryParameterBuilder.java       |    6 +
 .../param/ProvidedRestQueryParamConverter.java     |    2 +-
 .../dataexplorer/param/model/FillClauseParams.java |   15 +-
 .../param/model/InfluxQueryParameterValidator.java |   22 +
 .../smp/generator/SidebarConfigGenerator.java      |    4 +-
 .../{Isa95Type.java => AssetSummaryDto.java}       |   13 +-
 .../model/connect/adapter/AdapterSummaryDto.java   |   24 +-
 .../model/dashboard/DashboardSummaryDto.java       |   13 +-
 ...gregationFunction.java => ChartSummaryDto.java} |   33 +-
 ...ExpressionGroup.java => DatasetSummaryDto.java} |   10 +-
 .../datalake/param/SupportedRestQueryParams.java   |    2 +
 ...ficationResult.java => PipelineSummaryDto.java} |   15 +-
 .../model/resource/ResourceSummaryDto.java         |   10 +-
 streampipes-resource-management/pom.xml            |   10 +
 .../management/AdapterResourceManager.java         |   33 +
 .../resource/management/AssetResourceManager.java  |   62 +
 .../resource/management/CrudResourceManager.java   |    3 +
 .../management/DataExplorerResourceManager.java    |   45 +
 .../DataExplorerWidgetResourceManager.java         |   83 +-
 .../management/DataLakeMeasureResourceManager.java |  158 ++
 .../management/PipelineResourceManager.java        |   31 +-
 .../resource/management/SpResourceManager.java     |    8 +
 .../permission}/SpPermissionEvaluator.java         |    2 +-
 .../base/impl/AbstractAuthGuardedRestResource.java |    5 +
 .../rest/event/AdapterDeletedEvent.java            |    6 +-
 .../rest/event/AdapterUpdatedEvent.java            |    6 +-
 .../rest/event/DataStreamDeletedEvent.java         |    5 +-
 .../rest/event/DataStreamUpdatedEvent.java         |    6 +-
 .../rest/impl/AdapterMonitoringResource.java       |    2 +-
 .../rest/impl/AssetManagementResource.java         |   13 +
 .../streampipes/rest/impl/PipelineResource.java    |   10 +
 .../rest/impl/connect/AdapterResource.java         |   37 +-
 .../impl/dashboard/DataLakeDashboardResource.java  |    8 +
 .../impl/datalake/AbstractDataLakeResource.java    |    2 +-
 .../impl/datalake/DataLakeMeasureResource.java     |   13 +
 .../rest/impl/datalake/DataLakeWidgetResource.java |   24 +-
 .../rest/impl/pe/DataStreamResource.java           |   16 +-
 streampipes-service-base/pom.xml                   |    4 +
 .../service/base/StreamPipesPrometheusConfig.java  |   12 +
 .../minimal/StreamPipesCoreApplicationMinimal.java |    2 +-
 .../service/core/StreamPipesCoreApplication.java   |    3 +-
 .../fixtures/fixtureGeneration/assetResources.ts   |   12 -
 .../support/utils/DataDownloadDialogUtils.ts       |    1 -
 ui/cypress/support/utils/GeneralUtils.ts           |   19 +-
 .../support/utils/ThirdPartyIntegrationUtils.ts    |    1 -
 ui/cypress/support/utils/chart/ChartBtns.ts        |   41 +-
 ui/cypress/support/utils/chart/ChartUtils.ts       |  221 ++-
 ui/cypress/support/utils/user/PermissionUtils.ts   |   62 +-
 .../tests/assetManagement/assetFilterTest.spec.ts  |   73 +-
 .../assetManagement/generalAssetTest.smoke.spec.ts |    1 -
 .../tests/chart/addAssetToDashboard.smoke.spec.ts  |    2 +-
 .../tests/chart/addAssetsToDataView.smoke.spec.ts  |   11 +-
 .../chart/advancedFilterExpressions.smoke.spec.ts  |   13 +-
 ui/cypress/tests/chart/autoAggregateTable.spec.ts  |    5 +-
 ui/cypress/tests/chart/chart-types/heatmap.spec.ts |    1 -
 .../tests/chart/chart-types/histogram.spec.ts      |    1 -
 .../tests/chart/chart-types/indicator.spec.ts      |    1 -
 ui/cypress/tests/chart/chart-types/map.spec.ts     |    6 +-
 .../tests/chart/chart-types/scatter.smoke.spec.ts  |    1 -
 ui/cypress/tests/chart/chart-types/table.spec.ts   |    1 -
 .../tests/chart/chart-types/timeSeriesSave.spec.ts |    7 +-
 .../tests/chart/chartDataPreview.smoke.spec.ts     |    1 -
 .../tests/chart/deleteViewAndDashboard.spec.ts     |    4 +-
 .../tests/chart/dynamicColumnFilter.smoke.spec.ts  |    5 +-
 .../tests/chart/missingDataInDataLake.spec.ts      |    6 +-
 ui/cypress/tests/chart/timeOrderDataView.spec.ts   |    3 +-
 .../chart/widgetDataConfiguration.smoke.spec.ts    |   10 +-
 ui/cypress/tests/connect/adapterWithAssets.spec.ts |    1 -
 .../editAdapterDataLakeSchemaUpdate.spec.ts        |    4 +-
 .../connect/machineDataSimulator.smoke.spec.ts     |    1 -
 .../dataDownloadDialogTest.smoke.spec.ts           |    7 +-
 ui/cypress/tests/pipeline/pipelineAsset.spec.ts    |    1 -
 .../pipeline/pipelineDataLakeSchemaUpdate.spec.ts  |    4 +-
 .../userManagement/testUserRoleCharts.spec.ts      |    4 +-
 .../userManagement/testUserRoleDashboard.spec.ts   |   10 +-
 .../userManagement/testUserRoleDataset.spec.ts     |   13 +-
 ui/deployment/i18n/de.json                         |   31 +-
 ui/deployment/i18n/en.json                         |   31 +-
 ui/deployment/i18n/pl.json                         |   31 +-
 ui/deployment/modules.yml                          |    8 +-
 ui/eslint.config.mjs                               |   11 +-
 ui/package-lock.json                               | 1650 +-------------------
 .../src/lib/apis/adapter.service.ts                |   35 +-
 .../src/lib/apis/asset-management.service.ts       |   10 +
 .../src/lib/apis/chart.service.ts                  |   16 +-
 .../src/lib/apis/dashboard.service.ts              |   14 +
 .../src/lib/apis/datalake-rest.service.ts          |   12 +-
 .../src/lib/apis/pipeline.service.ts               |   10 +
 .../lib/model/datalake/DatalakeQueryParameters.ts  |    1 +
 .../model/datalake/data-lake-query-config.model.ts |    1 +
 .../lib/model/resource/resource-summary.model.ts   |   83 +
 .../src/lib/query/DatalakeQueryParameterBuilder.ts |    6 +
 .../lib/query/data-view-query-generator.service.ts |    4 +
 .../platform-services/src/public-api.ts            |    1 +
 .../asset-browser/asset-browser.service.ts         |    3 +-
 .../pipeline-element-runtime-info.component.ts     |    2 +-
 .../lib/components/sp-label/sp-label.component.ts  |    2 +-
 .../components/sp-table/sp-table.component.html    |   55 +-
 .../components/sp-table/sp-table.component.scss    |   16 +-
 .../lib/components/sp-table/sp-table.component.ts  |   91 +-
 .../src/lib/components/sp-table/sp-table.model.ts  |    6 +
 .../model/object-manage-model.model.ts             |   62 +
 .../object-manage-dialog.component.html            |  415 +++++
 .../object-manage-dialog.component.scss}           |    0
 .../object-manage-dialog.component.ts              |  820 ++++++++++
 .../object-permission-dialog.component.ts          |    4 +-
 .../lib/services/asset-configuration.service.ts    |   44 +-
 .../streampipes/shared-ui/src/public-api.ts        |    2 +
 .../edit-asset/asset-details.component.ts          |    2 +-
 .../view-assset-basics.component.ts                |    2 +-
 .../asset-link-table-additional-data.component.ts  |    2 +-
 .../asset-link-table/asset-link-table.component.ts |    4 +-
 .../asset-overview/asset-overview.component.html   |    5 +
 .../asset-overview/asset-overview.component.ts     |   44 +-
 .../color-mapping-options-config.component.html    |   30 +-
 .../color-mapping-options-config.component.ts      |    6 +-
 .../time-series-item-config.component.html         |   66 +-
 .../time-series-item-config.component.ts           |   98 +-
 .../chart-container/chart-container.component.html |    7 +
 .../chart-container/chart-container.component.ts   |   30 +-
 .../charts/base/echarts-widget.component.ts        |    2 +-
 .../charts/image/image-widget.component.ts         |    4 +-
 .../components/charts/map/map-widget.component.ts  |    4 +-
 .../charts/status/status-widget.component.ts       |    2 +-
 .../time-series-chart-widget-config.component.ts   |   30 +-
 .../model/time-series-chart-widget.model.ts        |   10 +
 .../sp-timeseries-renderer.service.ts              |   24 +-
 .../traffic-light-widget.component.html            |   12 +-
 .../traffic-light-widget.component.scss            |   26 +-
 .../traffic-light-widget.component.ts              |   92 +-
 .../base-single-field-echarts-renderer.ts          |    4 +-
 .../models/dataview-dashboard.model.ts             |    1 +
 .../services/chart-colorization.service.ts         |  106 +-
 .../chart-shared/services/field-update.service.ts  |    2 +-
 .../chart-overview-table.component.html            |   91 +-
 .../chart-overview-table.component.ts              |  186 ++-
 .../chart-overview/chart-overview.component.ts     |    2 +-
 .../chart-view/chart-view.component.html           |    6 +
 .../components/chart-view/chart-view.component.ts  |  256 ++-
 .../aggregate-configuration.component.html         |   15 +-
 .../aggregate-configuration.component.ts           |   10 +-
 .../chart-data-settings.component.html             |   64 +-
 .../data-settings/chart-data-settings.component.ts |  167 +-
 .../fill-configuration.component.html              |   68 +
 .../fill-configuration.component.scss              |    0
 .../fill-configuration.component.ts                |  115 ++
 .../toolbar/chart-view-toolbar.component.html      |   97 +-
 .../toolbar/chart-view-toolbar.component.ts        |   20 +-
 .../manage-site/manage-site-dialog.component.ts    |    2 +-
 .../email-configuration.component.ts               |    2 +-
 .../import-dialog/data-import-dialog.component.ts  |    4 +-
 .../files/file-overview/file-overview.component.ts |    2 +-
 .../general-configuration.component.ts             |    2 +-
 .../role-configuration.component.ts                |    2 +-
 .../user-group-configuration.component.ts          |    8 +-
 .../abstract-adapter-details.directive.ts          |    2 +-
 .../existing-adapters.component.html               |   10 +-
 .../existing-adapters.component.ts                 |  124 +-
 .../delete-adapter-dialog.component.ts             |   10 +-
 .../all-adapter-actions-dialog.component.ts        |   13 +-
 ...mation-script-documentation-dialog.component.ts |    1 -
 ui/src/app/connect/filter/adapter-filter.pipe.ts   |   13 +-
 .../services/static-value-transform.service.ts     |    1 -
 .../pipeline-element-template-config.component.ts  |    2 +-
 .../static-code-input.component.ts                 |    4 +-
 .../add-to-collection.component.ts                 |    2 +-
 .../static-collection.component.ts                 |    4 +-
 .../static-color-picker.component.ts               |    2 +-
 .../static-file-input.component.ts                 |    4 +-
 .../static-free-input.component.ts                 |    2 +-
 .../static-mapping-nary.component.ts               |    6 +-
 .../static-mapping-unary.component.ts              |    2 +-
 .../static-runtime-resolvable-group.component.ts   |    2 +-
 .../base-runtime-resolvable-input.ts               |    1 -
 .../static-secret-input.component.ts               |    2 +-
 .../static-slide-toggle.component.ts               |    2 +-
 .../auth/guards/page-auth.can-activate.guard.ts    |    2 +-
 .../guards/base-configured.can-activate.guard.ts   |    6 +-
 .../registration-allowed.can-activate.guard.ts     |   10 +-
 .../restore-password-allowed.can-activate.guard.ts |   12 +-
 .../guards/terms.can-activate-children.guard.ts    |    6 +-
 .../components/kiosk/dashboard-kiosk.component.ts  |    2 +-
 .../chart-view/abstract-chart-view.directive.ts    |   30 +-
 .../grid-view/dashboard-grid-view.component.ts     |    8 +-
 .../slide-view/dashboard-slide-view.component.html |    2 +-
 .../slide-view/dashboard-slide-view.component.ts   |    8 +-
 .../dashboard-overview-table.component.html        |   40 +-
 .../dashboard-overview-table.component.ts          |  155 +-
 .../overview/dashboard-overview.component.ts       |   47 +-
 .../chart-preview/chart-preview.component.html     |   86 +-
 .../chart-preview/chart-preview.component.scss     |  110 +-
 .../chart-preview/chart-preview.component.ts       |   32 +-
 .../chart-selection/chart-selection.component.html |  134 +-
 .../chart-selection/chart-selection.component.scss |   69 +-
 .../chart-selection/chart-selection.component.ts   |  101 +-
 .../panel/dashboard-panel.component.html           |  217 ++-
 .../panel/dashboard-panel.component.scss           |    4 +
 .../components/panel/dashboard-panel.component.ts  |  395 ++++-
 .../dashboard-toolbar.component.html               |   38 +-
 .../dashboard-toolbar.component.ts                 |    6 +
 .../clone-dashboard-dialog.component.html          |   87 +-
 .../clone-dashboard-dialog.component.ts            |   71 +-
 .../edit-dashboard-dialog.component.html           |   17 +
 .../edit-dashboard-dialog.component.ts             |    6 +
 .../datalake-configuration-entry.ts                |    9 +-
 .../datalake-configuration.component.html          |   44 +-
 .../datalake-configuration.component.ts            |  144 +-
 .../data-retention-dialog.component.ts             |    8 +-
 .../data-retention-now-dialog.component.ts         |    2 +-
 .../delete-datalake-index-dialog.component.ts      |    4 +-
 .../delete-export-provider-dialog.component.ts     |    2 +-
 .../export-provider-dialog.component.ts            |    2 +-
 .../custom-output-strategy.component.ts            |    2 +-
 .../property-selection.component.ts                |    2 +-
 .../pipeline-assembly-options.component.ts         |    2 +-
 .../pipeline-element-icon-stand-row.component.ts   |    2 +-
 .../pipeline-element-icon-stand.component.ts       |    2 +-
 .../compatible-elements.component.ts               |    2 +-
 .../editor/dialog/customize/customize.component.ts |    6 +-
 .../pipeline-element-discovery.component.ts        |    2 +-
 .../save-pipeline/save-pipeline.component.ts       |    2 +-
 ui/src/app/help/help.component.ts                  |    6 +-
 .../asset-table/home-asset-table.component.ts      |    2 +-
 ui/src/app/home/components/status.component.ts     |    2 +-
 .../welcome-tour/welcome-tour.component.html       |   45 +-
 .../welcome-tour/welcome-tour.component.scss       |   10 +
 .../dialog/welcome-tour/welcome-tour.component.ts  |  129 +-
 ui/src/app/home/home.component.ts                  |  148 +-
 .../activate-account/activate-account.component.ts |    4 +-
 .../login/components/base-login-page.directive.ts  |    4 +-
 .../app/login/components/login/login.component.ts  |    2 +-
 .../components/register/register.component.ts      |    2 +-
 .../restore-password/restore-password.component.ts |    4 +-
 .../set-new-password/set-new-password.component.ts |    8 +-
 ...vation.service.ts => login-settings.service.ts} |   25 +-
 ui/src/app/login/services/login.service.ts         |   16 +-
 .../actions/pipeline-actions.component.html        |    4 +-
 .../pipeline-details/pipeline-details.component.ts |   12 +-
 .../pipeline-overview.component.html               |   22 +-
 .../pipeline-overview.component.ts                 |   19 +-
 .../delete-pipeline-dialog.component.html          |    8 +-
 .../delete-pipeline-dialog.component.ts            |   23 +-
 .../pipeline-notifications.component.html          |   41 +-
 .../pipeline-notifications.component.ts            |   26 +-
 .../pipeline-status-dialog.component.ts            |    6 +-
 .../start-all-pipelines-dialog.component.ts        |    4 +-
 ui/src/app/pipelines/pipelines.component.ts        |   11 +-
 .../services/pipeline-operations.service.ts        |   31 +-
 .../general/general-profile-settings.component.ts  |    2 +-
 .../token/token-management-settings.component.ts   |    2 +-
 .../change-email/change-email-dialog.component.ts  |    2 +-
 .../change-password-dialog.component.ts            |    2 +-
 ui/src/app/services/auth.service.ts                |    2 +-
 .../app/services/editor-autocompletion.service.ts  |    2 +-
 ui/src/main.ts                                     |    3 +-
 269 files changed, 6272 insertions(+), 3421 deletions(-)
 create mode 100644 images/connect-create-opcua-browser.png
 create mode 100644 images/dashboard-create.png
 create mode 100644 images/home-map.png
 create mode 100644 images/pipeline-editor-example.png
 create mode 100644 images/security-edit-user.png
 delete mode 100644 images/streampipes-connect.gif
 delete mode 100644 images/streampipes-data-explorer.gif
 delete mode 100644 images/streampipes-overview.png
 delete mode 100644 images/streampipes-pipelines.gif
 copy 
streampipes-model/src/main/java/org/apache/streampipes/model/assets/{Isa95Type.java
 => AssetSummaryDto.java} (80%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/CRUDApi.java
 => 
streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/AdapterSummaryDto.java
 (61%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/config/ClientConnectionUrlResolver.java
 => 
streampipes-model/src/main/java/org/apache/streampipes/model/dashboard/DashboardSummaryDto.java
 (71%)
 copy 
streampipes-model/src/main/java/org/apache/streampipes/model/datalake/{AggregationFunction.java
 => ChartSummaryDto.java} (66%)
 copy 
streampipes-model/src/main/java/org/apache/streampipes/model/datalake/{FilterExpressionGroup.java
 => DatasetSummaryDto.java} (69%)
 copy 
streampipes-model/src/main/java/org/apache/streampipes/model/pipeline/{PipelineModificationResult.java
 => PipelineSummaryDto.java} (65%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/credentials/CredentialsProvider.java
 => 
streampipes-model/src/main/java/org/apache/streampipes/model/resource/ResourceSummaryDto.java
 (83%)
 create mode 100644 
streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/AssetResourceManager.java
 create mode 100644 
streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/DataLakeMeasureResourceManager.java
 rename {streampipes-rest/src/main/java/org/apache/streampipes/rest/security => 
streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/permission}/SpPermissionEvaluator.java
 (98%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/ISubscription.java
 => 
streampipes-rest/src/main/java/org/apache/streampipes/rest/event/AdapterDeletedEvent.java
 (80%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/ISubscription.java
 => 
streampipes-rest/src/main/java/org/apache/streampipes/rest/event/AdapterUpdatedEvent.java
 (80%)
 copy 
streampipes-dataformat/src/main/java/org/apache/streampipes/dataformat/SpDataFormatFactory.java
 => 
streampipes-rest/src/main/java/org/apache/streampipes/rest/event/DataStreamDeletedEvent.java
 (88%)
 copy 
streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/ISubscription.java
 => 
streampipes-rest/src/main/java/org/apache/streampipes/rest/event/DataStreamUpdatedEvent.java
 (83%)
 create mode 100644 
ui/projects/streampipes/platform-services/src/lib/model/resource/resource-summary.model.ts
 create mode 100644 
ui/projects/streampipes/shared-ui/src/lib/dialog/object-manage-dialog/model/object-manage-model.model.ts
 create mode 100644 
ui/projects/streampipes/shared-ui/src/lib/dialog/object-manage-dialog/object-manage-dialog.component.html
 copy 
ui/projects/streampipes/shared-ui/src/lib/dialog/{object-permission-dialog/object-permission-dialog.component.scss
 => object-manage-dialog/object-manage-dialog.component.scss} (100%)
 create mode 100644 
ui/projects/streampipes/shared-ui/src/lib/dialog/object-manage-dialog/object-manage-dialog.component.ts
 create mode 100644 
ui/src/app/chart/components/chart-view/designer-panel/data-settings/fill-configuration/fill-configuration.component.html
 copy tools/maven/checkstyle-header.txt => 
ui/src/app/chart/components/chart-view/designer-panel/data-settings/fill-configuration/fill-configuration.component.scss
 (100%)
 create mode 100644 
ui/src/app/chart/components/chart-view/designer-panel/data-settings/fill-configuration/fill-configuration.component.ts
 copy ui/src/app/login/services/{account-activation.service.ts => 
login-settings.service.ts} (65%)

Reply via email to