@igo2/geo 18.0.0 → 18.0.1-next.2
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/fesm2022/igo2-geo.mjs +684 -709
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/style/style-list/style-list.provider.d.ts +1 -8
- package/lib/style/style-list/style-list.service.d.ts +1 -1
- package/package.json +15 -17
- package/src/lib/layer/layer-list/layer-list.theme.scss +2 -1
- package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
- package/src/style/style.scss +1 -1
- package/esm2022/igo2-geo.mjs +0 -5
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -272
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -246
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
- package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
- package/esm2022/lib/catalog/catalog.module.mjs +0 -26
- package/esm2022/lib/catalog/index.mjs +0 -6
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
- package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
- package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
- package/esm2022/lib/catalog/shared/index.mjs +0 -5
- package/esm2022/lib/datasource/index.mjs +0 -3
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
- package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -41
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
- package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
- package/esm2022/lib/datasource/shared/index.mjs +0 -6
- package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
- package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
- package/esm2022/lib/datasource/utils/index.mjs +0 -2
- package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -246
- package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -312
- package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -192
- package/esm2022/lib/directions/directions-results/index.mjs +0 -2
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
- package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
- package/esm2022/lib/directions/directions.component.mjs +0 -437
- package/esm2022/lib/directions/directions.module.mjs +0 -46
- package/esm2022/lib/directions/directions.provider.mjs +0 -16
- package/esm2022/lib/directions/index.mjs +0 -8
- package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
- package/esm2022/lib/directions/shared/directions.enum.mjs +0 -72
- package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
- package/esm2022/lib/directions/shared/directions.service.mjs +0 -239
- package/esm2022/lib/directions/shared/directions.utils.mjs +0 -522
- package/esm2022/lib/directions/shared/index.mjs +0 -6
- package/esm2022/lib/directions/shared/store.mjs +0 -21
- package/esm2022/lib/download/download-button/download-button.component.mjs +0 -48
- package/esm2022/lib/download/download-button/index.mjs +0 -2
- package/esm2022/lib/download/download.module.mjs +0 -24
- package/esm2022/lib/download/index.mjs +0 -3
- package/esm2022/lib/download/shared/download.interface.mjs +0 -2
- package/esm2022/lib/download/shared/download.service.mjs +0 -67
- package/esm2022/lib/download/shared/index.mjs +0 -3
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
- package/esm2022/lib/draw/draw/draw.component.mjs +0 -1136
- package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
- package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
- package/esm2022/lib/draw/index.mjs +0 -3
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
- package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
- package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
- package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
- package/esm2022/lib/draw/shared/index.mjs +0 -5
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
- package/esm2022/lib/feature/feature-details/index.mjs +0 -4
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
- package/esm2022/lib/feature/feature.module.mjs +0 -26
- package/esm2022/lib/feature/index.mjs +0 -5
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -28
- package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
- package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
- package/esm2022/lib/feature/shared/index.mjs +0 -8
- package/esm2022/lib/feature/shared/store.mjs +0 -143
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -119
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
- package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
- package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
- package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
- package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -385
- package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
- package/esm2022/lib/filter/filter.module.mjs +0 -131
- package/esm2022/lib/filter/index.mjs +0 -17
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -63
- package/esm2022/lib/filter/shared/index.mjs +0 -12
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -191
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -120
- package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
- package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -537
- package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
- package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -24
- package/esm2022/lib/geo.module.mjs +0 -63
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
- package/esm2022/lib/geometry/geometry.module.mjs +0 -18
- package/esm2022/lib/geometry/index.mjs +0 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
- package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
- package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
- package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
- package/esm2022/lib/geometry/shared/index.mjs +0 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -49
- package/esm2022/lib/import-export/export-button/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -876
- package/esm2022/lib/import-export/import-export/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export.module.mjs +0 -31
- package/esm2022/lib/import-export/index.mjs +0 -5
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
- package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
- package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/export.service.mjs +0 -378
- package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
- package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
- package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
- package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
- package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
- package/esm2022/lib/import-export/shared/index.mjs +0 -11
- package/esm2022/lib/layer/index.mjs +0 -16
- package/esm2022/lib/layer/layer-group/index.mjs +0 -2
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +0 -103
- package/esm2022/lib/layer/layer-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -196
- package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -287
- package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
- package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -54
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -104
- package/esm2022/lib/layer/layer-list/index.mjs +0 -2
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -232
- package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -4
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -92
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -7
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -61
- package/esm2022/lib/layer/layer-search/index.mjs +0 -2
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +0 -65
- package/esm2022/lib/layer/layer-unavailable/index.mjs +0 -3
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +0 -25
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +0 -35
- package/esm2022/lib/layer/layer-viewer/index.mjs +0 -3
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +0 -226
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +0 -207
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +0 -2
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +0 -83
- package/esm2022/lib/layer/layer.module.mjs +0 -107
- package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
- package/esm2022/lib/layer/shared/index.mjs +0 -6
- package/esm2022/lib/layer/shared/layer-controller.mjs +0 -316
- package/esm2022/lib/layer/shared/layer-selection.mjs +0 -38
- package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
- package/esm2022/lib/layer/shared/layer.service.mjs +0 -315
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -75
- package/esm2022/lib/layer/shared/layers/index.mjs +0 -18
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +0 -199
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +0 -120
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -7
- package/esm2022/lib/layer/shared/layers/layer.mjs +0 -178
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +0 -4
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +0 -12
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +0 -242
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +0 -70
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -55
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -576
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -112
- package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
- package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
- package/esm2022/lib/layer/utils/index.mjs +0 -6
- package/esm2022/lib/layer/utils/layer.utils.mjs +0 -57
- package/esm2022/lib/layer/utils/outputLegend.mjs +0 -32
- package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
- package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
- package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -122
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
- package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
- package/esm2022/lib/map/index.mjs +0 -14
- package/esm2022/lib/map/info-section/index.mjs +0 -2
- package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
- package/esm2022/lib/map/map-browser/index.mjs +0 -2
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
- package/esm2022/lib/map/map-center/index.mjs +0 -2
- package/esm2022/lib/map/map-center/map-center.component.mjs +0 -56
- package/esm2022/lib/map/map.module.mjs +0 -89
- package/esm2022/lib/map/menu-button/index.mjs +0 -2
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
- package/esm2022/lib/map/offline-button/index.mjs +0 -2
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
- package/esm2022/lib/map/rotation-button/index.mjs +0 -2
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
- package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
- package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
- package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -481
- package/esm2022/lib/map/shared/index.mjs +0 -15
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -238
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
- package/esm2022/lib/map/shared/map.abstract.mjs +0 -24
- package/esm2022/lib/map/shared/map.enums.mjs +0 -6
- package/esm2022/lib/map/shared/map.interface.mjs +0 -2
- package/esm2022/lib/map/shared/map.mjs +0 -201
- package/esm2022/lib/map/shared/map.service.mjs +0 -29
- package/esm2022/lib/map/shared/map.utils.mjs +0 -455
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -114
- package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
- package/esm2022/lib/map/shared/projection.service.mjs +0 -67
- package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
- package/esm2022/lib/map/swipe-control/index.mjs +0 -2
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -211
- package/esm2022/lib/map/utils/index.mjs +0 -2
- package/esm2022/lib/map/utils/layer-watcher.mjs +0 -112
- package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
- package/esm2022/lib/map/zoom-button/index.mjs +0 -2
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
- package/esm2022/lib/measure/index.mjs +0 -3
- package/esm2022/lib/measure/measure.module.mjs +0 -20
- package/esm2022/lib/measure/measurer/index.mjs +0 -6
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
- package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -948
- package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
- package/esm2022/lib/measure/shared/index.mjs +0 -4
- package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
- package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
- package/esm2022/lib/metadata/index.mjs +0 -4
- package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -96
- package/esm2022/lib/metadata/metadata.module.mjs +0 -29
- package/esm2022/lib/metadata/shared/index.mjs +0 -3
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
- package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
- package/esm2022/lib/offline/geoDB/index.mjs +0 -5
- package/esm2022/lib/offline/index.mjs +0 -6
- package/esm2022/lib/offline/layerDB/index.mjs +0 -3
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
- package/esm2022/lib/offline/offline.interface.mjs +0 -2
- package/esm2022/lib/offline/offline.provider.mjs +0 -50
- package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
- package/esm2022/lib/offline/shared/index.mjs +0 -2
- package/esm2022/lib/overlay/index.mjs +0 -2
- package/esm2022/lib/overlay/shared/index.mjs +0 -4
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
- package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
- package/esm2022/lib/print/index.mjs +0 -4
- package/esm2022/lib/print/print/print.component.mjs +0 -116
- package/esm2022/lib/print/print-form/index.mjs +0 -2
- package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
- package/esm2022/lib/print/print.module.mjs +0 -20
- package/esm2022/lib/print/shared/geopdf.mjs +0 -68
- package/esm2022/lib/print/shared/index.mjs +0 -5
- package/esm2022/lib/print/shared/print.interface.mjs +0 -2
- package/esm2022/lib/print/shared/print.service.mjs +0 -1136
- package/esm2022/lib/print/shared/print.type.mjs +0 -30
- package/esm2022/lib/query/index.mjs +0 -2
- package/esm2022/lib/query/query.module.mjs +0 -27
- package/esm2022/lib/query/shared/index.mjs +0 -8
- package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
- package/esm2022/lib/query/shared/query.directive.mjs +0 -290
- package/esm2022/lib/query/shared/query.enums.mjs +0 -32
- package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
- package/esm2022/lib/query/shared/query.service.mjs +0 -753
- package/esm2022/lib/query/shared/query.utils.mjs +0 -45
- package/esm2022/lib/search/index.mjs +0 -10
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
- package/esm2022/lib/search/search-results/index.mjs +0 -5
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -433
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
- package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
- package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
- package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
- package/esm2022/lib/search/search.module.mjs +0 -77
- package/esm2022/lib/search/shared/index.mjs +0 -10
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -328
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
- package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
- package/esm2022/lib/search/shared/search.enums.mjs +0 -4
- package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/search.provider.mjs +0 -20
- package/esm2022/lib/search/shared/search.service.mjs +0 -149
- package/esm2022/lib/search/shared/search.utils.mjs +0 -92
- package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
- package/esm2022/lib/search/shared/sources/index.mjs +0 -23
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
- package/esm2022/lib/search/shared/sources/source.mjs +0 -221
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
- package/esm2022/lib/style/index.mjs +0 -5
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
- package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
- package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
- package/esm2022/lib/style/shared/feature/index.mjs +0 -2
- package/esm2022/lib/style/shared/font.enum.mjs +0 -17
- package/esm2022/lib/style/shared/index.mjs +0 -5
- package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
- package/esm2022/lib/style/shared/vector/index.mjs +0 -4
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/index.mjs +0 -5
- package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
- package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
- package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
- package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
- package/esm2022/lib/style/style-modal/index.mjs +0 -5
- package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
- package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
- package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
- package/esm2022/lib/style/style-service/index.mjs +0 -3
- package/esm2022/lib/style/style-service/style.service.mjs +0 -393
- package/esm2022/lib/style/style.module.mjs +0 -46
- package/esm2022/lib/toast/index.mjs +0 -2
- package/esm2022/lib/toast/toast.component.mjs +0 -99
- package/esm2022/lib/toast/toast.module.mjs +0 -24
- package/esm2022/lib/utils/googleLinks.mjs +0 -13
- package/esm2022/lib/utils/id-generator.mjs +0 -112
- package/esm2022/lib/utils/index.mjs +0 -5
- package/esm2022/lib/utils/osmLinks.mjs +0 -9
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
- package/esm2022/lib/wkt/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
- package/esm2022/lib/wkt/wkt.module.mjs +0 -25
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
- package/esm2022/lib/workspace/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -301
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -720
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
- package/esm2022/lib/workspace/shared/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -121
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -248
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -188
- package/esm2022/lib/workspace/widgets/index.mjs +0 -4
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
- package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -172
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -137
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace.module.mjs +0 -32
- package/esm2022/public_api.mjs +0 -56
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { DirectionsSource } from '../directions-sources/directions-source';
|
|
2
|
-
export class DirectionsSourceService {
|
|
3
|
-
sources;
|
|
4
|
-
constructor(sources) {
|
|
5
|
-
this.sources = sources;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export function directionsSourceServiceFactory(sources) {
|
|
9
|
-
return new DirectionsSourceService(sources);
|
|
10
|
-
}
|
|
11
|
-
export function provideDirectionsSourceService() {
|
|
12
|
-
return {
|
|
13
|
-
provide: DirectionsSourceService,
|
|
14
|
-
useFactory: directionsSourceServiceFactory,
|
|
15
|
-
deps: [DirectionsSource]
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUNmO0lBQW5CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQztDQUNuRDtBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUEyQjtJQUN4RSxPQUFPLElBQUksdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsVUFBVSxFQUFFLDhCQUE4QjtRQUMxQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuLi9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlczogRGlyZWN0aW9uc1NvdXJjZVtdKSB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2VGYWN0b3J5KHNvdXJjZXM6IERpcmVjdGlvbnNTb3VyY2VbXSkge1xuICByZXR1cm4gbmV3IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKHNvdXJjZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLFxuICAgIHVzZUZhY3Rvcnk6IGRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbRGlyZWN0aW9uc1NvdXJjZV1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
export var DirectionsFormat;
|
|
2
|
-
(function (DirectionsFormat) {
|
|
3
|
-
DirectionsFormat[DirectionsFormat["GeoJSON"] = 0] = "GeoJSON";
|
|
4
|
-
DirectionsFormat[DirectionsFormat["JSON"] = 1] = "JSON";
|
|
5
|
-
})(DirectionsFormat || (DirectionsFormat = {}));
|
|
6
|
-
export var SourceDirectionsType;
|
|
7
|
-
(function (SourceDirectionsType) {
|
|
8
|
-
SourceDirectionsType["Route"] = "route";
|
|
9
|
-
SourceDirectionsType["Trip"] = "trip";
|
|
10
|
-
})(SourceDirectionsType || (SourceDirectionsType = {}));
|
|
11
|
-
export var ProposalType;
|
|
12
|
-
(function (ProposalType) {
|
|
13
|
-
ProposalType["Coord"] = "coord";
|
|
14
|
-
ProposalType["Text"] = "text";
|
|
15
|
-
})(ProposalType || (ProposalType = {}));
|
|
16
|
-
export var DirectionsType;
|
|
17
|
-
(function (DirectionsType) {
|
|
18
|
-
DirectionsType["Stop"] = "stop";
|
|
19
|
-
DirectionsType["Route"] = "route";
|
|
20
|
-
DirectionsType["Vertex"] = "vertex";
|
|
21
|
-
})(DirectionsType || (DirectionsType = {}));
|
|
22
|
-
export var DirectionRelativePositionType;
|
|
23
|
-
(function (DirectionRelativePositionType) {
|
|
24
|
-
DirectionRelativePositionType["Start"] = "start";
|
|
25
|
-
DirectionRelativePositionType["Intermediate"] = "intermediate";
|
|
26
|
-
DirectionRelativePositionType["End"] = "end";
|
|
27
|
-
})(DirectionRelativePositionType || (DirectionRelativePositionType = {}));
|
|
28
|
-
export var ManeuverType;
|
|
29
|
-
(function (ManeuverType) {
|
|
30
|
-
ManeuverType["Turn"] = "turn";
|
|
31
|
-
ManeuverType["NewName"] = "new name";
|
|
32
|
-
ManeuverType["Depart"] = "depart";
|
|
33
|
-
ManeuverType["Arrive"] = "arrive";
|
|
34
|
-
ManeuverType["Merge"] = "merge";
|
|
35
|
-
ManeuverType["Ramp"] = "ramp";
|
|
36
|
-
ManeuverType["OnRamp"] = "on ramp";
|
|
37
|
-
ManeuverType["OffRamp"] = "off ramp";
|
|
38
|
-
ManeuverType["Fork"] = "fork";
|
|
39
|
-
ManeuverType["EndOfRoad"] = "end of road";
|
|
40
|
-
ManeuverType["UseLane"] = "use lane";
|
|
41
|
-
ManeuverType["Continue"] = "continue";
|
|
42
|
-
ManeuverType["Roundabout"] = "roundabout";
|
|
43
|
-
ManeuverType["Rotary"] = "rotary";
|
|
44
|
-
ManeuverType["RoundaboutTurn"] = "roundabout turn";
|
|
45
|
-
ManeuverType["Notification"] = "notification";
|
|
46
|
-
ManeuverType["ExitRoundabout"] = "exit roundabout";
|
|
47
|
-
ManeuverType["ExitRotary"] = "exit rotary";
|
|
48
|
-
})(ManeuverType || (ManeuverType = {}));
|
|
49
|
-
export var ManeuverModifier;
|
|
50
|
-
(function (ManeuverModifier) {
|
|
51
|
-
ManeuverModifier["Uturn"] = "uturn";
|
|
52
|
-
ManeuverModifier["SharpRight"] = "sharp right";
|
|
53
|
-
ManeuverModifier["Right"] = "right";
|
|
54
|
-
ManeuverModifier["SlightRight"] = "slight right";
|
|
55
|
-
ManeuverModifier["SharpLeft"] = "sharp left";
|
|
56
|
-
ManeuverModifier["Left"] = "left";
|
|
57
|
-
ManeuverModifier["SlightLeft"] = "slight left";
|
|
58
|
-
ManeuverModifier["Straight"] = "straight";
|
|
59
|
-
})(ManeuverModifier || (ManeuverModifier = {}));
|
|
60
|
-
export var LaneType;
|
|
61
|
-
(function (LaneType) {
|
|
62
|
-
LaneType["None"] = "none";
|
|
63
|
-
LaneType["Uturn"] = "uturn";
|
|
64
|
-
LaneType["SharpRight"] = "sharp right";
|
|
65
|
-
LaneType["Right"] = "right";
|
|
66
|
-
LaneType["SlightRight"] = "slight right";
|
|
67
|
-
LaneType["SharpLeft"] = "sharp left";
|
|
68
|
-
LaneType["Left"] = "left";
|
|
69
|
-
LaneType["SlightLeft"] = "slight left";
|
|
70
|
-
LaneType["Straight"] = "straight";
|
|
71
|
-
})(LaneType || (LaneType = {}));
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNkRBQU8sQ0FBQTtJQUNQLHVEQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsdUNBQWUsQ0FBQTtJQUNmLHFDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUcvQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLCtCQUFhLENBQUE7SUFDYixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBRUQsTUFBTSxDQUFOLElBQVksNkJBSVg7QUFKRCxXQUFZLDZCQUE2QjtJQUN2QyxnREFBZSxDQUFBO0lBQ2YsOERBQTZCLENBQUE7SUFDN0IsNENBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBSXhDO0FBRUQsTUFBTSxDQUFOLElBQVksWUFtQlg7QUFuQkQsV0FBWSxZQUFZO0lBQ3RCLDZCQUFhLENBQUE7SUFDYixvQ0FBb0IsQ0FBQTtJQUNwQixpQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBaUIsQ0FBQTtJQUNqQiwrQkFBZSxDQUFBO0lBQ2YsNkJBQWEsQ0FBQTtJQUNiLGtDQUFrQixDQUFBO0lBQ2xCLG9DQUFvQixDQUFBO0lBQ3BCLDZCQUFhLENBQUE7SUFDYix5Q0FBeUIsQ0FBQTtJQUN6QixvQ0FBb0IsQ0FBQTtJQUNwQixxQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBeUIsQ0FBQTtJQUN6QixpQ0FBaUIsQ0FBQTtJQUNqQixrREFBa0MsQ0FBQTtJQUNsQyw2Q0FBNkIsQ0FBQTtJQUM3QixrREFBa0MsQ0FBQTtJQUNsQywwQ0FBMEIsQ0FBQTtBQUM1QixDQUFDLEVBbkJXLFlBQVksS0FBWixZQUFZLFFBbUJ2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQVNYO0FBVEQsV0FBWSxnQkFBZ0I7SUFDMUIsbUNBQWUsQ0FBQTtJQUNmLDhDQUEwQixDQUFBO0lBQzFCLG1DQUFlLENBQUE7SUFDZixnREFBNEIsQ0FBQTtJQUM1Qiw0Q0FBd0IsQ0FBQTtJQUN4QixpQ0FBYSxDQUFBO0lBQ2IsOENBQTBCLENBQUE7SUFDMUIseUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVRXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFTM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxRQVVYO0FBVkQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0lBQ2Ysc0NBQTBCLENBQUE7SUFDMUIsMkJBQWUsQ0FBQTtJQUNmLHdDQUE0QixDQUFBO0lBQzVCLG9DQUF3QixDQUFBO0lBQ3hCLHlCQUFhLENBQUE7SUFDYixzQ0FBMEIsQ0FBQTtJQUMxQixpQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVlcsUUFBUSxLQUFSLFFBQVEsUUFVbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXJlY3Rpb25zRm9ybWF0IHtcbiAgR2VvSlNPTixcbiAgSlNPTlxufVxuZXhwb3J0IGVudW0gU291cmNlRGlyZWN0aW9uc1R5cGUge1xuICBSb3V0ZSA9ICdyb3V0ZScsXG4gIFRyaXAgPSAndHJpcCdcbn1cblxuZXhwb3J0IGVudW0gUHJvcG9zYWxUeXBlIHtcbiAgQ29vcmQgPSAnY29vcmQnLFxuICBUZXh0ID0gJ3RleHQnXG59XG5cbmV4cG9ydCBlbnVtIERpcmVjdGlvbnNUeXBlIHtcbiAgU3RvcCA9ICdzdG9wJyxcbiAgUm91dGUgPSAncm91dGUnLFxuICBWZXJ0ZXggPSAndmVydGV4J1xufVxuXG5leHBvcnQgZW51bSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XG4gIFN0YXJ0ID0gJ3N0YXJ0JyxcbiAgSW50ZXJtZWRpYXRlID0gJ2ludGVybWVkaWF0ZScsXG4gIEVuZCA9ICdlbmQnXG59XG5cbmV4cG9ydCBlbnVtIE1hbmV1dmVyVHlwZSB7XG4gIFR1cm4gPSAndHVybicsXG4gIE5ld05hbWUgPSAnbmV3IG5hbWUnLFxuICBEZXBhcnQgPSAnZGVwYXJ0JyxcbiAgQXJyaXZlID0gJ2Fycml2ZScsXG4gIE1lcmdlID0gJ21lcmdlJyxcbiAgUmFtcCA9ICdyYW1wJyxcbiAgT25SYW1wID0gJ29uIHJhbXAnLFxuICBPZmZSYW1wID0gJ29mZiByYW1wJyxcbiAgRm9yayA9ICdmb3JrJyxcbiAgRW5kT2ZSb2FkID0gJ2VuZCBvZiByb2FkJyxcbiAgVXNlTGFuZSA9ICd1c2UgbGFuZScsXG4gIENvbnRpbnVlID0gJ2NvbnRpbnVlJyxcbiAgUm91bmRhYm91dCA9ICdyb3VuZGFib3V0JyxcbiAgUm90YXJ5ID0gJ3JvdGFyeScsXG4gIFJvdW5kYWJvdXRUdXJuID0gJ3JvdW5kYWJvdXQgdHVybicsXG4gIE5vdGlmaWNhdGlvbiA9ICdub3RpZmljYXRpb24nLFxuICBFeGl0Um91bmRhYm91dCA9ICdleGl0IHJvdW5kYWJvdXQnLFxuICBFeGl0Um90YXJ5ID0gJ2V4aXQgcm90YXJ5J1xufVxuXG5leHBvcnQgZW51bSBNYW5ldXZlck1vZGlmaWVyIHtcbiAgVXR1cm4gPSAndXR1cm4nLFxuICBTaGFycFJpZ2h0ID0gJ3NoYXJwIHJpZ2h0JyxcbiAgUmlnaHQgPSAncmlnaHQnLFxuICBTbGlnaHRSaWdodCA9ICdzbGlnaHQgcmlnaHQnLFxuICBTaGFycExlZnQgPSAnc2hhcnAgbGVmdCcsXG4gIExlZnQgPSAnbGVmdCcsXG4gIFNsaWdodExlZnQgPSAnc2xpZ2h0IGxlZnQnLFxuICBTdHJhaWdodCA9ICdzdHJhaWdodCdcbn1cblxuZXhwb3J0IGVudW0gTGFuZVR5cGUge1xuICBOb25lID0gJ25vbmUnLFxuICBVdHVybiA9ICd1dHVybicsXG4gIFNoYXJwUmlnaHQgPSAnc2hhcnAgcmlnaHQnLFxuICBSaWdodCA9ICdyaWdodCcsXG4gIFNsaWdodFJpZ2h0ID0gJ3NsaWdodCByaWdodCcsXG4gIFNoYXJwTGVmdCA9ICdzaGFycCBsZWZ0JyxcbiAgTGVmdCA9ICdsZWZ0JyxcbiAgU2xpZ2h0TGVmdCA9ICdzbGlnaHQgbGVmdCcsXG4gIFN0cmFpZ2h0ID0gJ3N0cmFpZ2h0J1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJ29sL2Nvb3JkaW5hdGUnO1xuXG5pbXBvcnQgeyBHZW9Kc29uR2VvbWV0cnlUeXBlcyB9IGZyb20gJ2dlb2pzb24nO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaE1ldGEgfSBmcm9tICcuLi8uLi9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vLi4vc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSxcbiAgRGlyZWN0aW9uc0Zvcm1hdCxcbiAgRGlyZWN0aW9uc1R5cGUsXG4gIExhbmVUeXBlLFxuICBNYW5ldXZlck1vZGlmaWVyLFxuICBNYW5ldXZlclR5cGUsXG4gIFByb3Bvc2FsVHlwZSxcbiAgU291cmNlRGlyZWN0aW9uc1R5cGVcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbk9wdGlvbnMge1xuICBvdmVydmlldz86IGJvb2xlYW47XG4gIHN0ZXBzPzogYm9vbGVhbjtcbiAgZ2VvbWV0cmllcz86IHN0cmluZztcbiAgYWx0ZXJuYXRpdmVzPzogYm9vbGVhbjtcbiAgY29udGludWVfc3RyYWlnaHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBGZWF0dXJlV2l0aFN0b3AgPSBGZWF0dXJlPEZlYXR1cmVXaXRoU3RvcFByb3BlcnRpZXM+O1xuZXhwb3J0IHR5cGUgRmVhdHVyZVdpdGhEaXJlY3Rpb25zID0gRmVhdHVyZTxGZWF0dXJlV2l0aERpcmVjdGlvbnNQcm9wZXJ0aWVzPjtcbmV4cG9ydCB0eXBlIEZlYXR1cmVXaXRoU3RlcCA9IEZlYXR1cmU8RmVhdHVyZVdpdGhTdGVwUHJvcGVydGllcz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdGVwUHJvcGVydGllcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0ZXA6IElnb1N0ZXA7XG4gIHR5cGU6IERpcmVjdGlvbnNUeXBlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aERpcmVjdGlvbnNQcm9wZXJ0aWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgZGlyZWN0aW9uczogRGlyZWN0aW9ucztcbiAgdHlwZTogRGlyZWN0aW9uc1R5cGU7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdG9wUHJvcGVydGllcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0b3A6IFN0b3A7XG4gIHR5cGU6IERpcmVjdGlvbnNUeXBlO1xuICBzdG9wVGV4dDogc3RyaW5nO1xuICBzdG9wQ29sb3I6IHN0cmluZztcbiAgc3RvcE9wYWNpdHk6IDE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHNlYXJjaFByb3Bvc2Fscz86IFNvdXJjZVByb3Bvc2FsW107XG4gIGNvb3JkaW5hdGVzPzogQ29vcmRpbmF0ZTtcbiAgcG9zaXRpb246IG51bWJlcjtcbiAgcmVsYXRpdmVQb3NpdGlvbjogRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGU7XG4gIHN0b3BQb2ludD86IHN0cmluZztcbiAgc3RvcFByb3Bvc2Fscz86IFtdO1xuICBkaXJlY3Rpb25zVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VQcm9wb3NhbCB7XG4gIHR5cGU6IFByb3Bvc2FsVHlwZTtcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XG4gIHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbiAgbWV0YTogU2VhcmNoTWV0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU/OiBTb3VyY2VEaXJlY3Rpb25zVHlwZTtcbiAgb3JkZXI/OiBudW1iZXI7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmb3JtYXQ/OiBEaXJlY3Rpb25zRm9ybWF0O1xuICBpY29uPzogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICB3YXlwb2ludHM/OiBhbnk7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZ2VvbWV0cnk/OiBEaXJlY3Rpb25zR2VvbWV0cnk7XG4gIGxlZ3M/OiBPc3JtUm91dGVMZWdbXTtcbiAgc3RlcHM/OiBJZ29TdGVwW107XG4gIHdlaWdodD86IG51bWJlcjtcbiAgd2VpZ2h0X25hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbnNHZW9tZXRyeSB7XG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xuICBjb29yZGluYXRlczogQ29vcmRpbmF0ZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVJvdXRlTGVnIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBzdGVwcz86IE9zcm1Sb3V0ZVN0ZXBbXTtcbiAgc3VtbWFyeTogc3RyaW5nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIElnb1N0ZXAge1xuICAvLyBSRUZFUiBUTyBUSElTIElOVEVSRkFDRSBGT1IgVkFSSU9VUyBTT1VSQ0VcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGRyaXZpbmdfc2lkZT86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1TdGVwTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVkU3RlcCB7XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIGljb25OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVJvdXRlU3RlcCB7XG4gIGRlc3RpbmF0aW9ucz86IHN0cmluZ1tdO1xuICBkaXN0YW5jZT86IG51bWJlcjtcbiAgZHJpdmluZ19zaWRlPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZXhpdHM6IG51bWJlcltdIHwgc3RyaW5nW107XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1TdGVwTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHByb251bmNpYXRpb24/OiBzdHJpbmc7XG4gIHJvdGFyeV9uYW1lPzogc3RyaW5nO1xuICByb3RhcnlfcHJvbnVuY2lhdGlvbj86IHN0cmluZztcbiAgcmVmPzogbnVtYmVyIHwgc3RyaW5nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVN0ZXBNYW5ldXZlciB7XG4gIGJlYXJpbmdfYWZ0ZXI/OiBudW1iZXI7XG4gIGJlYXJpbmdfYmVmb3JlPzogbnVtYmVyO1xuICBleGl0PzogbnVtYmVyO1xuICBsb2NhdGlvbj86IFtudW1iZXIsIG51bWJlcl07XG4gIG1vZGlmaWVyPzogTWFuZXV2ZXJNb2RpZmllcjtcbiAgdHlwZT86IE1hbmV1dmVyVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPc3JtTGFuZSB7XG4gIGluZGljYXRpb25zOiBMYW5lVHlwZVtdO1xuICB2YWxpZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPc3JtSW50ZXJzZWN0aW9uIHtcbiAgYmVhcmluZ3M/OiBudW1iZXJbXTtcbiAgY2xhc3Nlcz86IHN0cmluZ1tdO1xuICBlbnRyeT86IGJvb2xlYW5bXTtcbiAgaW4/OiBudW1iZXI7XG4gIGxhbmVzPzogT3NybUxhbmVbXTtcbiAgbG9jYXRpb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBvdXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVdheXBvaW50IHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICBuYW1lPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { ActivityService } from '@igo2/core/activity';
|
|
4
|
-
import { ConfigService } from '@igo2/core/config';
|
|
5
|
-
import { LanguageService } from '@igo2/core/language';
|
|
6
|
-
import { SubjectStatus } from '@igo2/utils';
|
|
7
|
-
import html2canvas from 'html2canvas';
|
|
8
|
-
import jsPDF from 'jspdf';
|
|
9
|
-
import 'jspdf-autotable';
|
|
10
|
-
import moment from 'moment';
|
|
11
|
-
import { Subject } from 'rxjs';
|
|
12
|
-
import { PrintService } from '../../print/shared/print.service';
|
|
13
|
-
import { DirectionsSourceService } from './directions-source.service';
|
|
14
|
-
import { formatDistance, formatDuration, formatStep } from './directions.utils';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
import * as i1 from "./directions-source.service";
|
|
17
|
-
import * as i2 from "@igo2/core/config";
|
|
18
|
-
import * as i3 from "@igo2/core/language";
|
|
19
|
-
import * as i4 from "../../print/shared/print.service";
|
|
20
|
-
import * as i5 from "@igo2/core/activity";
|
|
21
|
-
export class DirectionsService {
|
|
22
|
-
directionsSourceService;
|
|
23
|
-
configService;
|
|
24
|
-
languageService;
|
|
25
|
-
printService;
|
|
26
|
-
document;
|
|
27
|
-
activityService;
|
|
28
|
-
constructor(directionsSourceService, configService, languageService, printService, document, activityService) {
|
|
29
|
-
this.directionsSourceService = directionsSourceService;
|
|
30
|
-
this.configService = configService;
|
|
31
|
-
this.languageService = languageService;
|
|
32
|
-
this.printService = printService;
|
|
33
|
-
this.document = document;
|
|
34
|
-
this.activityService = activityService;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Routes the given coordinates using the specified directions source and options.
|
|
38
|
-
*
|
|
39
|
-
* @param {DirectionsSource} source - The directions source to use for routing.
|
|
40
|
-
* @param {Position[]} coordinates - The array of coordinates to route.
|
|
41
|
-
* @param {DirectionOptions} [directionsOptions={}] - The optional direction options.
|
|
42
|
-
* @return {Observable<Directions[]>} An observable that emits an array of directions.
|
|
43
|
-
*/
|
|
44
|
-
route(coordinates, directionsOptions = {}) {
|
|
45
|
-
if (coordinates.length === 0) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const source = this.directionsSourceService.sources[0];
|
|
49
|
-
const request = source.route(coordinates, directionsOptions);
|
|
50
|
-
return request;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Downloads directions for a given map and directions object.
|
|
54
|
-
*
|
|
55
|
-
* @param {IgoMap} map - The map object to download directions for.
|
|
56
|
-
* @param {Directions} directions - The directions object containing the route information.
|
|
57
|
-
* @return {Observable<SubjectStatus>} An observable that emits the status of the download process.
|
|
58
|
-
*/
|
|
59
|
-
downloadDirections(map, directions) {
|
|
60
|
-
const activityId = this.activityService.register();
|
|
61
|
-
const status$ = new Subject();
|
|
62
|
-
const doc = new jsPDF({
|
|
63
|
-
orientation: 'p',
|
|
64
|
-
format: 'letter',
|
|
65
|
-
unit: 'mm' // default
|
|
66
|
-
});
|
|
67
|
-
const pageSize = doc.internal.pageSize;
|
|
68
|
-
const margins = [30, 10, 20, 10];
|
|
69
|
-
const zoneWidth = pageSize.getWidth() - margins[3] - margins[1];
|
|
70
|
-
const zoneHeight = pageSize.getHeight() - margins[0] - margins[2];
|
|
71
|
-
const imageDimensions = [zoneWidth, zoneHeight];
|
|
72
|
-
const distance = formatDistance(directions.distance);
|
|
73
|
-
const duration = formatDuration(directions.duration);
|
|
74
|
-
const title = distance && duration
|
|
75
|
-
? `${directions.title} (${distance} - ${duration})`
|
|
76
|
-
: directions.title;
|
|
77
|
-
doc.text(title, pageSize.getWidth() / 2, 25, {
|
|
78
|
-
align: 'center'
|
|
79
|
-
});
|
|
80
|
-
const resolution = 96; // Default is 96
|
|
81
|
-
this.printService
|
|
82
|
-
.addMap(doc, map, resolution, imageDimensions, margins)
|
|
83
|
-
.subscribe(async (status) => {
|
|
84
|
-
if (status === SubjectStatus.Done) {
|
|
85
|
-
await this.addInstructions(doc, directions, title);
|
|
86
|
-
this.setPageHeaderFooter(doc);
|
|
87
|
-
await doc.save(`${title}.pdf`, { returnPromise: true });
|
|
88
|
-
}
|
|
89
|
-
this.activityService.unregister(activityId);
|
|
90
|
-
status$.next(status);
|
|
91
|
-
});
|
|
92
|
-
return status$;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Generates an HTML table element with directions steps.
|
|
96
|
-
*
|
|
97
|
-
* @param {Directions} directions - The directions object containing the steps.
|
|
98
|
-
* @return {Promise<HTMLTableElement>} - A promise that resolves to the generated HTML table element.
|
|
99
|
-
*/
|
|
100
|
-
async setHTMLTableDirections(directions) {
|
|
101
|
-
const steps = await this.directionsSteps(directions);
|
|
102
|
-
const table = document.createElement('table');
|
|
103
|
-
const tblBody = document.createElement('tbody');
|
|
104
|
-
for (const step of steps) {
|
|
105
|
-
const row = document.createElement('tr');
|
|
106
|
-
// icon
|
|
107
|
-
const cellIcon = document.createElement('td');
|
|
108
|
-
const iconElement = document.createElement('img');
|
|
109
|
-
iconElement.style.verticalAlign = 'middle';
|
|
110
|
-
iconElement.src = step.icon;
|
|
111
|
-
cellIcon.appendChild(iconElement);
|
|
112
|
-
row.append(cellIcon);
|
|
113
|
-
// instruction
|
|
114
|
-
const cellText = document.createElement('td');
|
|
115
|
-
const spanInstructionElement = document.createElement('span');
|
|
116
|
-
spanInstructionElement.style.verticalAlign = 'middle';
|
|
117
|
-
spanInstructionElement.innerHTML = step.instruction;
|
|
118
|
-
cellText.appendChild(spanInstructionElement);
|
|
119
|
-
// distance/duration
|
|
120
|
-
if (step.distanceDuration) {
|
|
121
|
-
const spanDistanceElement = document.createElement('span');
|
|
122
|
-
spanDistanceElement.style.verticalAlign = 'middle';
|
|
123
|
-
spanDistanceElement.innerHTML = ' ' + step.distanceDuration;
|
|
124
|
-
cellText.appendChild(spanDistanceElement);
|
|
125
|
-
}
|
|
126
|
-
row.append(cellText);
|
|
127
|
-
tblBody.appendChild(row);
|
|
128
|
-
}
|
|
129
|
-
table.appendChild(tblBody);
|
|
130
|
-
return table;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Generates formatted steps for the given directions.
|
|
134
|
-
*
|
|
135
|
-
* @param {Directions} directions - The directions object containing the steps.
|
|
136
|
-
* @return {Promise<{ instruction: string; icon: string; distanceDuration: string }[]>}
|
|
137
|
-
* A promise that resolves to an array of formatted steps.
|
|
138
|
-
*/
|
|
139
|
-
async directionsSteps(directions) {
|
|
140
|
-
const matListElement = this.document
|
|
141
|
-
.getElementsByTagName('igo-directions-results')[0]
|
|
142
|
-
.getElementsByTagName('mat-list')[0];
|
|
143
|
-
const matListItemElements = matListElement.getElementsByTagName('mat-list-item');
|
|
144
|
-
// convert icons list to base64
|
|
145
|
-
const icons = [];
|
|
146
|
-
for (const element of Array.from(matListItemElements)) {
|
|
147
|
-
const iconElement = element.getElementsByTagName('mat-icon')[0];
|
|
148
|
-
const iconName = iconElement.innerText;
|
|
149
|
-
const found = icons.some((icon) => icon.name === iconName);
|
|
150
|
-
if (!found) {
|
|
151
|
-
const iconCanvas = await html2canvas(iconElement);
|
|
152
|
-
icons.push({ name: iconName, icon: iconCanvas.toDataURL() });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const formattedSteps = [];
|
|
156
|
-
for (let stepIndex = 0; stepIndex < directions.steps.length; stepIndex++) {
|
|
157
|
-
const step = directions.steps[stepIndex];
|
|
158
|
-
const formattedStep = formatStep(step, this.languageService, stepIndex === directions.steps.length - 1);
|
|
159
|
-
const formattedDistance = formatDistance(step.distance);
|
|
160
|
-
const formattedDuration = formatDuration(step.duration);
|
|
161
|
-
if ((formattedDistance && formattedDuration) ||
|
|
162
|
-
stepIndex === directions.steps.length - 1) {
|
|
163
|
-
formattedSteps.push({
|
|
164
|
-
instruction: `${formattedStep.instruction}`,
|
|
165
|
-
icon: icons.find((icon) => icon.name === formattedStep.iconName).icon,
|
|
166
|
-
distanceDuration: formattedDistance && formattedDuration
|
|
167
|
-
? `(${formattedDistance} - ${formattedDuration})`
|
|
168
|
-
: ''
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return formattedSteps;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Adds instructions to the given jsPDF document.
|
|
176
|
-
*
|
|
177
|
-
* @param {jsPDF} doc - The jsPDF document to add instructions to.
|
|
178
|
-
* @param {Directions} directions - The directions object containing the instructions.
|
|
179
|
-
* @param {string} title - The title of the instructions.
|
|
180
|
-
* @return {Promise<void>} A promise that resolves when the instructions are added to the document.
|
|
181
|
-
*/
|
|
182
|
-
async addInstructions(doc, directions, title) {
|
|
183
|
-
doc.addPage();
|
|
184
|
-
doc.text(title, doc.internal.pageSize.getWidth() / 2, 25, {
|
|
185
|
-
align: 'center'
|
|
186
|
-
});
|
|
187
|
-
const HTMLtable = await this.setHTMLTableDirections(directions);
|
|
188
|
-
doc.autoTable({
|
|
189
|
-
html: HTMLtable,
|
|
190
|
-
startY: 30,
|
|
191
|
-
margin: { top: 20, bottom: 20 },
|
|
192
|
-
columnStyles: {
|
|
193
|
-
0: { cellWidth: 10 }
|
|
194
|
-
},
|
|
195
|
-
theme: 'plain',
|
|
196
|
-
styles: {
|
|
197
|
-
fontSize: 10
|
|
198
|
-
},
|
|
199
|
-
didDrawCell: function (data) {
|
|
200
|
-
if (data.column.index === 0 && data.cell.section === 'body') {
|
|
201
|
-
data.row.height = 10;
|
|
202
|
-
const td = data.cell.raw;
|
|
203
|
-
const img = td.getElementsByTagName('img')[0];
|
|
204
|
-
doc.addImage(img.src, data.cell.x, data.cell.y, 8, 8);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Sets the header and footer of each page in the given jsPDF document.
|
|
211
|
-
*
|
|
212
|
-
* @param {jsPDF} doc - The jsPDF document to modify.
|
|
213
|
-
*/
|
|
214
|
-
setPageHeaderFooter(doc) {
|
|
215
|
-
const pageCount = doc.getNumberOfPages();
|
|
216
|
-
const dateTime = moment(Date.now()).format('YYYY-MM-DD HH:mm');
|
|
217
|
-
const logo = this.configService.getConfig('directionsSources.logo')
|
|
218
|
-
? this.configService.getConfig('directionsSources.logo')
|
|
219
|
-
: 'assets/logo.png';
|
|
220
|
-
for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {
|
|
221
|
-
doc.setPage(pageIndex);
|
|
222
|
-
doc.setFontSize(8);
|
|
223
|
-
const pageSize = doc.internal.pageSize;
|
|
224
|
-
doc.text(dateTime, 10, 10, { baseline: 'top' });
|
|
225
|
-
doc.addImage(logo, 'PNG', pageSize.getWidth() - 20, 5, 10, 10);
|
|
226
|
-
doc.text(dateTime, 10, pageSize.getHeight() - 10);
|
|
227
|
-
doc.text('Page ' + doc.getCurrentPageInfo().pageNumber + ' / ' + pageCount, pageSize.getWidth() - 20, pageSize.getHeight() - 10);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsService, deps: [{ token: i1.DirectionsSourceService }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i4.PrintService }, { token: DOCUMENT }, { token: i5.ActivityService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
231
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsService });
|
|
232
|
-
}
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsService, decorators: [{
|
|
234
|
-
type: Injectable
|
|
235
|
-
}], ctorParameters: () => [{ type: i1.DirectionsSourceService }, { type: i2.ConfigService }, { type: i3.LanguageService }, { type: i4.PrintService }, { type: Document, decorators: [{
|
|
236
|
-
type: Inject,
|
|
237
|
-
args: [DOCUMENT]
|
|
238
|
-
}] }, { type: i5.ActivityService }] });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFHaEYsTUFBTSxPQUFPLGlCQUFpQjtJQUVsQjtJQUNBO0lBQ0E7SUFDQTtJQUNrQjtJQUNsQjtJQU5WLFlBQ1UsdUJBQWdELEVBQ2hELGFBQTRCLEVBQzVCLGVBQWdDLEVBQ2hDLFlBQTBCLEVBQ1IsUUFBa0IsRUFDcEMsZUFBZ0M7UUFMaEMsNEJBQXVCLEdB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QixDQUFDO1lBQ3hELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUV0QixLQUFLLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDM0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbEQsR0FBRyxDQUFDLElBQUksQ0FDTixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQ2pFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQ3hCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQzFCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzt3R0ExUVUsaUJBQWlCLGlKQU1sQixRQUFROzRHQU5QLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBT04sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvYWN0aXZpdHknO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICdnZW9qc29uJztcbmltcG9ydCBodG1sMmNhbnZhcyBmcm9tICdodG1sMmNhbnZhcyc7XG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IHsgVXNlck9wdGlvbnMgfSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC9zaGFyZWQvcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zU291cmNlIH0gZnJvbSAnLi4vZGlyZWN0aW9ucy1zb3VyY2VzL2RpcmVjdGlvbnMtc291cmNlJztcbmltcG9ydCB7IERpcmVjdGlvbk9wdGlvbnMsIERpcmVjdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybWF0dGVkU3RlcCwgSWdvU3RlcCB9IGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZm9ybWF0RGlzdGFuY2UsIGZvcm1hdER1cmF0aW9uLCBmb3JtYXRTdGVwIH0gZnJvbSAnLi9kaXJlY3Rpb25zLnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25zU291cmNlU2VydmljZTogRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUm91dGVzIHRoZSBnaXZlbiBjb29yZGluYXRlcyB1c2luZyB0aGUgc3BlY2lmaWVkIGRpcmVjdGlvbnMgc291cmNlIGFuZCBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnNTb3VyY2V9IHNvdXJjZSAtIFRoZSBkaXJlY3Rpb25zIHNvdXJjZSB0byB1c2UgZm9yIHJvdXRpbmcuXG4gICAqIEBwYXJhbSB7UG9zaXRpb25bXX0gY29vcmRpbmF0ZXMgLSBUaGUgYXJyYXkgb2YgY29vcmRpbmF0ZXMgdG8gcm91dGUuXG4gICAqIEBwYXJhbSB7RGlyZWN0aW9uT3B0aW9uc30gW2RpcmVjdGlvbnNPcHRpb25zPXt9XSAtIFRoZSBvcHRpb25hbCBkaXJlY3Rpb24gb3B0aW9ucy5cbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxEaXJlY3Rpb25zW10+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgZGlyZWN0aW9ucy5cbiAgICovXG4gIHJvdXRlKFxuICAgIGNvb3JkaW5hdGVzOiBQb3NpdGlvbltdLFxuICAgIGRpcmVjdGlvbnNPcHRpb25zOiBEaXJlY3Rpb25PcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25zW10+IHtcbiAgICBpZiAoY29vcmRpbmF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvdXJjZTogRGlyZWN0aW9uc1NvdXJjZSA9IHRoaXMuZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uuc291cmNlc1swXTtcbiAgICBjb25zdCByZXF1ZXN0ID0gc291cmNlLnJvdXRlKGNvb3JkaW5hdGVzLCBkaXJlY3Rpb25zT3B0aW9ucyk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWRzIGRpcmVjdGlvbnMgZm9yIGEgZ2l2ZW4gbWFwIGFuZCBkaXJlY3Rpb25zIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtJZ29NYXB9IG1hcCAtIFRoZSBtYXAgb2JqZWN0IHRvIGRvd25sb2FkIGRpcmVjdGlvbnMgZm9yLlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgcm91dGUgaW5mb3JtYXRpb24uXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U3ViamVjdFN0YXR1cz59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdHVzIG9mIHRoZSBkb3dubG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgZG93bmxvYWREaXJlY3Rpb25zKFxuICAgIG1hcDogSWdvTWFwLFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTdWJqZWN0U3RhdHVzPiB7XG4gICAgY29uc3QgYWN0aXZpdHlJZDogc3RyaW5nID0gdGhpcy5hY3Rpdml0eVNlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICBjb25zdCBzdGF0dXMkOiBTdWJqZWN0PFN1YmplY3RTdGF0dXM+ID0gbmV3IFN1YmplY3Q8U3ViamVjdFN0YXR1cz4oKTtcblxuICAgIGNvbnN0IGRvYzoganNQREYgPSBuZXcganNQREYoe1xuICAgICAgb3JpZW50YXRpb246ICdwJyxcbiAgICAgIGZvcm1hdDogJ2xldHRlcicsXG4gICAgICB1bml0OiAnbW0nIC8vIGRlZmF1bHRcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhZ2VTaXplID0gZG9jLmludGVybmFsLnBhZ2VTaXplO1xuXG4gICAgY29uc3QgbWFyZ2luczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMzAsIDEwLCAyMCwgMTBdO1xuXG4gICAgY29uc3Qgem9uZVdpZHRoOiBudW1iZXIgPSBwYWdlU2l6ZS5nZXRXaWR0aCgpIC0gbWFyZ2luc1szXSAtIG1hcmdpbnNbMV07XG4gICAgY29uc3Qgem9uZUhlaWdodDogbnVtYmVyID0gcGFnZVNpemUuZ2V0SGVpZ2h0KCkgLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcbiAgICBjb25zdCBpbWFnZURpbWVuc2lvbnM6IFtudW1iZXIsIG51bWJlcl0gPSBbem9uZVdpZHRoLCB6b25lSGVpZ2h0XTtcblxuICAgIGNvbnN0IGRpc3RhbmNlOiBzdHJpbmcgPSBmb3JtYXREaXN0YW5jZShkaXJlY3Rpb25zLmRpc3RhbmNlKTtcbiAgICBjb25zdCBkdXJhdGlvbjogc3RyaW5nID0gZm9ybWF0RHVyYXRpb24oZGlyZWN0aW9ucy5kdXJhdGlvbik7XG5cbiAgICBjb25zdCB0aXRsZTogc3RyaW5nID1cbiAgICAgIGRpc3RhbmNlICYmIGR1cmF0aW9uXG4gICAgICAgID8gYCR7ZGlyZWN0aW9ucy50aXRsZX0gKCR7ZGlzdGFuY2V9IC0gJHtkdXJhdGlvbn0pYFxuICAgICAgICA6IGRpcmVjdGlvbnMudGl0bGU7XG5cbiAgICBkb2MudGV4dCh0aXRsZSwgcGFnZVNpemUuZ2V0V2lkdGgoKSAvIDIsIDI1LCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc29sdXRpb24gPSA5NjsgLy8gRGVmYXVsdCBpcyA5NlxuICAgIHRoaXMucHJpbnRTZXJ2aWNlXG4gICAgICAuYWRkTWFwKGRvYywgbWFwLCByZXNvbHV0aW9uLCBpbWFnZURpbWVuc2lvbnMsIG1hcmdpbnMpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChzdGF0dXM6IFN1YmplY3RTdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gU3ViamVjdFN0YXR1cy5Eb25lKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRJbnN0cnVjdGlvbnMoZG9jLCBkaXJlY3Rpb25zLCB0aXRsZSk7XG4gICAgICAgICAgdGhpcy5zZXRQYWdlSGVhZGVyRm9vdGVyKGRvYyk7XG4gICAgICAgICAgYXdhaXQgZG9jLnNhdmUoYCR7dGl0bGV9LnBkZmAsIHsgcmV0dXJuUHJvbWlzZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnVucmVnaXN0ZXIoYWN0aXZpdHlJZCk7XG4gICAgICAgIHN0YXR1cyQubmV4dChzdGF0dXMpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gc3RhdHVzJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gSFRNTCB0YWJsZSBlbGVtZW50IHdpdGggZGlyZWN0aW9ucyBzdGVwcy5cbiAgICpcbiAgICogQHBhcmFtIHtEaXJlY3Rpb25zfSBkaXJlY3Rpb25zIC0gVGhlIGRpcmVjdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHN0ZXBzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEhUTUxUYWJsZUVsZW1lbnQ+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBnZW5lcmF0ZWQgSFRNTCB0YWJsZSBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBzZXRIVE1MVGFibGVEaXJlY3Rpb25zKFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnNcbiAgKTogUHJvbWlzZTxIVE1MVGFibGVFbGVtZW50PiB7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLmRpcmVjdGlvbnNTdGVwcyhkaXJlY3Rpb25zKTtcbiAgICBjb25zdCB0YWJsZTogSFRNTFRhYmxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RhYmxlJyk7XG4gICAgY29uc3QgdGJsQm9keTogSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0Ym9keScpO1xuXG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHN0ZXBzKSB7XG4gICAgICBjb25zdCByb3c6IEhUTUxUYWJsZVJvd0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpO1xuXG4gICAgICAvLyBpY29uXG4gICAgICBjb25zdCBjZWxsSWNvbjogSFRNTFRhYmxlQ2VsbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpO1xuICAgICAgY29uc3QgaWNvbkVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgIGljb25FbGVtZW50LnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcbiAgICAgIGljb25FbGVtZW50LnNyYyA9IHN0ZXAuaWNvbjtcbiAgICAgIGNlbGxJY29uLmFwcGVuZENoaWxkKGljb25FbGVtZW50KTtcbiAgICAgIHJvdy5hcHBlbmQoY2VsbEljb24pO1xuXG4gICAgICAvLyBpbnN0cnVjdGlvblxuICAgICAgY29uc3QgY2VsbFRleHQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTtcbiAgICAgIGNvbnN0IHNwYW5JbnN0cnVjdGlvbkVsZW1lbnQ6IEhUTUxTcGFuRWxlbWVudCA9XG4gICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHNwYW5JbnN0cnVjdGlvbkVsZW1lbnQuc3R5bGUudmVydGljYWxBbGlnbiA9ICdtaWRkbGUnO1xuICAgICAgc3Bhbkluc3RydWN0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBzdGVwLmluc3RydWN0aW9uO1xuICAgICAgY2VsbFRleHQuYXBwZW5kQ2hpbGQoc3Bhbkluc3RydWN0aW9uRWxlbWVudCk7XG5cbiAgICAgIC8vIGRpc3RhbmNlL2R1cmF0aW9uXG4gICAgICBpZiAoc3RlcC5kaXN0YW5jZUR1cmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNwYW5EaXN0YW5jZUVsZW1lbnQ6IEhUTUxTcGFuRWxlbWVudCA9XG4gICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBzcGFuRGlzdGFuY2VFbGVtZW50LnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcbiAgICAgICAgc3BhbkRpc3RhbmNlRWxlbWVudC5pbm5lckhUTUwgPSAnICcgKyBzdGVwLmRpc3RhbmNlRHVyYXRpb247XG4gICAgICAgIGNlbGxUZXh0LmFwcGVuZENoaWxkKHNwYW5EaXN0YW5jZUVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICByb3cuYXBwZW5kKGNlbGxUZXh0KTtcbiAgICAgIHRibEJvZHkuYXBwZW5kQ2hpbGQocm93KTtcbiAgICB9XG4gICAgdGFibGUuYXBwZW5kQ2hpbGQodGJsQm9keSk7XG4gICAgcmV0dXJuIHRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBmb3JtYXR0ZWQgc3RlcHMgZm9yIHRoZSBnaXZlbiBkaXJlY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgc3RlcHMuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8eyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlRHVyYXRpb246IHN0cmluZyB9W10+fVxuICAgKiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBmb3JtYXR0ZWQgc3RlcHMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRpcmVjdGlvbnNTdGVwcyhcbiAgICBkaXJlY3Rpb25zOiBEaXJlY3Rpb25zXG4gICk6IFByb21pc2U8XG4gICAgeyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlRHVyYXRpb246IHN0cmluZyB9W11cbiAgPiB7XG4gICAgY29uc3QgbWF0TGlzdEVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50XG4gICAgICAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lnby1kaXJlY3Rpb25zLXJlc3VsdHMnKVswXVxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdCcpWzBdO1xuICAgIGNvbnN0IG1hdExpc3RJdGVtRWxlbWVudHM6IEhUTUxDb2xsZWN0aW9uT2Y8RWxlbWVudD4gPVxuICAgICAgbWF0TGlzdEVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0LWl0ZW0nKTtcbiAgICAvLyBjb252ZXJ0IGljb25zIGxpc3QgdG8gYmFzZTY0XG4gICAgY29uc3QgaWNvbnM6IHsgbmFtZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfVtdID0gW107XG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIEFycmF5LmZyb20obWF0TGlzdEl0ZW1FbGVtZW50cykpIHtcbiAgICAgIGNvbnN0IGljb25FbGVtZW50OiBIVE1MRWxlbWVudCA9IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXG4gICAgICAgICdtYXQtaWNvbidcbiAgICAgIClbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBpY29uTmFtZTogc3RyaW5nID0gaWNvbkVsZW1lbnQuaW5uZXJUZXh0O1xuICAgICAgY29uc3QgZm91bmQ6IGJvb2xlYW4gPSBpY29ucy5zb21lKChpY29uKSA9PiBpY29uLm5hbWUgPT09IGljb25OYW1lKTtcbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc3QgaWNvbkNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBhd2FpdCBodG1sMmNhbnZhcyhpY29uRWxlbWVudCk7XG4gICAgICAgIGljb25zLnB1c2goeyBuYW1lOiBpY29uTmFtZSwgaWNvbjogaWNvbkNhbnZhcy50b0RhdGFVUkwoKSB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWRTdGVwczoge1xuICAgICAgaW5zdHJ1Y3Rpb246IHN0cmluZztcbiAgICAgIGljb246IHN0cmluZztcbiAgICAgIGRpc3RhbmNlRHVyYXRpb246IHN0cmluZztcbiAgICB9W10gPSBbXTtcbiAgICBmb3IgKGxldCBzdGVwSW5kZXggPSAwOyBzdGVwSW5kZXggPCBkaXJlY3Rpb25zLnN0ZXBzLmxlbmd0aDsgc3RlcEluZGV4KyspIHtcbiAgICAgIGNvbnN0IHN0ZXA6IElnb1N0ZXAgPSBkaXJlY3Rpb25zLnN0ZXBzW3N0ZXBJbmRleF07XG4gICAgICBjb25zdCBmb3JtYXR0ZWRTdGVwOiBGb3JtYXR0ZWRTdGVwID0gZm9ybWF0U3RlcChcbiAgICAgICAgc3RlcCxcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgIHN0ZXBJbmRleCA9PT0gZGlyZWN0aW9ucy5zdGVwcy5sZW5ndGggLSAxXG4gICAgICApO1xuXG4gICAgICBjb25zdCBmb3JtYXR0ZWREaXN0YW5jZTogc3RyaW5nID0gZm9ybWF0RGlzdGFuY2Uoc3RlcC5kaXN0YW5jZSk7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREdXJhdGlvbjogc3RyaW5nID0gZm9ybWF0RHVyYXRpb24oc3RlcC5kdXJhdGlvbik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKGZvcm1hdHRlZERpc3RhbmNlICYmIGZvcm1hdHRlZER1cmF0aW9uKSB8fFxuICAgICAgICBzdGVwSW5kZXggPT09IGRpcmVjdGlvbnMuc3RlcHMubGVuZ3RoIC0gMVxuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFN0ZXBzLnB1c2goe1xuICAgICAgICAgIGluc3RydWN0aW9uOiBgJHtmb3JtYXR0ZWRTdGVwLmluc3RydWN0aW9ufWAsXG4gICAgICAgICAgaWNvbjogaWNvbnMuZmluZCgoaWNvbikgPT4gaWNvbi5uYW1lID09PSBmb3JtYXR0ZWRTdGVwLmljb25OYW1lKS5pY29uLFxuICAgICAgICAgIGRpc3RhbmNlRHVyYXRpb246XG4gICAgICAgICAgICBmb3JtYXR0ZWREaXN0YW5jZSAmJiBmb3JtYXR0ZWREdXJhdGlvblxuICAgICAgICAgICAgICA/IGAoJHtmb3JtYXR0ZWREaXN0YW5jZX0gLSAke2Zvcm1hdHRlZER1cmF0aW9ufSlgXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXR0ZWRTdGVwcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGluc3RydWN0aW9ucyB0byB0aGUgZ2l2ZW4ganNQREYgZG9jdW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7anNQREZ9IGRvYyAtIFRoZSBqc1BERiBkb2N1bWVudCB0byBhZGQgaW5zdHJ1Y3Rpb25zIHRvLlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgaW5zdHJ1Y3Rpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaGUgdGl0bGUgb2YgdGhlIGluc3RydWN0aW9ucy5cbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgaW5zdHJ1Y3Rpb25zIGFyZSBhZGRlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGFkZEluc3RydWN0aW9ucyhcbiAgICBkb2M6IGpzUERGLFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnMsXG4gICAgdGl0bGU6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBkb2MuYWRkUGFnZSgpO1xuICAgIGRvYy50ZXh0KHRpdGxlLCBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0V2lkdGgoKSAvIDIsIDI1LCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcbiAgICBjb25zdCBIVE1MdGFibGU6IEhUTUxUYWJsZUVsZW1lbnQgPVxuICAgICAgYXdhaXQgdGhpcy5zZXRIVE1MVGFibGVEaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAgIChkb2MgYXMgYW55KS5hdXRvVGFibGUoe1xuICAgICAgaHRtbDogSFRNTHRhYmxlLFxuICAgICAgc3RhcnRZOiAzMCxcbiAgICAgIG1hcmdpbjogeyB0b3A6IDIwLCBib3R0b206IDIwIH0sXG4gICAgICBjb2x1bW5TdHlsZXM6IHtcbiAgICAgICAgMDogeyBjZWxsV2lkdGg6IDEwIH1cbiAgICAgIH0sXG4gICAgICB0aGVtZTogJ3BsYWluJyxcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBmb250U2l6ZTogMTBcbiAgICAgIH0sXG4gICAgICBkaWREcmF3Q2VsbDogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuY29sdW1uLmluZGV4ID09PSAwICYmIGRhdGEuY2VsbC5zZWN0aW9uID09PSAnYm9keScpIHtcbiAgICAgICAgICBkYXRhLnJvdy5oZWlnaHQgPSAxMDtcbiAgICAgICAgICBjb25zdCB0ZDogSFRNTEVsZW1lbnQgPSBkYXRhLmNlbGwucmF3IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IHRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKVswXTtcbiAgICAgICAgICBkb2MuYWRkSW1hZ2UoaW1nLnNyYywgZGF0YS5jZWxsLngsIGRhdGEuY2VsbC55LCA4LCA4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gc2F0aXNmaWVzIFVzZXJPcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBvZiBlYWNoIHBhZ2UgaW4gdGhlIGdpdmVuIGpzUERGIGRvY3VtZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge2pzUERGfSBkb2MgLSBUaGUganNQREYgZG9jdW1lbnQgdG8gbW9kaWZ5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYWdlSGVhZGVyRm9vdGVyKGRvYzoganNQREYpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdlQ291bnQ6IG51bWJlciA9IGRvYy5nZXROdW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgZGF0ZVRpbWU6IHN0cmluZyA9IG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW0nKTtcblxuICAgIGNvbnN0IGxvZ286IHN0cmluZyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2RpcmVjdGlvbnNTb3VyY2VzLmxvZ28nKVxuICAgICAgPyB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdkaXJlY3Rpb25zU291cmNlcy5sb2dvJylcbiAgICAgIDogJ2Fzc2V0cy9sb2dvLnBuZyc7XG5cbiAgICBmb3IgKGxldCBwYWdlSW5kZXggPSAwOyBwYWdlSW5kZXggPCBwYWdlQ291bnQ7IHBhZ2VJbmRleCsrKSB7XG4gICAgICBkb2Muc2V0UGFnZShwYWdlSW5kZXgpO1xuICAgICAgZG9jLnNldEZvbnRTaXplKDgpO1xuICAgICAgY29uc3QgcGFnZVNpemUgPSBkb2MuaW50ZXJuYWwucGFnZVNpemU7XG4gICAgICBkb2MudGV4dChkYXRlVGltZSwgMTAsIDEwLCB7IGJhc2VsaW5lOiAndG9wJyB9KTtcbiAgICAgIGRvYy5hZGRJbWFnZShsb2dvLCAnUE5HJywgcGFnZVNpemUuZ2V0V2lkdGgoKSAtIDIwLCA1LCAxMCwgMTApO1xuICAgICAgZG9jLnRleHQoZGF0ZVRpbWUsIDEwLCBwYWdlU2l6ZS5nZXRIZWlnaHQoKSAtIDEwKTtcbiAgICAgIGRvYy50ZXh0KFxuICAgICAgICAnUGFnZSAnICsgZG9jLmdldEN1cnJlbnRQYWdlSW5mbygpLnBhZ2VOdW1iZXIgKyAnIC8gJyArIHBhZ2VDb3VudCxcbiAgICAgICAgcGFnZVNpemUuZ2V0V2lkdGgoKSAtIDIwLFxuICAgICAgICBwYWdlU2l6ZS5nZXRIZWlnaHQoKSAtIDEwXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|