@igo2/geo 16.3.0 → 17.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
- package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
- package/esm2022/lib/catalog/catalog.module.mjs +9 -37
- package/esm2022/lib/catalog/index.mjs +7 -1
- package/esm2022/lib/catalog/shared/catalog.service.mjs +9 -6
- package/esm2022/lib/catalog/shared/index.mjs +1 -1
- package/esm2022/lib/datasource/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2022/lib/datasource/shared/index.mjs +1 -1
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
- package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
- package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
- package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
- package/esm2022/lib/directions/directions-results/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
- package/esm2022/lib/directions/directions.component.mjs +18 -10
- package/esm2022/lib/directions/directions.module.mjs +17 -70
- package/esm2022/lib/directions/index.mjs +1 -1
- package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
- package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
- package/esm2022/lib/directions/shared/index.mjs +1 -1
- package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
- package/esm2022/lib/download/download-button/index.mjs +1 -1
- package/esm2022/lib/download/download.module.mjs +10 -27
- package/esm2022/lib/download/index.mjs +1 -1
- package/esm2022/lib/download/shared/download.interface.mjs +1 -1
- package/esm2022/lib/download/shared/download.service.mjs +5 -5
- package/esm2022/lib/download/shared/index.mjs +1 -1
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
- package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
- package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
- package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
- package/esm2022/lib/draw/index.mjs +1 -1
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
- package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2022/lib/draw/shared/index.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
- package/esm2022/lib/feature/feature-details/index.mjs +9 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
- package/esm2022/lib/feature/feature.module.mjs +9 -10
- package/esm2022/lib/feature/index.mjs +8 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
- package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2022/lib/filter/filter.module.mjs +47 -177
- package/esm2022/lib/filter/index.mjs +36 -1
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
- package/esm2022/lib/geo.module.mjs +5 -43
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
- package/esm2022/lib/geometry/geometry.module.mjs +9 -10
- package/esm2022/lib/geometry/index.mjs +2 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2022/lib/geometry/shared/index.mjs +1 -1
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
- package/esm2022/lib/import-export/export-button/index.mjs +1 -1
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
- package/esm2022/lib/import-export/import-export/index.mjs +1 -1
- package/esm2022/lib/import-export/import-export.module.mjs +10 -81
- package/esm2022/lib/import-export/index.mjs +9 -1
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
- package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
- package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
- package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
- package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2022/lib/import-export/shared/index.mjs +1 -1
- package/esm2022/lib/layer/index.mjs +19 -1
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
- package/esm2022/lib/layer/layer.module.mjs +16 -93
- package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2022/lib/layer/shared/layer.service.mjs +6 -6
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
- package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
- package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2022/lib/map/index.mjs +32 -1
- package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
- package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
- package/esm2022/lib/map/map.module.mjs +36 -66
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
- package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
- package/esm2022/lib/map/shared/index.mjs +1 -1
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
- package/esm2022/lib/map/shared/map.interface.mjs +1 -1
- package/esm2022/lib/map/shared/map.mjs +1 -1
- package/esm2022/lib/map/shared/map.service.mjs +5 -5
- package/esm2022/lib/map/shared/map.utils.mjs +1 -1
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
- package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2022/lib/map/shared/projection.service.mjs +5 -5
- package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
- package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
- package/esm2022/lib/measure/index.mjs +2 -3
- package/esm2022/lib/measure/measure.module.mjs +8 -5
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
- package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
- package/esm2022/lib/measure/shared/index.mjs +1 -1
- package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2022/lib/metadata/index.mjs +6 -1
- package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
- package/esm2022/lib/metadata/metadata.module.mjs +10 -31
- package/esm2022/lib/metadata/shared/index.mjs +1 -1
- package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
- package/esm2022/lib/offline/geoDB/index.mjs +1 -1
- package/esm2022/lib/offline/index.mjs +1 -1
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
- package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
- package/esm2022/lib/offline/shared/index.mjs +1 -1
- package/esm2022/lib/overlay/index.mjs +1 -1
- package/esm2022/lib/overlay/overlay.module.mjs +10 -8
- package/esm2022/lib/overlay/shared/index.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
- package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
- package/esm2022/lib/print/index.mjs +1 -1
- package/esm2022/lib/print/print/print.component.mjs +7 -7
- package/esm2022/lib/print/print-form/index.mjs +1 -1
- package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
- package/esm2022/lib/print/print.module.mjs +10 -54
- package/esm2022/lib/print/shared/index.mjs +1 -1
- package/esm2022/lib/print/shared/print.service.mjs +10 -10
- package/esm2022/lib/query/index.mjs +1 -1
- package/esm2022/lib/query/query.module.mjs +7 -8
- package/esm2022/lib/query/shared/index.mjs +1 -1
- package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
- package/esm2022/lib/query/shared/query.directive.mjs +8 -7
- package/esm2022/lib/query/shared/query.enums.mjs +1 -1
- package/esm2022/lib/query/shared/query.service.mjs +7 -9
- package/esm2022/lib/search/index.mjs +14 -5
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
- package/esm2022/lib/search/search-results/index.mjs +10 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
- package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
- package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
- package/esm2022/lib/search/search.module.mjs +10 -13
- package/esm2022/lib/search/shared/index.mjs +1 -1
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
- package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2022/lib/search/shared/search.service.mjs +5 -5
- package/esm2022/lib/search/shared/search.utils.mjs +1 -1
- package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
- package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
- package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
- package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/nominatim.mjs +6 -6
- package/esm2022/lib/search/shared/sources/source.mjs +1 -1
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
- package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
- package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
- package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
- package/esm2022/lib/style/shared/feature/index.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
- package/esm2022/lib/style/shared/vector/index.mjs +1 -1
- package/esm2022/lib/style/style-list/index.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
- package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
- package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
- package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
- package/esm2022/lib/style/style-modal/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
- package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
- package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
- package/esm2022/lib/style/style-service/index.mjs +1 -1
- package/esm2022/lib/style/style-service/style.service.mjs +4 -4
- package/esm2022/lib/style/style.module.mjs +12 -57
- package/esm2022/lib/toast/index.mjs +1 -1
- package/esm2022/lib/toast/toast.component.mjs +19 -11
- package/esm2022/lib/toast/toast.module.mjs +10 -30
- package/esm2022/lib/utils/id-generator.mjs +1 -1
- package/esm2022/lib/utils/index.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
- package/esm2022/lib/wkt/index.mjs +1 -1
- package/esm2022/lib/wkt/shared/index.mjs +1 -1
- package/esm2022/lib/wkt/shared/wkt.service.mjs +5 -5
- package/esm2022/lib/wkt/wkt.module.mjs +8 -5
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
- package/esm2022/lib/workspace/index.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/index.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2022/lib/workspace/widgets/index.mjs +1 -1
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
- package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
- package/esm2022/lib/workspace/workspace.module.mjs +10 -35
- package/esm2022/public_api.mjs +11 -12
- package/fesm2022/igo2-geo.mjs +34458 -34603
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
- package/lib/catalog/catalog-library/index.d.ts +5 -0
- package/lib/catalog/catalog.module.d.ts +6 -9
- package/lib/catalog/index.d.ts +2 -0
- package/lib/datasource/shared/datasource.service.d.ts +2 -4
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +1 -1
- package/lib/directions/directions.module.d.ts +9 -20
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/download/download.module.d.ts +4 -6
- package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +4 -4
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +1 -1
- package/lib/draw/draw/draw.module.d.ts +2 -25
- package/lib/draw/drawingTool.module.d.ts +3 -0
- package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
- package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
- package/lib/feature/feature-details/index.d.ts +5 -0
- package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
- package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
- package/lib/feature/feature.module.d.ts +6 -4
- package/lib/feature/index.d.ts +3 -1
- package/lib/filter/filter.module.d.ts +4 -28
- package/lib/filter/index.d.ts +16 -0
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
- package/lib/geo.module.d.ts +14 -24
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
- package/lib/geometry/geometry-form-field/index.d.ts +5 -0
- package/lib/geometry/geometry.module.d.ts +5 -3
- package/lib/geometry/index.d.ts +1 -2
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +4 -15
- package/lib/import-export/index.d.ts +4 -0
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
- package/lib/layer/index.d.ts +8 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/layer.module.d.ts +4 -18
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
- package/lib/map/index.d.ts +14 -0
- package/lib/map/info-section/info-section.component.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +1 -1
- package/lib/map/map.module.d.ts +4 -7
- package/lib/map/menu-button/menu-button.component.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +2 -2
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/hover-feature.directive.d.ts +1 -1
- package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
- package/lib/map/shared/mapOffline.directive.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/index.d.ts +1 -2
- package/lib/measure/measure.module.d.ts +3 -0
- package/lib/measure/measurer/index.d.ts +5 -0
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +2 -3
- package/lib/measure/measurer/measurer.module.d.ts +3 -18
- package/lib/metadata/index.d.ts +2 -0
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
- package/lib/metadata/metadata.module.d.ts +4 -7
- package/lib/overlay/overlay.module.d.ts +4 -1
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +1 -1
- package/lib/print/print.module.d.ts +4 -12
- package/lib/query/query.module.d.ts +4 -4
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/query/shared/query.service.d.ts +2 -3
- package/lib/search/index.d.ts +6 -4
- package/lib/search/search-bar/search-bar.component.d.ts +1 -1
- package/lib/search/search-bar/search-bar.module.d.ts +2 -16
- package/lib/search/search-results/index.d.ts +6 -0
- package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/search-results/search-results.module.d.ts +3 -21
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.module.d.ts +2 -11
- package/lib/search/search-settings/search-settings.component.d.ts +1 -1
- package/lib/search/search-settings/search-settings.module.d.ts +2 -12
- package/lib/search/search.module.d.ts +6 -7
- package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
- package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
- package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
- package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
- package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
- package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
- package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
- package/lib/style/style.module.d.ts +5 -16
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/toast/toast.module.d.ts +4 -6
- package/lib/wkt/wkt.module.d.ts +3 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
- package/lib/workspace/workspace.module.d.ts +5 -9
- package/locale/en.geo.json +3 -3
- package/locale/fr.geo.json +3 -3
- package/package.json +14 -12
- package/public_api.d.ts +10 -11
- package/src/geo-theme.scss +23 -23
- package/src/lib/filter/filter.theming.scss +13 -13
- package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
- package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
- package/src/lib/layer/layer-item/layer-item.theme.scss +33 -33
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
- package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -34
- package/src/lib/layer/layer.theming.scss +10 -10
- package/src/lib/map/map-browser/map-browser.theming.scss +46 -46
- package/src/lib/map/map.theming.scss +9 -9
- package/src/lib/map/menu-button/menu-button.theming.scss +20 -20
- package/src/lib/map/zoom-button/zoom-button.theming.scss +32 -32
- package/src/style/style.scss +1 -1
- package/esm2022/lib/datasource/datasource.module.mjs +0 -22
- package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
- package/lib/datasource/datasource.module.d.ts +0 -8
- package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
1
2
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
2
9
|
import { EntityStore } from '@igo2/common';
|
|
3
10
|
import { ConfigService } from '@igo2/core';
|
|
11
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
12
|
import { BehaviorSubject, timer } from 'rxjs';
|
|
5
13
|
import { debounce, distinctUntilChanged } from 'rxjs/operators';
|
|
14
|
+
import { SearchSelectorComponent } from '../search-selector/search-selector.component';
|
|
15
|
+
import { SearchSettingsComponent } from '../search-settings/search-settings.component';
|
|
6
16
|
import { SearchSourceService } from '../shared/search-source.service';
|
|
7
17
|
import { SEARCH_TYPES } from '../shared/search.enums';
|
|
8
18
|
import { SearchService } from '../shared/search.service';
|
|
@@ -10,16 +20,13 @@ import * as i0 from "@angular/core";
|
|
|
10
20
|
import * as i1 from "@igo2/core";
|
|
11
21
|
import * as i2 from "../shared/search.service";
|
|
12
22
|
import * as i3 from "../shared/search-source.service";
|
|
13
|
-
import * as i4 from "@angular/
|
|
14
|
-
import * as i5 from "@angular/material/
|
|
15
|
-
import * as i6 from "@angular/material/
|
|
16
|
-
import * as i7 from "@angular/material/
|
|
17
|
-
import * as i8 from "@angular/material/
|
|
18
|
-
import * as i9 from "@angular/material/
|
|
19
|
-
import * as i10 from "@
|
|
20
|
-
import * as i11 from "../search-selector/search-selector.component";
|
|
21
|
-
import * as i12 from "../search-settings/search-settings.component";
|
|
22
|
-
import * as i13 from "@ngx-translate/core";
|
|
23
|
+
import * as i4 from "@angular/material/form-field";
|
|
24
|
+
import * as i5 from "@angular/material/input";
|
|
25
|
+
import * as i6 from "@angular/material/button";
|
|
26
|
+
import * as i7 from "@angular/material/tooltip";
|
|
27
|
+
import * as i8 from "@angular/material/icon";
|
|
28
|
+
import * as i9 from "@angular/material/divider";
|
|
29
|
+
import * as i10 from "@ngx-translate/core";
|
|
23
30
|
/**
|
|
24
31
|
* Searchbar that triggers a research in all search sources enabled.
|
|
25
32
|
* If the store input is defined, the search results will be loaded
|
|
@@ -391,13 +398,26 @@ export class SearchBarComponent {
|
|
|
391
398
|
this.store.updateMany(newResults);
|
|
392
399
|
}
|
|
393
400
|
}
|
|
394
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
395
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
401
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchBarComponent, deps: [{ token: i1.ConfigService }, { token: i2.SearchService }, { token: i3.SearchSourceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
402
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SearchBarComponent, isStandalone: true, selector: "igo-search-bar", inputs: { searchTypes: "searchTypes", withDivider: "withDivider", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{ empty: empty$ | async }\">\r\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input\r\n #input\r\n matInput\r\n autocomplete=\"off\"\r\n [ngClass]=\"{ hasSearchIcon: showSearchButton }\"\r\n [disabled]=\"disabled$ | async\"\r\n [placeholder]=\"\r\n placeholder\r\n ? placeholder\r\n : (placeholder$ | async)\r\n ? (placeholder$.value | translate)\r\n : undefined\r\n \"\r\n [value]=\"term$ | async\"\r\n (keyup)=\"onKeyup($event)\"\r\n />\r\n <button\r\n *ngIf=\"(empty$ | async) === false\"\r\n mat-icon-button\r\n matSuffix\r\n [color]=\"color\"\r\n (click)=\"onClearButtonClick()\"\r\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-divider *ngIf=\"withDivider\" [vertical]=\"true\"></mat-divider>\r\n\r\n <div class=\"search-bar-buttons\">\r\n <button *ngIf=\"showSearchButton\" mat-icon-button [color]=\"color\">\r\n <mat-icon svgIcon=\"magnify\"></mat-icon>\r\n </button>\r\n\r\n <igo-search-selector\r\n *ngIf=\"searchSelector\"\r\n [searchTypes]=\"searchTypes\"\r\n [searchType]=\"searchType$ | async\"\r\n (searchTypeChange)=\"onSearchTypeChange($event)\"\r\n >\r\n </igo-search-selector>\r\n\r\n <igo-search-settings\r\n *ngIf=\"searchSettings\"\r\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\r\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\r\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\r\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\r\n [reverseSearchCoordsFormatEnabled]=\"reverseSearchCoordsFormatEnabled\"\r\n (reverseSearchCoordsFormatStatus)=\"\r\n reverseSearchCoordsFormatStatus.emit($event)\r\n \"\r\n (searchSourceChange)=\"onSearchSettingsChange()\"\r\n >\r\n </igo-search-settings>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .mat-mdc-text-field-wrapper{align-items:center;padding-right:0}:host ::ng-deep .mat-mdc-form-field-infix{align-self:center}@media (max-width: 599px){:host ::ng-deep .mat-mdc-form-field-infix{width:158px}}:host ::ng-deep mat-form-field .mdc-line-ripple{display:none}:host ::ng-deep mat-form-field input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.igo-search-bar-container{position:relative;width:100%;display:flex}mat-form-field{flex:1}mat-divider{margin:8px 0}.search-bar-buttons{position:relative;display:inline-flex}.search-bar-buttons>button:nth-child(2):before{content:\"\";border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: SearchSelectorComponent, selector: "igo-search-selector", inputs: ["searchTypes", "searchType"], outputs: ["searchTypeChange"] }, { kind: "component", type: SearchSettingsComponent, selector: "igo-search-settings", inputs: ["pointerSummaryEnabled", "searchResultsGeometryEnabled", "reverseSearchCoordsFormatEnabled"], outputs: ["searchSourceChange", "pointerSummaryStatus", "searchResultsGeometryStatus", "reverseSearchCoordsFormatStatus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
396
403
|
}
|
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
398
405
|
type: Component,
|
|
399
|
-
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
400
|
-
|
|
406
|
+
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
407
|
+
NgClass,
|
|
408
|
+
MatFormFieldModule,
|
|
409
|
+
NgIf,
|
|
410
|
+
MatInputModule,
|
|
411
|
+
MatButtonModule,
|
|
412
|
+
MatTooltipModule,
|
|
413
|
+
MatIconModule,
|
|
414
|
+
MatDividerModule,
|
|
415
|
+
SearchSelectorComponent,
|
|
416
|
+
SearchSettingsComponent,
|
|
417
|
+
AsyncPipe,
|
|
418
|
+
TranslateModule
|
|
419
|
+
], template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{ empty: empty$ | async }\">\r\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input\r\n #input\r\n matInput\r\n autocomplete=\"off\"\r\n [ngClass]=\"{ hasSearchIcon: showSearchButton }\"\r\n [disabled]=\"disabled$ | async\"\r\n [placeholder]=\"\r\n placeholder\r\n ? placeholder\r\n : (placeholder$ | async)\r\n ? (placeholder$.value | translate)\r\n : undefined\r\n \"\r\n [value]=\"term$ | async\"\r\n (keyup)=\"onKeyup($event)\"\r\n />\r\n <button\r\n *ngIf=\"(empty$ | async) === false\"\r\n mat-icon-button\r\n matSuffix\r\n [color]=\"color\"\r\n (click)=\"onClearButtonClick()\"\r\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\"\r\n >\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-divider *ngIf=\"withDivider\" [vertical]=\"true\"></mat-divider>\r\n\r\n <div class=\"search-bar-buttons\">\r\n <button *ngIf=\"showSearchButton\" mat-icon-button [color]=\"color\">\r\n <mat-icon svgIcon=\"magnify\"></mat-icon>\r\n </button>\r\n\r\n <igo-search-selector\r\n *ngIf=\"searchSelector\"\r\n [searchTypes]=\"searchTypes\"\r\n [searchType]=\"searchType$ | async\"\r\n (searchTypeChange)=\"onSearchTypeChange($event)\"\r\n >\r\n </igo-search-selector>\r\n\r\n <igo-search-settings\r\n *ngIf=\"searchSettings\"\r\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\r\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\r\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\r\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\r\n [reverseSearchCoordsFormatEnabled]=\"reverseSearchCoordsFormatEnabled\"\r\n (reverseSearchCoordsFormatStatus)=\"\r\n reverseSearchCoordsFormatStatus.emit($event)\r\n \"\r\n (searchSourceChange)=\"onSearchSettingsChange()\"\r\n >\r\n </igo-search-settings>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .mat-mdc-text-field-wrapper{align-items:center;padding-right:0}:host ::ng-deep .mat-mdc-form-field-infix{align-self:center}@media (max-width: 599px){:host ::ng-deep .mat-mdc-form-field-infix{width:158px}}:host ::ng-deep mat-form-field .mdc-line-ripple{display:none}:host ::ng-deep mat-form-field input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.igo-search-bar-container{position:relative;width:100%;display:flex}mat-form-field{flex:1}mat-divider{margin:8px 0}.search-bar-buttons{position:relative;display:inline-flex}.search-bar-buttons>button:nth-child(2):before{content:\"\";border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
|
|
420
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.SearchService }, { type: i3.SearchSourceService }], propDecorators: { searchTypes: [{
|
|
401
421
|
type: Input
|
|
402
422
|
}], withDivider: [{
|
|
403
423
|
type: Input
|
|
@@ -457,4 +477,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
457
477
|
type: ViewChild,
|
|
458
478
|
args: ['input', { static: true }]
|
|
459
479
|
}] } });
|
|
460
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFekQ7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxrQkFBa0I7SUF1Tm5CO0lBQ0E7SUFDQTtJQXhOVjs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLEdBQUc7UUFDbkIsU0FBUztRQUNULE9BQU87UUFDUCxLQUFLO1FBQ0wsV0FBVztRQUNYLFNBQVM7UUFDVCxZQUFZO1FBQ1osV0FBVztLQUNaLENBQUM7SUFFTyxZQUFZLEdBQTRCLElBQUksZUFBZSxD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QW9CO3NCQUE3QixNQUFNO2dCQU0rQixLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGbG9hdExhYmVsVHlwZSxcclxuICBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xyXG5pbXBvcnQgeyBSZXNlYXJjaCwgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VhcmNoYmFyIHRoYXQgdHJpZ2dlcnMgYSByZXNlYXJjaCBpbiBhbGwgc2VhcmNoIHNvdXJjZXMgZW5hYmxlZC5cclxuICogSWYgdGhlIHN0b3JlIGlucHV0IGlzIGRlZmluZWQsIHRoZSBzZWFyY2ggcmVzdWx0cyB3aWxsIGJlIGxvYWRlZFxyXG4gKiBpbnRvIHRoYXQgc3RvcmUuIEFuIGV2ZW50IGlzIGFsd2F5cyBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogSW52YWxpZCBrZXlzXHJcbiAgICovXHJcbiAgc3RhdGljIGludmFsaWRLZXlzID0gW1xyXG4gICAgJ0NvbnRyb2wnLFxyXG4gICAgJ1NoaWZ0JyxcclxuICAgICdBbHQnLFxyXG4gICAgJ0Fycm93RG93bicsXHJcbiAgICAnQXJyb3dVcCcsXHJcbiAgICAnQXJyb3dSaWdodCcsXHJcbiAgICAnQXJyb3dMZWZ0J1xyXG4gIF07XHJcblxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgJ2lnby5nZW8uc2VhcmNoLnBsYWNlaG9sZGVyJ1xyXG4gICk7XHJcblxyXG4gIHJlYWRvbmx5IGVtcHR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzc2VhcmNoIGJhciB0ZXJtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0ZXJtJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHRlcm0gc3RyZWFtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdHJlYW0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RyZWFtJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdHlwZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VhcmNoVHlwZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgcmVzZWFyY2hlcyQkOiBTdWJzY3JpcHRpb25bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogd2hldGhlciB0byBzaG93IHNlYXJjaCBidXR0b24gb3Igbm90XHJcbiAgICovXHJcblxyXG4gIHB1YmxpYyBzaG93U2VhcmNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCB0eXBlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaFR5cGVzOiBzdHJpbmdbXSA9IFNFQVJDSF9UWVBFUztcclxuXHJcbiAgQElucHV0KCkgd2l0aERpdmlkZXI6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VhcmNoVHlwZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFNlYXJjaFR5cGUodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgc2VhcmNoVHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IHNlYXJjaFR5cGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgc3VtbWFyeSBpcyBhY3RpdmF0ZWQgYnkgdGhlIHNlYXJjaGJhciBzZXR0aW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc2V0dGluZyBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjb29yZHMgZm9ybWF0IHNldHRpbmcgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRlcm0odmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRUZXJtKHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm0kLnZhbHVlO1xyXG4gIH1cclxuICByZWFkb25seSB0ZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQkLnZhbHVlO1xyXG4gIH1cclxuICByZWFkb25seSBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBASW5wdXQoKSBwb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gcmV2ZXJzZSBjb29yZGluYXRlcyBzdGF0dXMgY2hhbmdlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBnZXQgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQ7XHJcbiAgfVxyXG4gIHNldCByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0VGVybSh0aGlzLnRlcm0sIHRydWUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZmxvYXQgbGFiZWwgc2hvdWxkIGJlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xyXG5cclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ2ZpbGwnO1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBJY29ucyBjb2xvciAoc2VhcmNoIGFuZCBjbGVhcilcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KCkgdGVybVNwbGl0dGVyOiBzdHJpbmcgPSAnfCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYm91bmNlIHRpbWUgYmV0d2VlbiBlYWNoIGtleXN0cm9rZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRlYm91bmNlID0gMjAwO1xyXG5cclxuICAvKipcclxuICAgKiBNaW5pbXVtIHRlcm0gbGVuZ3RoIHJlcXVpcmVkIHRvIHRyaWdnZXIgYSByZXNlYXJjaFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aCA9IDI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBTZWxlY3RvclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaFNlbGVjdG9yID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBTZXR0aW5nc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaFNldHRpbmdzID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcmNlIGNvb3JkaW5hdGVzIGluIG5vcnRoIGFtZXJpY2FcclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JjZU5BID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hUZXJtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc2VhcmNoIGlzIGNvbXBsZXRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHJlc2VhcmNoOiBSZXNlYXJjaDtcclxuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xyXG4gIH0+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjbGVhckZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHNldHRpbmdzIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoU2V0dGluZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IGVsZW1lbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggYmFyIGlzIGVtcHR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybS5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW0gYW5kIHRyaWdnZXIgcmVzZWFyY2hlc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXJtJCQgPSB0aGlzLnRlcm0kLnN1YnNjcmliZSgodGVybTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMuZW1wdHkkLm5leHQodGVybSA9PT0gdW5kZWZpbmVkIHx8IHRlcm0ubGVuZ3RoID09PSAwKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3RyZWFtJCQgPSB0aGlzLnN0cmVhbSRcclxuICAgICAgLnBpcGUoZGVib3VuY2UoKCkgPT4gdGltZXIodGhpcy5kZWJvdW5jZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMub25TZXRUZXJtKHRlcm0pKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVBsYWNlaG9sZGVyKCk7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUeXBlJCQgPSB0aGlzLnNlYXJjaFR5cGUkXHJcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFR5cGU6IHN0cmluZykgPT4gdGhpcy5vblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSkpO1xyXG5cclxuICAgIGNvbnN0IGNvbmZpZ1ZhbHVlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZyhcclxuICAgICAgJ3NlYXJjaEJhci5zaG93U2VhcmNoQnV0dG9uJ1xyXG4gICAgKTtcclxuICAgIHRoaXMuc2hvd1NlYXJjaEJ1dHRvbiA9IGNvbmZpZ1ZhbHVlICE9PSB1bmRlZmluZWQgPyBjb25maWdWYWx1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50ZXJtJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RyZWFtJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgdXNlciB0eXBlcywgdmFsaWRhdGVzIHRoZSBrZXkgYW5kIHNlbmQgaXQgaW50byB0aGVcclxuICAgKiBzdHJlYW0gaWYgaXQncyB2YWxpZFxyXG4gICAqIEBwYXJhbSBldmVudCBLZXlib2FyZCBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcclxuICAgIGlmICghdGhpcy5rZXlJc1ZhbGlkKGtleSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGVybSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLnNldFRlcm0odGVybSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgc3RyZWFtIGFuZCB0aGUgaW5wdXRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbkNsZWFyQnV0dG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICB0aGlzLmNsZWFyRmVhdHVyZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgc2VhcmNoIHR5cGVcclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBFbmFibGVkIHNlYXJjaCB0eXBlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25TZWFyY2hUeXBlQ2hhbmdlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBwbGFjZWhvbGRlciB3aXRoIHRoZSBlbmFibGVkIHNlYXJjaCB0eXBlLiBUaGUgcGxhY2Vob2xkZXJcclxuICAgKiBmb3IgYWxsIGF2YWlsYWJsZXMgc2VhcmNoIHR5cGVycyBuZWVkcyB0byBiZSBkZWZpbmVkIGluIHRoZSBsb2NhbGVcclxuICAgKiBmaWxlcyBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBFbmFibGVkIHNlYXJjaCB0eXBlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoU2V0dGluZ3NDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmRvU2VhcmNoKHRoaXMudGVybSk7XHJcbiAgICB0aGlzLnNlYXJjaFNldHRpbmdzQ2hhbmdlLmVtaXQoKTtcclxuICAgIHRoaXMuaGFuZGxlUGxhY2Vob2xkZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgdGhlIHRlcm0gaW50byB0aGUgc3RyZWFtIG9ubHkgaWYgdGhpcyBjb21wb25lbnQgaXMgbm90IGRpc2FibGVkXHJcbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cclxuICAgKi9cclxuICBzZXRUZXJtKHRlcm06IHN0cmluZywgcmV2ZXJzZUNvb3JkRXZlbnQ/OiBib29sZWFuKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGVybSA9IHRlcm0gfHwgJyc7XHJcblxyXG4gICAgaWYgKHRlcm0gIT09IHRoaXMudGVybSAmJiAhcmV2ZXJzZUNvb3JkRXZlbnQpIHtcclxuICAgICAgdGhpcy50ZXJtJC5uZXh0KHRlcm0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNsdWcgPSB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnRyaW0oKTtcclxuICAgIGlmIChzbHVnLmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCB8fCBzbHVnLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnN0cmVhbSQubmV4dCh0ZXJtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzdHJlYW0gYW5kIHRoZSBpbnB1dFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnRlcm0kLm5leHQoJycpO1xyXG4gICAgdGhpcy5zdHJlYW0kLm5leHQoJycpO1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBpZiBhIGdpdmVuIGtleSBzdHJva2UgaXMgYSB2YWxpZCBpbnB1dFxyXG4gICAqL1xyXG4gIHByaXZhdGUga2V5SXNWYWxpZChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFNlYXJjaEJhckNvbXBvbmVudC5pbnZhbGlkS2V5cy5pbmRleE9mKGtleSkgPT09IC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlcywgZW1pdCBhbiBldmVudCBhbmQgdHJpZ2dlciBhXHJcbiAgICogcmVzZWFyY2ggaW4gZXZlcnkgZW5hYmxlZCBzZWFyY2ggc291cmNlcy5cclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25TZXRUZXJtKHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtQ2hhbmdlLmVtaXQodGVybSk7XHJcbiAgICB0aGlzLmRvU2VhcmNoKHRlcm0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVQbGFjZWhvbGRlcigpIHtcclxuICAgIGNvbnN0IHNlYXJjaFR5cGVzID0gW1xyXG4gICAgICAuLi5uZXcgU2V0KFxyXG4gICAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgICAgIC5maWx0ZXIoKHNzKSA9PiAhWydtYXAnLCAnY29vcmRpbmF0ZXNyZXZlcnNlJ10uaW5jbHVkZXMoc3MuZ2V0SWQoKSkpXHJcbiAgICAgICAgICAubWFwKChzcykgPT4gc3MuZ2V0VHlwZSgpKVxyXG4gICAgICApXHJcbiAgICBdO1xyXG5cclxuICAgIGxldCBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC5wbGFjZWhvbGRlcmA7XHJcbiAgICBpZiAoc2VhcmNoVHlwZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZXNbMF0udG9Mb3dlckNhc2UoKX0ucGxhY2Vob2xkZXJgO1xyXG4gICAgfSBlbHNlIGlmIChzZWFyY2hUeXBlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2guZW1wdHlUeXBlLnBsYWNlaG9sZGVyYDtcclxuICAgIH1cclxuICAgIHRoaXMucGxhY2Vob2xkZXIkLm5leHQocGxhY2Vob2xkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoc2VhcmNoVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaFR5cGUgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VhcmNoVHlwZUNoYW5nZS5lbWl0KHNlYXJjaFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZS50b0xvd2VyQ2FzZSgpfS5wbGFjZWhvbGRlcmA7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHBsYWNlaG9sZGVyKTtcclxuXHJcbiAgICB0aGlzLnNldFRlcm0odGhpcy50ZXJtKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGUgdGhlIHNlYXJjaFxyXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkb1NlYXJjaChyYXdUZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICh0aGlzLnJlc2VhcmNoZXMkJCkge1xyXG4gICAgICB0aGlzLnJlc2VhcmNoZXMkJC5tYXAoKHJlc2VhcmNoKSA9PiByZXNlYXJjaC51bnN1YnNjcmliZSgpKTtcclxuICAgICAgdGhpcy5yZXNlYXJjaGVzJCQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRlcm1zO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnRlcm1TcGxpdHRlciAmJlxyXG4gICAgICByYXdUZXJtLm1hdGNoKG5ldyBSZWdFeHAodGhpcy50ZXJtU3BsaXR0ZXIsICdnJykpXHJcbiAgICApIHtcclxuICAgICAgdGVybXMgPSByYXdUZXJtXHJcbiAgICAgICAgLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKVxyXG4gICAgICAgIC5maWx0ZXIoKHQpID0+IHQubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoKTtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRlcm1zID0gW3Jhd1Rlcm1dO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXNlYXJjaGVzOiBSZXNlYXJjaFtdID0gW107XHJcbiAgICB0ZXJtcy5tYXAoKHRlcm06IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBzbHVnID0gdGVybSA/IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJykudHJpbSgpIDogJyc7XHJcbiAgICAgIGlmIChzbHVnID09PSAnJykge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXNlYXJjaGVzID0gcmVzZWFyY2hlcy5jb25jYXQoXHJcbiAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXJtLCB7XHJcbiAgICAgICAgICBmb3JjZU5BOiB0aGlzLmZvcmNlTkFcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlc2VhcmNoZXMkJCA9IHJlc2VhcmNoZXMubWFwKChyZXNlYXJjaCkgPT4ge1xyXG4gICAgICByZXR1cm4gcmVzZWFyY2gucmVxdWVzdC5zdWJzY3JpYmUoKHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblJlc2VhcmNoQ29tcGxldGVkKHJlc2VhcmNoLCByZXN1bHRzKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSByZXNlYXJjaCAgaXMgY29tcGxldGVkLCBlbWl0IGFuIGV2ZW50IGFuZCB1cGRhdGVcclxuICAgKiB0aGUgc3RvcmUncyBpdGVtcy5cclxuICAgKiBAcGFyYW0gcmVzZWFyY2ggUmVzZWFyY2hcclxuICAgKiBAcGFyYW0gcmVzdWx0cyBSZXNlYXJjaCByZXN1bHRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblJlc2VhcmNoQ29tcGxldGVkKHJlc2VhcmNoOiBSZXNlYXJjaCwgcmVzdWx0czogU2VhcmNoUmVzdWx0W10pIHtcclxuICAgIHRoaXMuc2VhcmNoLmVtaXQoeyByZXNlYXJjaCwgcmVzdWx0cyB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zdG9yZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG5ld1Jlc3VsdHMgPSB0aGlzLnN0b3JlXHJcbiAgICAgICAgLmFsbCgpXHJcbiAgICAgICAgLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSByZXNlYXJjaC5zb3VyY2UpXHJcbiAgICAgICAgLmNvbmNhdChyZXN1bHRzKTtcclxuICAgICAgdGhpcy5zdG9yZS51cGRhdGVNYW55KG5ld1Jlc3VsdHMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1iYXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyBlbXB0eTogZW1wdHkkIHwgYXN5bmMgfVwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiPlxyXG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjaW5wdXRcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgW25nQ2xhc3NdPVwieyBoYXNTZWFyY2hJY29uOiBzaG93U2VhcmNoQnV0dG9uIH1cIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXJcclxuICAgICAgICAgID8gcGxhY2Vob2xkZXJcclxuICAgICAgICAgIDogKHBsYWNlaG9sZGVyJCB8IGFzeW5jKVxyXG4gICAgICAgICAgPyAocGxhY2Vob2xkZXIkLnZhbHVlIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgICAgXCJcclxuICAgICAgW3ZhbHVlXT1cInRlcm0kIHwgYXN5bmNcIlxyXG4gICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcclxuICAgICAgKHRvdWNoZW5kKT1cIm9uS2V5dXAoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cIihlbXB0eSQgfCBhc3luYykgPT09IGZhbHNlXCJcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICBbY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKClcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2guY2xlYXJTZWFyY2gnIHwgdHJhbnNsYXRlXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJ3aXRoRGl2aWRlclwiIFt2ZXJ0aWNhbF09XCJ0cnVlXCI+PC9tYXQtZGl2aWRlcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1iYXItYnV0dG9uc1wiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNob3dTZWFyY2hCdXR0b25cIiBtYXQtaWNvbi1idXR0b24gW2NvbG9yXT1cImNvbG9yXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWFnbmlmeVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8aWdvLXNlYXJjaC1zZWxlY3RvclxyXG4gICAgICAqbmdJZj1cInNlYXJjaFNlbGVjdG9yXCJcclxuICAgICAgW3NlYXJjaFR5cGVzXT1cInNlYXJjaFR5cGVzXCJcclxuICAgICAgW3NlYXJjaFR5cGVdPVwic2VhcmNoVHlwZSQgfCBhc3luY1wiXHJcbiAgICAgIChzZWFyY2hUeXBlQ2hhbmdlKT1cIm9uU2VhcmNoVHlwZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvaWdvLXNlYXJjaC1zZWxlY3Rvcj5cclxuXHJcbiAgICA8aWdvLXNlYXJjaC1zZXR0aW5nc1xyXG4gICAgICAqbmdJZj1cInNlYXJjaFNldHRpbmdzXCJcclxuICAgICAgW3BvaW50ZXJTdW1tYXJ5RW5hYmxlZF09XCJwb2ludGVyU3VtbWFyeUVuYWJsZWRcIlxyXG4gICAgICAocG9pbnRlclN1bW1hcnlTdGF0dXMpPVwicG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgW3NlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiXHJcbiAgICAgIChzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMpPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIFtyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFwiXHJcbiAgICAgIChyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzKT1cIlxyXG4gICAgICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMuZW1pdCgkZXZlbnQpXHJcbiAgICAgIFwiXHJcbiAgICAgIChzZWFyY2hTb3VyY2VDaGFuZ2UpPVwib25TZWFyY2hTZXR0aW5nc0NoYW5nZSgpXCJcclxuICAgID5cclxuICAgIDwvaWdvLXNlYXJjaC1zZXR0aW5ncz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
480
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUdMLGtCQUFrQixFQUNuQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxv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ckIsTUFBTTtnQkFLRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBTStCLEtBQUs7c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7XHJcbiAgRmxvYXRMYWJlbFR5cGUsXHJcbiAgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSxcclxuICBNYXRGb3JtRmllbGRNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLXNlbGVjdG9yL3NlYXJjaC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1zZXR0aW5ncy9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmVudW1zJztcclxuaW1wb3J0IHsgUmVzZWFyY2gsIFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlYXJjaGJhciB0aGF0IHRyaWdnZXJzIGEgcmVzZWFyY2ggaW4gYWxsIHNlYXJjaCBzb3VyY2VzIGVuYWJsZWQuXHJcbiAqIElmIHRoZSBzdG9yZSBpbnB1dCBpcyBkZWZpbmVkLCB0aGUgc2VhcmNoIHJlc3VsdHMgd2lsbCBiZSBsb2FkZWRcclxuICogaW50byB0aGF0IHN0b3JlLiBBbiBldmVudCBpcyBhbHdheXMgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIFNlYXJjaFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIEludmFsaWQga2V5c1xyXG4gICAqL1xyXG4gIHN0YXRpYyBpbnZhbGlkS2V5cyA9IFtcclxuICAgICdDb250cm9sJyxcclxuICAgICdTaGlmdCcsXHJcbiAgICAnQWx0JyxcclxuICAgICdBcnJvd0Rvd24nLFxyXG4gICAgJ0Fycm93VXAnLFxyXG4gICAgJ0Fycm93UmlnaHQnLFxyXG4gICAgJ0Fycm93TGVmdCdcclxuICBdO1xyXG5cclxuICByZWFkb25seSBwbGFjZWhvbGRlciQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgICdpZ28uZ2VvLnNlYXJjaC5wbGFjZWhvbGRlcidcclxuICApO1xyXG5cclxuICByZWFkb25seSBlbXB0eSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc3NlYXJjaCBiYXIgdGVybVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGVybSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtIHN0cmVhbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW1cclxuICAgKi9cclxuICBwcml2YXRlIHN0cmVhbSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VhcmNoIHR5cGVcclxuICAgKi9cclxuICBwcml2YXRlIHNlYXJjaFR5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIHJlc2VhcmNoZXMkJDogU3Vic2NyaXB0aW9uW107XHJcblxyXG4gIC8qKlxyXG4gICAqIHdoZXRoZXIgdG8gc2hvdyBzZWFyY2ggYnV0dG9uIG9yIG5vdFxyXG4gICAqL1xyXG5cclxuICBwdWJsaWMgc2hvd1NlYXJjaEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hUeXBlczogc3RyaW5nW10gPSBTRUFSQ0hfVFlQRVM7XHJcblxyXG4gIEBJbnB1dCgpIHdpdGhEaXZpZGVyOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlYXJjaFR5cGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRTZWFyY2hUeXBlKHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IHNlYXJjaFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaFR5cGUkLnZhbHVlO1xyXG4gIH1cclxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIHN1bW1hcnkgaXMgYWN0aXZhdGVkIGJ5IHRoZSBzZWFyY2hiYXIgc2V0dGluZ1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyU3VtbWFyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaG93IGdlb21ldHJ5IHNldHRpbmcgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBzZXR0aW5nIGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHRlcm1cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB0ZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0VGVybSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCB0ZXJtKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtJC52YWx1ZTtcclxuICB9XHJcbiAgcmVhZG9ubHkgdGVybSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgZGlzYWJsZWRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC52YWx1ZTtcclxuICB9XHJcbiAgcmVhZG9ubHkgZGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgQElucHV0KCkgcG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHJldmVyc2UgY29vcmRpbmF0ZXMgc3RhdHVzIGNoYW5nZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkO1xyXG4gIH1cclxuICBzZXQgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFRlcm0odGhpcy50ZXJtLCB0cnVlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIGZsb2F0IGxhYmVsIHNob3VsZCBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcclxuXHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA9ICdmaWxsJztcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSWNvbnMgY29sb3IgKHNlYXJjaCBhbmQgY2xlYXIpXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3IgPSAncHJpbWFyeSc7XHJcblxyXG4gIEBJbnB1dCgpIHRlcm1TcGxpdHRlcjogc3RyaW5nID0gJ3wnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWJvdW5jZSB0aW1lIGJldHdlZW4gZWFjaCBrZXlzdHJva2VcclxuICAgKi9cclxuICBASW5wdXQoKSBkZWJvdW5jZSA9IDIwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogTWluaW11bSB0ZXJtIGxlbmd0aCByZXF1aXJlZCB0byB0cmlnZ2VyIGEgcmVzZWFyY2hcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5MZW5ndGggPSAyO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggU2VsZWN0b3JcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hTZWxlY3RvciA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggU2V0dGluZ3NcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hTZXR0aW5ncyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JjZSBjb29yZGluYXRlcyBpbiBub3J0aCBhbWVyaWNhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9yY2VOQSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0ZXJtIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoVGVybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICByZXNlYXJjaDogUmVzZWFyY2g7XHJcbiAgICByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXTtcclxuICB9PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoVHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xlYXJGZWF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCBzZXR0aW5ncyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaFNldHRpbmdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBlbGVtZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGJhciBpcyBlbXB0eVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm0ubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmliZSB0byB0aGUgc2VhcmNoIHRlcm0gc3RyZWFtIGFuZCB0cmlnZ2VyIHJlc2VhcmNoZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVybSQkID0gdGhpcy50ZXJtJC5zdWJzY3JpYmUoKHRlcm06IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLmVtcHR5JC5uZXh0KHRlcm0gPT09IHVuZGVmaW5lZCB8fCB0ZXJtLmxlbmd0aCA9PT0gMCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnN0cmVhbSQkID0gdGhpcy5zdHJlYW0kXHJcbiAgICAgIC5waXBlKGRlYm91bmNlKCgpID0+IHRpbWVyKHRoaXMuZGVib3VuY2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgodGVybTogc3RyaW5nKSA9PiB0aGlzLm9uU2V0VGVybSh0ZXJtKSk7XHJcblxyXG4gICAgdGhpcy5oYW5kbGVQbGFjZWhvbGRlcigpO1xyXG5cclxuICAgIHRoaXMuc2VhcmNoVHlwZSQkID0gdGhpcy5zZWFyY2hUeXBlJFxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hUeXBlOiBzdHJpbmcpID0+IHRoaXMub25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpKTtcclxuXHJcbiAgICBjb25zdCBjb25maWdWYWx1ZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdzZWFyY2hCYXIuc2hvd1NlYXJjaEJ1dHRvbidcclxuICAgICk7XHJcbiAgICB0aGlzLnNob3dTZWFyY2hCdXR0b24gPSBjb25maWdWYWx1ZSAhPT0gdW5kZWZpbmVkID8gY29uZmlnVmFsdWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW1cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudGVybSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN0cmVhbSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIHVzZXIgdHlwZXMsIHZhbGlkYXRlcyB0aGUga2V5IGFuZCBzZW5kIGl0IGludG8gdGhlXHJcbiAgICogc3RyZWFtIGlmIGl0J3MgdmFsaWRcclxuICAgKiBAcGFyYW0gZXZlbnQgS2V5Ym9hcmQgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XHJcbiAgICBpZiAoIXRoaXMua2V5SXNWYWxpZChrZXkpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRlcm0gPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy5zZXRUZXJtKHRlcm0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHN0cmVhbSBhbmQgdGhlIGlucHV0XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25DbGVhckJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5jbGVhcigpO1xyXG4gICAgdGhpcy5jbGVhckZlYXR1cmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHNlYXJjaCB0eXBlXHJcbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgRW5hYmxlZCBzZWFyY2ggdHlwZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VhcmNoVHlwZUNoYW5nZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgcGxhY2Vob2xkZXIgd2l0aCB0aGUgZW5hYmxlZCBzZWFyY2ggdHlwZS4gVGhlIHBsYWNlaG9sZGVyXHJcbiAgICogZm9yIGFsbCBhdmFpbGFibGVzIHNlYXJjaCB0eXBlcnMgbmVlZHMgdG8gYmUgZGVmaW5lZCBpbiB0aGUgbG9jYWxlXHJcbiAgICogZmlsZXMgb3IgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uXHJcbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgRW5hYmxlZCBzZWFyY2ggdHlwZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaFNldHRpbmdzQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5kb1NlYXJjaCh0aGlzLnRlcm0pO1xyXG4gICAgdGhpcy5zZWFyY2hTZXR0aW5nc0NoYW5nZS5lbWl0KCk7XHJcbiAgICB0aGlzLmhhbmRsZVBsYWNlaG9sZGVyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kIHRoZSB0ZXJtIGludG8gdGhlIHN0cmVhbSBvbmx5IGlmIHRoaXMgY29tcG9uZW50IGlzIG5vdCBkaXNhYmxlZFxyXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgc2V0VGVybSh0ZXJtOiBzdHJpbmcsIHJldmVyc2VDb29yZEV2ZW50PzogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRlcm0gPSB0ZXJtIHx8ICcnO1xyXG5cclxuICAgIGlmICh0ZXJtICE9PSB0aGlzLnRlcm0gJiYgIXJldmVyc2VDb29yZEV2ZW50KSB7XHJcbiAgICAgIHRoaXMudGVybSQubmV4dCh0ZXJtKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzbHVnID0gdGVybS5yZXBsYWNlKC8oI1teXFxzXSopL2csICcnKS50cmltKCk7XHJcbiAgICBpZiAoc2x1Zy5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGggfHwgc2x1Zy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5zdHJlYW0kLm5leHQodGVybSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgc3RyZWFtIGFuZCB0aGUgaW5wdXRcclxuICAgKi9cclxuICBwcml2YXRlIGNsZWFyKCkge1xyXG4gICAgdGhpcy50ZXJtJC5uZXh0KCcnKTtcclxuICAgIHRoaXMuc3RyZWFtJC5uZXh0KCcnKTtcclxuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGUgaWYgYSBnaXZlbiBrZXkgc3Ryb2tlIGlzIGEgdmFsaWQgaW5wdXRcclxuICAgKi9cclxuICBwcml2YXRlIGtleUlzVmFsaWQoa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBTZWFyY2hCYXJDb21wb25lbnQuaW52YWxpZEtleXMuaW5kZXhPZihrZXkpID09PSAtMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdGhlIHNlYXJjaCB0ZXJtIGNoYW5nZXMsIGVtaXQgYW4gZXZlbnQgYW5kIHRyaWdnZXIgYVxyXG4gICAqIHJlc2VhcmNoIGluIGV2ZXJ5IGVuYWJsZWQgc2VhcmNoIHNvdXJjZXMuXHJcbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cclxuICAgKi9cclxuICBwcml2YXRlIG9uU2V0VGVybSh0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuc2VhcmNoVGVybUNoYW5nZS5lbWl0KHRlcm0pO1xyXG4gICAgdGhpcy5kb1NlYXJjaCh0ZXJtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlUGxhY2Vob2xkZXIoKSB7XHJcbiAgICBjb25zdCBzZWFyY2hUeXBlcyA9IFtcclxuICAgICAgLi4ubmV3IFNldChcclxuICAgICAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXHJcbiAgICAgICAgICAuZmlsdGVyKChzcykgPT4gIVsnbWFwJywgJ2Nvb3JkaW5hdGVzcmV2ZXJzZSddLmluY2x1ZGVzKHNzLmdldElkKCkpKVxyXG4gICAgICAgICAgLm1hcCgoc3MpID0+IHNzLmdldFR5cGUoKSlcclxuICAgICAgKVxyXG4gICAgXTtcclxuXHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2gucGxhY2Vob2xkZXJgO1xyXG4gICAgaWYgKHNlYXJjaFR5cGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC4ke3NlYXJjaFR5cGVzWzBdLnRvTG93ZXJDYXNlKCl9LnBsYWNlaG9sZGVyYDtcclxuICAgIH0gZWxzZSBpZiAoc2VhcmNoVHlwZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLmVtcHR5VHlwZS5wbGFjZWhvbGRlcmA7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHBsYWNlaG9sZGVyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHNlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCB8fCBzZWFyY2hUeXBlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlYXJjaFR5cGVDaGFuZ2UuZW1pdChzZWFyY2hUeXBlKTtcclxuXHJcbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC4ke3NlYXJjaFR5cGUudG9Mb3dlckNhc2UoKX0ucGxhY2Vob2xkZXJgO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciQubmV4dChwbGFjZWhvbGRlcik7XHJcblxyXG4gICAgdGhpcy5zZXRUZXJtKHRoaXMudGVybSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIHRoZSBzZWFyY2hcclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZG9TZWFyY2gocmF3VGVybTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAodGhpcy5yZXNlYXJjaGVzJCQpIHtcclxuICAgICAgdGhpcy5yZXNlYXJjaGVzJCQubWFwKChyZXNlYXJjaCkgPT4gcmVzZWFyY2gudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgIHRoaXMucmVzZWFyY2hlcyQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0ZXJtcztcclxuICAgIGlmIChcclxuICAgICAgdGhpcy50ZXJtU3BsaXR0ZXIgJiZcclxuICAgICAgcmF3VGVybS5tYXRjaChuZXcgUmVnRXhwKHRoaXMudGVybVNwbGl0dGVyLCAnZycpKVxyXG4gICAgKSB7XHJcbiAgICAgIHRlcm1zID0gcmF3VGVybVxyXG4gICAgICAgIC5zcGxpdCh0aGlzLnRlcm1TcGxpdHRlcilcclxuICAgICAgICAuZmlsdGVyKCh0KSA9PiB0Lmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCk7XHJcbiAgICAgIGlmICh0aGlzLnN0b3JlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXJtcyA9IFtyYXdUZXJtXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xyXG4gICAgdGVybXMubWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgY29uc3Qgc2x1ZyA9IHRlcm0gPyB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnRyaW0oKSA6ICcnO1xyXG4gICAgICBpZiAoc2x1ZyA9PT0gJycpIHtcclxuICAgICAgICBpZiAodGhpcy5zdG9yZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmVzZWFyY2hlcyA9IHJlc2VhcmNoZXMuY29uY2F0KFxyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGVybSwge1xyXG4gICAgICAgICAgZm9yY2VOQTogdGhpcy5mb3JjZU5BXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNlYXJjaGVzJCQgPSByZXNlYXJjaGVzLm1hcCgocmVzZWFyY2gpID0+IHtcclxuICAgICAgcmV0dXJuIHJlc2VhcmNoLnJlcXVlc3Quc3Vic2NyaWJlKChyZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMub25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaCwgcmVzdWx0cyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgcmVzZWFyY2ggIGlzIGNvbXBsZXRlZCwgZW1pdCBhbiBldmVudCBhbmQgdXBkYXRlXHJcbiAgICogdGhlIHN0b3JlJ3MgaXRlbXMuXHJcbiAgICogQHBhcmFtIHJlc2VhcmNoIFJlc2VhcmNoXHJcbiAgICogQHBhcmFtIHJlc3VsdHMgUmVzZWFyY2ggcmVzdWx0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgb25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaDogUmVzZWFyY2gsIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKSB7XHJcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHsgcmVzZWFyY2gsIHJlc3VsdHMgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc3RvcmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBuZXdSZXN1bHRzID0gdGhpcy5zdG9yZVxyXG4gICAgICAgIC5hbGwoKVxyXG4gICAgICAgIC5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0LnNvdXJjZSAhPT0gcmVzZWFyY2guc291cmNlKVxyXG4gICAgICAgIC5jb25jYXQocmVzdWx0cyk7XHJcbiAgICAgIHRoaXMuc3RvcmUudXBkYXRlTWFueShuZXdSZXN1bHRzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtYmFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgZW1wdHk6IGVtcHR5JCB8IGFzeW5jIH1cIj5cclxuICA8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIj5cclxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXRcclxuICAgICAgI2lucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGFzU2VhcmNoSWNvbjogc2hvd1NlYXJjaEJ1dHRvbiB9XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyXHJcbiAgICAgICAgICA/IHBsYWNlaG9sZGVyXHJcbiAgICAgICAgICA6IChwbGFjZWhvbGRlciQgfCBhc3luYylcclxuICAgICAgICAgICAgPyAocGxhY2Vob2xkZXIkLnZhbHVlIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICBcIlxyXG4gICAgICBbdmFsdWVdPVwidGVybSQgfCBhc3luY1wiXHJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxyXG4gICAgLz5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCIoZW1wdHkkIHwgYXN5bmMpID09PSBmYWxzZVwiXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygpXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLmNsZWFyU2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPG1hdC1kaXZpZGVyICpuZ0lmPVwid2l0aERpdmlkZXJcIiBbdmVydGljYWxdPVwidHJ1ZVwiPjwvbWF0LWRpdmlkZXI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmFyLWJ1dHRvbnNcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJzaG93U2VhcmNoQnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIFtjb2xvcl09XCJjb2xvclwiPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hZ25pZnlcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGlnby1zZWFyY2gtc2VsZWN0b3JcclxuICAgICAgKm5nSWY9XCJzZWFyY2hTZWxlY3RvclwiXHJcbiAgICAgIFtzZWFyY2hUeXBlc109XCJzZWFyY2hUeXBlc1wiXHJcbiAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxyXG4gICAgICAoc2VhcmNoVHlwZUNoYW5nZSk9XCJvblNlYXJjaFR5cGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1zZWFyY2gtc2VsZWN0b3I+XHJcblxyXG4gICAgPGlnby1zZWFyY2gtc2V0dGluZ3NcclxuICAgICAgKm5nSWY9XCJzZWFyY2hTZXR0aW5nc1wiXHJcbiAgICAgIFtwb2ludGVyU3VtbWFyeUVuYWJsZWRdPVwicG9pbnRlclN1bW1hcnlFbmFibGVkXCJcclxuICAgICAgKHBvaW50ZXJTdW1tYXJ5U3RhdHVzKT1cInBvaW50ZXJTdW1tYXJ5U3RhdHVzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIFtzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIlxyXG4gICAgICAoc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzKT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICBbcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRdPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcIlxyXG4gICAgICAocmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyk9XCJcclxuICAgICAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzLmVtaXQoJGV2ZW50KVxyXG4gICAgICBcIlxyXG4gICAgICAoc2VhcmNoU291cmNlQ2hhbmdlKT1cIm9uU2VhcmNoU2V0dGluZ3NDaGFuZ2UoKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1zZWFyY2gtc2V0dGluZ3M+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,72 +1,19 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
6
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
-
import { MatInputModule } from '@angular/material/input';
|
|
9
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
10
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
11
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
|
-
import { IgoLanguageModule } from '@igo2/core';
|
|
13
|
-
import { IgoSearchSelectorModule } from '../search-selector/search-selector.module';
|
|
14
|
-
import { IgoSearchSettingsModule } from '../search-settings/search-settings.module';
|
|
15
2
|
import { SearchBarComponent } from './search-bar.component';
|
|
16
|
-
import { SearchUrlParamDirective } from './search-url-param.directive';
|
|
17
3
|
import * as i0 from "@angular/core";
|
|
18
4
|
/**
|
|
19
|
-
* @
|
|
5
|
+
* @deprecated import the SearchBarComponent directly
|
|
20
6
|
*/
|
|
21
7
|
export class IgoSearchBarModule {
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
|
|
25
|
-
MatTooltipModule,
|
|
26
|
-
MatIconModule,
|
|
27
|
-
MatButtonModule,
|
|
28
|
-
MatDividerModule,
|
|
29
|
-
MatMenuModule,
|
|
30
|
-
MatRadioModule,
|
|
31
|
-
MatFormFieldModule,
|
|
32
|
-
MatInputModule,
|
|
33
|
-
IgoLanguageModule,
|
|
34
|
-
IgoSearchSelectorModule,
|
|
35
|
-
IgoSearchSettingsModule], exports: [SearchBarComponent] });
|
|
36
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchBarModule, imports: [CommonModule,
|
|
37
|
-
FormsModule,
|
|
38
|
-
MatTooltipModule,
|
|
39
|
-
MatIconModule,
|
|
40
|
-
MatButtonModule,
|
|
41
|
-
MatDividerModule,
|
|
42
|
-
MatMenuModule,
|
|
43
|
-
MatRadioModule,
|
|
44
|
-
MatFormFieldModule,
|
|
45
|
-
MatInputModule,
|
|
46
|
-
IgoLanguageModule,
|
|
47
|
-
IgoSearchSelectorModule,
|
|
48
|
-
IgoSearchSettingsModule] });
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoSearchBarModule, imports: [SearchBarComponent], exports: [SearchBarComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoSearchBarModule, imports: [SearchBarComponent] });
|
|
49
11
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoSearchBarModule, decorators: [{
|
|
51
13
|
type: NgModule,
|
|
52
14
|
args: [{
|
|
53
|
-
imports: [
|
|
54
|
-
|
|
55
|
-
FormsModule,
|
|
56
|
-
MatTooltipModule,
|
|
57
|
-
MatIconModule,
|
|
58
|
-
MatButtonModule,
|
|
59
|
-
MatDividerModule,
|
|
60
|
-
MatMenuModule,
|
|
61
|
-
MatRadioModule,
|
|
62
|
-
MatFormFieldModule,
|
|
63
|
-
MatInputModule,
|
|
64
|
-
IgoLanguageModule,
|
|
65
|
-
IgoSearchSelectorModule,
|
|
66
|
-
IgoSearchSettingsModule
|
|
67
|
-
],
|
|
68
|
-
exports: [SearchBarComponent],
|
|
69
|
-
declarations: [SearchBarComponent, SearchUrlParamDirective]
|
|
15
|
+
imports: [SearchBarComponent],
|
|
16
|
+
exports: [SearchBarComponent]
|
|
70
17
|
}]
|
|
71
18
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU1RDs7R0FFRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7dUdBQWxCLGtCQUFrQjt3R0FBbEIsa0JBQWtCLFlBSG5CLGtCQUFrQixhQUNsQixrQkFBa0I7d0dBRWpCLGtCQUFrQixZQUhuQixrQkFBa0I7OzJGQUdqQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1iYXIuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIFNlYXJjaEJhckNvbXBvbmVudCBkaXJlY3RseVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbU2VhcmNoQmFyQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbU2VhcmNoQmFyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoQmFyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SearchResultAddButtonComponent } from './search-results-add-button.component';
|
|
2
|
+
import { SearchResultsComponent } from './search-results.component';
|
|
3
|
+
export * from './search-results-add-button.component';
|
|
4
|
+
export * from './search-results.component';
|
|
5
|
+
export * from './search-results.module';
|
|
6
|
+
export const SEARCH_RESULTS_DIRECTIVES = [
|
|
7
|
+
SearchResultsComponent,
|
|
8
|
+
SearchResultAddButtonComponent
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsc0JBQXNCO0lBQ3RCLDhCQUE4QjtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLWFkZC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgY29uc3QgU0VBUkNIX1JFU1VMVFNfRElSRUNUSVZFUyA9IFtcclxuICBTZWFyY2hSZXN1bHRzQ29tcG9uZW50LFxyXG4gIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudFxyXG5dIGFzIGNvbnN0O1xyXG4iXX0=
|
|
@@ -1,22 +1,29 @@
|
|
|
1
|
+
import { AsyncPipe, NgFor } from '@angular/common';
|
|
1
2
|
import { Component, Inject, Optional } from '@angular/core';
|
|
2
|
-
import { UntypedFormBuilder, Validators } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatOptionModule } from '@angular/material/core';
|
|
7
|
+
import { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';
|
|
8
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
+
import { MatInputModule } from '@angular/material/input';
|
|
10
|
+
import { MatListModule } from '@angular/material/list';
|
|
11
|
+
import { ListComponent, ListItemDirective } from '@igo2/common';
|
|
4
12
|
import { LanguageService } from '@igo2/core';
|
|
13
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
14
|
import { map, startWith } from 'rxjs/operators';
|
|
15
|
+
import { SearchResultsItemComponent } from './search-results-item.component';
|
|
6
16
|
import * as i0 from "@angular/core";
|
|
7
17
|
import * as i1 from "@angular/forms";
|
|
8
18
|
import * as i2 from "@igo2/core";
|
|
9
19
|
import * as i3 from "@angular/material/dialog";
|
|
10
|
-
import * as i4 from "@angular/
|
|
11
|
-
import * as i5 from "@
|
|
20
|
+
import * as i4 from "@angular/material/form-field";
|
|
21
|
+
import * as i5 from "@angular/material/input";
|
|
12
22
|
import * as i6 from "@angular/material/autocomplete";
|
|
13
23
|
import * as i7 from "@angular/material/core";
|
|
14
|
-
import * as i8 from "@angular/material/
|
|
15
|
-
import * as i9 from "@angular/material/
|
|
16
|
-
import * as i10 from "@
|
|
17
|
-
import * as i11 from "@angular/material/list";
|
|
18
|
-
import * as i12 from "./search-results-item.component";
|
|
19
|
-
import * as i13 from "@ngx-translate/core";
|
|
24
|
+
import * as i8 from "@angular/material/list";
|
|
25
|
+
import * as i9 from "@angular/material/button";
|
|
26
|
+
import * as i10 from "@ngx-translate/core";
|
|
20
27
|
export class SaveFeatureDialogComponent {
|
|
21
28
|
formBuilder;
|
|
22
29
|
languageService;
|
|
@@ -61,16 +68,34 @@ export class SaveFeatureDialogComponent {
|
|
|
61
68
|
cancel() {
|
|
62
69
|
this.dialogRef.close();
|
|
63
70
|
}
|
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
71
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SaveFeatureDialogComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.LanguageService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SaveFeatureDialogComponent, isStandalone: true, selector: "igo-save-feature-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\r\n {{ 'igo.geo.layer.saveFeatureInLayer' | translate }}\r\n</h1>\r\n\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <igo-list [navigation]=\"false\" [selection]=\"false\">\r\n <igo-search-results-item\r\n igoListItem\r\n color=\"accent\"\r\n [result]=\"feature\"\r\n [showIcons]=\"true\"\r\n >\r\n </igo-search-results-item>\r\n </igo-list>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ 'igo.geo.layer.chooseOrSet' | translate }}\"\r\n matInput\r\n [matAutocomplete]=\"auto\"\r\n formControlName=\"layerName\"\r\n />\r\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\">\r\n <mat-option\r\n *ngFor=\"let layer of filteredLayers$ | async\"\r\n [value]=\"layer\"\r\n >\r\n <p matListItemTitle>{{ layer.title }}</p>\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</div>\r\n\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <div class=\"igo-form-button-group create-layer-button-top-padding\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n {{ 'igo.geo.layer.cancelBtn' | translate }}\r\n </button>\r\n <button\r\n id=\"createLayerBtnDialog\"\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'igo.geo.layer.saveBtn' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host mat-form-field{width:100%}:host .create-layer-button-top-padding{padding-top:25px}:host .igo-form{padding:10px 5px 5px}:host .igo-form-button-group{text-align:center}:host button{cursor:pointer}:host button#createLayerBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}:host .error{color:red}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "component", type: SearchResultsItemComponent, selector: "igo-search-results-item", inputs: ["result", "map", "showIcons", "withZoomButton"], outputs: ["zoomEvent"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatListModule }, { kind: "directive", type: i8.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
|
|
66
73
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SaveFeatureDialogComponent, decorators: [{
|
|
68
75
|
type: Component,
|
|
69
|
-
args: [{ selector: 'igo-save-feature-dialog',
|
|
70
|
-
|
|
76
|
+
args: [{ selector: 'igo-save-feature-dialog', standalone: true, imports: [
|
|
77
|
+
MatDialogTitle,
|
|
78
|
+
MatDialogContent,
|
|
79
|
+
FormsModule,
|
|
80
|
+
ReactiveFormsModule,
|
|
81
|
+
ListComponent,
|
|
82
|
+
SearchResultsItemComponent,
|
|
83
|
+
ListItemDirective,
|
|
84
|
+
MatFormFieldModule,
|
|
85
|
+
MatInputModule,
|
|
86
|
+
MatAutocompleteModule,
|
|
87
|
+
NgFor,
|
|
88
|
+
MatOptionModule,
|
|
89
|
+
MatListModule,
|
|
90
|
+
MatDialogActions,
|
|
91
|
+
MatButtonModule,
|
|
92
|
+
AsyncPipe,
|
|
93
|
+
TranslateModule
|
|
94
|
+
], template: "<h1 mat-dialog-title class=\"mat-typography\">\r\n {{ 'igo.geo.layer.saveFeatureInLayer' | translate }}\r\n</h1>\r\n\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <form class=\"igo-form\" [formGroup]=\"form\">\r\n <igo-list [navigation]=\"false\" [selection]=\"false\">\r\n <igo-search-results-item\r\n igoListItem\r\n color=\"accent\"\r\n [result]=\"feature\"\r\n [showIcons]=\"true\"\r\n >\r\n </igo-search-results-item>\r\n </igo-list>\r\n\r\n <div class=\"igo-input-container\">\r\n <mat-form-field>\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ 'igo.geo.layer.chooseOrSet' | translate }}\"\r\n matInput\r\n [matAutocomplete]=\"auto\"\r\n formControlName=\"layerName\"\r\n />\r\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\">\r\n <mat-option\r\n *ngFor=\"let layer of filteredLayers$ | async\"\r\n [value]=\"layer\"\r\n >\r\n <p matListItemTitle>{{ layer.title }}</p>\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</div>\r\n\r\n<div mat-dialog-actions style=\"justify-content: center\">\r\n <div class=\"igo-form-button-group create-layer-button-top-padding\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n {{ 'igo.geo.layer.cancelBtn' | translate }}\r\n </button>\r\n <button\r\n id=\"createLayerBtnDialog\"\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"primary\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'igo.geo.layer.saveBtn' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host mat-form-field{width:100%}:host .create-layer-button-top-padding{padding-top:25px}:host .igo-form{padding:10px 5px 5px}:host .igo-form-button-group{text-align:center}:host button{cursor:pointer}:host button#createLayerBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}:host .error{color:red}\n"] }]
|
|
95
|
+
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.LanguageService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
|
|
71
96
|
type: Optional
|
|
72
97
|
}, {
|
|
73
98
|
type: Inject,
|
|
74
99
|
args: [MAT_DIALOG_DATA]
|
|
75
|
-
}] }]
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVWhELE1BQU0sT0FBTywwQkFBMEI7SUFPM0I7SUFDRDtJQUNBO0lBR0E7SUFYRixJQUFJLENBQW1CO0lBQzlCLE9BQU8sQ0FBZTtJQUN0QixNQUFNLEdBQVksRUFBRSxDQUFDO0lBQ3JCLGVBQWUsQ0FBc0I7SUFFckMsWUFDVSxXQUErQixFQUNoQyxlQUFnQyxFQUNoQyxTQUFtRCxFQUduRCxJQUFnRDtRQUwvQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBR25ELFNBQUksR0FBSixJQUFJLENBQTRDO1FBRXZELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDakMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdEUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUNiLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFHO1FBQ2hCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDZixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNiLE1BQU0sQ0FDTCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ25FLENBQUM7SUFDTixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVk7UUFDcEIsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxJQUFJLEdBQXFEO1lBQzdELEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ2hDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBckRVLDBCQUEwQiwrR0FXM0IsZUFBZTs0RkFYZCwwQkFBMEIsK0RDckJ2QywydERBc0RBOzs0RkRqQ2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs7MEJBY2hDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2F2ZS1mZWF0dXJlLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmUtZmVhdHVyZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhdmUtZmVhdHVyZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2F2ZUZlYXR1cmVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIGZlYXR1cmU6IFNlYXJjaFJlc3VsdDtcclxuICBsYXllcnM6IExheWVyW10gPSBbXTtcclxuICBmaWx0ZXJlZExheWVycyQ6IE9ic2VydmFibGU8TGF5ZXJbXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNhdmVGZWF0dXJlRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiB7IGZlYXR1cmU6IFNlYXJjaFJlc3VsdDsgbGF5ZXJzOiBMYXllcltdIH1cclxuICApIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBsYXllck5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmVhdHVyZSA9IHRoaXMuZGF0YS5mZWF0dXJlO1xyXG4gICAgdGhpcy5sYXllcnMgPSB0aGlzLmRhdGEubGF5ZXJzO1xyXG4gICAgdGhpcy5maWx0ZXJlZExheWVycyQgPSB0aGlzLmZvcm0uY29udHJvbHNbJ2xheWVyTmFtZSddLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICBzdGFydFdpdGgoJycpLFxyXG4gICAgICBtYXAoKHZhbCkgPT4gdGhpcy5maWx0ZXIodmFsKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlcih2YWwpOiBMYXllcltdIHtcclxuICAgIGlmICh0eXBlb2YgdmFsICE9PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnNcclxuICAgICAgLm1hcCgobCkgPT4gbClcclxuICAgICAgLmZpbHRlcihcclxuICAgICAgICAobGF5ZXIpID0+IGxheWVyPy50aXRsZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWwudG9Mb3dlckNhc2UoKSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlGbihsYXllcjogTGF5ZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxheWVyICYmIGxheWVyLnRpdGxlID8gbGF5ZXIudGl0bGUgOiAnJztcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBjb25zdCBkYXRhOiB7IGxheWVyOiBzdHJpbmcgfCBMYXllcjsgZmVhdHVyZTogU2VhcmNoUmVzdWx0IH0gPSB7XHJcbiAgICAgIGxheWVyOiB0aGlzLmZvcm0udmFsdWUubGF5ZXJOYW1lLFxyXG4gICAgICBmZWF0dXJlOiB0aGlzLmZlYXR1cmVcclxuICAgIH07XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuICB7eyAnaWdvLmdlby5sYXllci5zYXZlRmVhdHVyZUluTGF5ZXInIHwgdHJhbnNsYXRlIH19XHJcbjwvaDE+XHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgPGZvcm0gY2xhc3M9XCJpZ28tZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPGlnby1saXN0IFtuYXZpZ2F0aW9uXT1cImZhbHNlXCIgW3NlbGVjdGlvbl09XCJmYWxzZVwiPlxyXG4gICAgICA8aWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW1cclxuICAgICAgICBpZ29MaXN0SXRlbVxyXG4gICAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICBbcmVzdWx0XT1cImZlYXR1cmVcIlxyXG4gICAgICAgIHNob3dJY29ucz1cInRydWVcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0+XHJcbiAgICA8L2lnby1saXN0PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8ubGF5ZXIuY2hvb3NlT3JTZXQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGF5ZXJOYW1lXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIGZpbHRlcmVkTGF5ZXJzJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cImxheWVyXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1UaXRsZT57eyBsYXllci50aXRsZSB9fTwvcD5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgY3JlYXRlLWxheWVyLWJ1dHRvbi10b3AtcGFkZGluZ1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7ICdpZ28uZ2VvLmxheWVyLmNhbmNlbEJ0bicgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBpZD1cImNyZWF0ZUxheWVyQnRuRGlhbG9nXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmdlby5sYXllci5zYXZlQnRuJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
100
|
+
}] }] });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2F2ZS1mZWF0dXJlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGNBQWMsRUFDZixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNo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TCxlQUFlLDhCQUNmLGFBQWEsaUhBQ2IsZ0JBQWdCLDJIQUNoQixlQUFlLHVOQUNmLFNBQVMsNkNBQ1QsZUFBZTs7MkZBR04sMEJBQTBCO2tCQXpCdEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFNBQVM7d0JBQ1QsZUFBZTtxQkFDaEI7OzBCQVlFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVmFsaWRhdG9yc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTUFUX0RJQUxPR19EQVRBLFxyXG4gIE1hdERpYWxvZ0FjdGlvbnMsXHJcbiAgTWF0RGlhbG9nQ29udGVudCxcclxuICBNYXREaWFsb2dSZWYsXHJcbiAgTWF0RGlhbG9nVGl0bGVcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuXHJcbmltcG9ydCB7IExpc3RDb21wb25lbnQsIExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkJztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNhdmUtZmVhdHVyZS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlLWZlYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zYXZlLWZlYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBMaXN0Q29tcG9uZW50LFxyXG4gICAgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbURpcmVjdGl2ZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgTmdGb3IsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNhdmVGZWF0dXJlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBmZWF0dXJlOiBTZWFyY2hSZXN1bHQ7XHJcbiAgbGF5ZXJzOiBMYXllcltdID0gW107XHJcbiAgZmlsdGVyZWRMYXllcnMkOiBPYnNlcnZhYmxlPExheWVyW10+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTYXZlRmVhdHVyZURpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXHJcbiAgICBwdWJsaWMgZGF0YTogeyBmZWF0dXJlOiBTZWFyY2hSZXN1bHQ7IGxheWVyczogTGF5ZXJbXSB9XHJcbiAgKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgbGF5ZXJOYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZlYXR1cmUgPSB0aGlzLmRhdGEuZmVhdHVyZTtcclxuICAgIHRoaXMubGF5ZXJzID0gdGhpcy5kYXRhLmxheWVycztcclxuICAgIHRoaXMuZmlsdGVyZWRMYXllcnMkID0gdGhpcy5mb3JtLmNvbnRyb2xzWydsYXllck5hbWUnXS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgc3RhcnRXaXRoKCcnKSxcclxuICAgICAgbWFwKCh2YWwpID0+IHRoaXMuZmlsdGVyKHZhbCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXIodmFsKTogTGF5ZXJbXSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzXHJcbiAgICAgIC5tYXAoKGwpID0+IGwpXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKGxheWVyKSA9PiBsYXllcj8udGl0bGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5Rm4obGF5ZXI6IExheWVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsYXllciAmJiBsYXllci50aXRsZSA/IGxheWVyLnRpdGxlIDogJyc7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgY29uc3QgZGF0YTogeyBsYXllcjogc3RyaW5nIHwgTGF5ZXI7IGZlYXR1cmU6IFNlYXJjaFJlc3VsdCB9ID0ge1xyXG4gICAgICBsYXllcjogdGhpcy5mb3JtLnZhbHVlLmxheWVyTmFtZSxcclxuICAgICAgZmVhdHVyZTogdGhpcy5mZWF0dXJlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAge3sgJ2lnby5nZW8ubGF5ZXIuc2F2ZUZlYXR1cmVJbkxheWVyJyB8IHRyYW5zbGF0ZSB9fVxyXG48L2gxPlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJmYWxzZVwiIFtzZWxlY3Rpb25dPVwiZmFsc2VcIj5cclxuICAgICAgPGlnby1zZWFyY2gtcmVzdWx0cy1pdGVtXHJcbiAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgICAgW3Jlc3VsdF09XCJmZWF0dXJlXCJcclxuICAgICAgICBbc2hvd0ljb25zXT1cInRydWVcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0+XHJcbiAgICA8L2lnby1saXN0PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8ubGF5ZXIuY2hvb3NlT3JTZXQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibGF5ZXJOYW1lXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxheWVyIG9mIGZpbHRlcmVkTGF5ZXJzJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cImxheWVyXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1UaXRsZT57eyBsYXllci50aXRsZSB9fTwvcD5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpZ28tZm9ybS1idXR0b24tZ3JvdXAgY3JlYXRlLWxheWVyLWJ1dHRvbi10b3AtcGFkZGluZ1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7ICdpZ28uZ2VvLmxheWVyLmNhbmNlbEJ0bicgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBpZD1cImNyZWF0ZUxheWVyQnRuRGlhbG9nXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmdlby5sYXllci5zYXZlQnRuJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|