@sumaris-net/ngx-components 4.0.0-rc9 → 18.0.0-rc1
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/README.md +5 -3
- package/doc/changelog.md +522 -280
- package/esm2022/public_api.mjs +38 -19
- package/esm2022/src/app/admin/admin-routing.module.mjs +10 -17
- package/esm2022/src/app/admin/admin.module.mjs +7 -9
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -3
- package/esm2022/src/app/admin/services/person.service.mjs +31 -31
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +10 -10
- package/esm2022/src/app/admin/users/users.mjs +22 -19
- package/esm2022/src/app/admin/users/users.module.mjs +8 -10
- package/esm2022/src/app/core/about/about.modal.mjs +7 -7
- package/esm2022/src/app/core/about/about.module.mjs +8 -21
- package/esm2022/src/app/core/account/account.module.mjs +28 -18
- package/esm2022/src/app/core/account/account.page.mjs +19 -5
- package/esm2022/src/app/core/account/new-token.form.mjs +106 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +27 -86
- package/esm2022/src/app/core/account/password/change-password.form.mjs +60 -0
- package/esm2022/src/app/core/account/password/change-password.module.mjs +22 -0
- package/esm2022/src/app/core/account/password/change-password.page.mjs +144 -0
- package/esm2022/src/app/core/account/token.table.mjs +47 -35
- package/esm2022/src/app/core/auth/auth.form.mjs +47 -28
- package/esm2022/src/app/core/auth/auth.modal.mjs +6 -6
- package/esm2022/src/app/core/auth/auth.module.mjs +22 -13
- package/esm2022/src/app/core/auth/reset-password.modal.mjs +77 -0
- package/esm2022/src/app/core/core.module.mjs +28 -61
- package/esm2022/src/app/core/core.testing.module.mjs +34 -20
- package/esm2022/src/app/core/form/array/form-array.mjs +325 -0
- package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +94 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +24 -25
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +9 -13
- package/esm2022/src/app/core/form/entity/editor.class.mjs +64 -517
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +26 -42
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +42 -41
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
- package/esm2022/src/app/core/form/entity/entity.module.mjs +8 -14
- package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +194 -0
- package/esm2022/src/app/core/form/form-container.class.mjs +327 -0
- package/esm2022/src/app/core/form/form.class.mjs +39 -56
- package/esm2022/src/app/core/form/form.module.mjs +14 -10
- package/esm2022/src/app/core/form/form.utils.mjs +23 -306
- package/esm2022/src/app/core/form/list/list.form.mjs +16 -14
- package/esm2022/src/app/core/form/list/list.module.mjs +8 -12
- package/esm2022/src/app/core/form/properties/properties.form.mjs +139 -57
- package/esm2022/src/app/core/form/properties/properties.module.mjs +9 -15
- package/esm2022/src/app/core/form/properties/properties.table.mjs +27 -28
- package/esm2022/src/app/core/form/properties/properties.utils.mjs +60 -0
- package/esm2022/src/app/core/form/properties/property.validator.mjs +23 -9
- package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +18 -18
- package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +8 -24
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +15 -15
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -25
- package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +7 -7
- package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +9 -13
- package/esm2022/src/app/core/form/username/username.form.mjs +52 -0
- package/esm2022/src/app/core/form/username/username.module.mjs +20 -0
- package/esm2022/src/app/core/graphql/graphql.module.mjs +8 -16
- package/esm2022/src/app/core/graphql/graphql.service.mjs +101 -109
- package/esm2022/src/app/core/graphql/graphql.utils.mjs +12 -11
- package/esm2022/src/app/core/home/home.mjs +81 -52
- package/esm2022/src/app/core/home/home.module.mjs +10 -19
- package/esm2022/src/app/core/icon/icon.component.mjs +5 -5
- package/esm2022/src/app/core/icon/icon.module.mjs +8 -17
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +33 -37
- package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +9 -13
- package/esm2022/src/app/core/menu/menu.component.mjs +5 -6
- package/esm2022/src/app/core/menu/menu.model.mjs +21 -18
- package/esm2022/src/app/core/menu/menu.module.mjs +7 -12
- package/esm2022/src/app/core/menu/menu.service.mjs +44 -60
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
- package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +7 -6
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +43 -8
- package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +8 -27
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +6 -7
- package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +9 -13
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +31 -21
- package/esm2022/src/app/core/peer/select-peer.module.mjs +11 -23
- package/esm2022/src/app/core/register/register-confirm.page.mjs +18 -16
- package/esm2022/src/app/core/register/register.form.mjs +7 -7
- package/esm2022/src/app/core/register/register.modal.mjs +6 -6
- package/esm2022/src/app/core/register/register.module.mjs +8 -29
- package/esm2022/src/app/core/services/account.service.mjs +272 -170
- package/esm2022/src/app/core/services/auth-guard.service.mjs +13 -15
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +55 -64
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +39 -33
- package/esm2022/src/app/core/services/base58.mjs +8 -4
- package/esm2022/src/app/core/services/config/core.config.mjs +88 -37
- package/esm2022/src/app/core/services/config.service.mjs +81 -62
- package/esm2022/src/app/core/services/crypto.service.mjs +11 -11
- package/esm2022/src/app/core/services/errors.mjs +6 -5
- package/esm2022/src/app/core/services/local-settings.service.mjs +58 -44
- package/esm2022/src/app/core/services/model/account.model.mjs +12 -17
- package/esm2022/src/app/core/services/model/config.model.mjs +7 -7
- package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +6 -6
- package/esm2022/src/app/core/services/model/entity.model.mjs +27 -31
- package/esm2022/src/app/core/services/model/filter.model.mjs +12 -15
- package/esm2022/src/app/core/services/model/history.model.mjs +1 -1
- package/esm2022/src/app/core/services/model/model.enum.mjs +2 -2
- package/esm2022/src/app/core/services/model/peer.model.mjs +19 -9
- package/esm2022/src/app/core/services/model/person.model.mjs +26 -22
- package/esm2022/src/app/core/services/model/referential.model.mjs +36 -23
- package/esm2022/src/app/core/services/model/settings.model.mjs +2 -1
- package/esm2022/src/app/core/services/model/token.model.mjs +7 -3
- package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +3 -7
- package/esm2022/src/app/core/services/network.service.mjs +99 -76
- package/esm2022/src/app/core/services/network.types.mjs +1 -1
- package/esm2022/src/app/core/services/network.utils.mjs +3 -3
- package/esm2022/src/app/core/services/pipes/account.pipes.mjs +11 -11
- package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +6 -6
- package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +9 -9
- package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
- package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
- package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +11 -11
- package/esm2022/src/app/core/services/platform.service.mjs +102 -69
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +32 -39
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +36 -45
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +14 -14
- package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +5 -5
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +34 -20
- package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
- package/esm2022/src/app/core/services/validator/user-token.validator.mjs +12 -9
- package/esm2022/src/app/core/settings/settings.module.mjs +9 -21
- package/esm2022/src/app/core/settings/settings.page.mjs +76 -63
- package/esm2022/src/app/core/table/async-table.class.mjs +219 -201
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +127 -0
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +117 -0
- package/esm2022/src/app/core/table/column/row-field.component.mjs +116 -0
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +31 -33
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +36 -36
- package/esm2022/src/app/core/table/memory-table.class.mjs +5 -5
- package/esm2022/src/app/core/table/table-select-columns.component.mjs +8 -8
- package/esm2022/src/app/core/table/table.class.mjs +193 -152
- package/esm2022/src/app/core/table/table.model.mjs +1 -1
- package/esm2022/src/app/core/table/table.module.mjs +35 -24
- package/esm2022/src/app/core/table/table.pipes.mjs +77 -0
- package/esm2022/src/app/core/table/table.utils.mjs +2 -4
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +9 -5
- package/esm2022/src/app/core/table/testing/table.testing.mjs +116 -78
- package/esm2022/src/app/core/table/testing/table.testing.module.mjs +8 -33
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +68 -45
- package/esm2022/src/app/shared/alerts.mjs +49 -45
- package/esm2022/src/app/shared/audio/audio.mjs +25 -27
- package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
- package/esm2022/src/app/shared/audio/audio.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
- package/esm2022/src/app/shared/capacitor/plugins.mjs +1 -1
- package/esm2022/src/app/shared/constants.mjs +9 -4
- package/esm2022/src/app/shared/dates.mjs +18 -16
- package/esm2022/src/app/shared/debug/debug-service.class.mjs +1 -1
- package/esm2022/src/app/shared/debug/debug.component.mjs +5 -5
- package/esm2022/src/app/shared/debug/debug.module.mjs +8 -29
- package/esm2022/src/app/shared/directives/autofocus.directive.mjs +8 -15
- package/esm2022/src/app/shared/directives/autotitle.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/directives.module.mjs +8 -29
- package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
- package/esm2022/src/app/shared/events.mjs +6 -8
- package/esm2022/src/app/shared/file/csv.utils.mjs +38 -18
- package/esm2022/src/app/shared/file/file.service.mjs +11 -15
- package/esm2022/src/app/shared/file/file.utils.mjs +13 -11
- package/esm2022/src/app/shared/file/images.utils.mjs +29 -4
- package/esm2022/src/app/shared/file/json.utils.mjs +11 -4
- package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
- package/esm2022/src/app/shared/focusable.mjs +1 -1
- package/esm2022/src/app/shared/form/field.component.mjs +69 -43
- package/esm2022/src/app/shared/form/field.model.mjs +4 -4
- package/esm2022/src/app/shared/form/loading-spinner.mjs +5 -5
- package/esm2022/src/app/shared/forms.mjs +116 -43
- package/esm2022/src/app/shared/functions.mjs +139 -71
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +14 -14
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +10 -10
- package/esm2022/src/app/shared/gesture/hammer.utils.mjs +1 -1
- package/esm2022/src/app/shared/graph/colors.utils.mjs +14 -18
- package/esm2022/src/app/shared/graph/graph-colors.mjs +23 -29
- package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
- package/esm2022/src/app/shared/help/help.modal.mjs +6 -6
- package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +5 -5
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +44 -17
- package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +9 -27
- package/esm2022/src/app/shared/http/http.utils.mjs +15 -11
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +27 -27
- package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +13 -10
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +14 -17
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +9 -13
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +14 -11
- package/esm2022/src/app/shared/image/image.model.mjs +1 -1
- package/esm2022/src/app/shared/image/image.module.mjs +8 -13
- package/esm2022/src/app/shared/image/image.service.mjs +14 -12
- package/esm2022/src/app/shared/inputs.mjs +52 -20
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +2 -3
- package/esm2022/src/app/shared/logging/log-level.model.mjs +1 -1
- package/esm2022/src/app/shared/logging/logger.model.mjs +2 -2
- package/esm2022/src/app/shared/logging/logging-service.class.mjs +17 -20
- package/esm2022/src/app/shared/logging/logging-service.module.mjs +6 -6
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +7 -10
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +348 -238
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +13 -16
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +5 -4
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +51 -37
- package/esm2022/src/app/shared/material/badge/badge.directive.mjs +99 -57
- package/esm2022/src/app/shared/material/badge/badge.module.mjs +8 -20
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
- package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +19 -20
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +209 -104
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +15 -8
- package/esm2022/src/app/shared/material/chips/chips.module.mjs +12 -13
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +228 -168
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +20 -21
- package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +12 -27
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +167 -92
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +128 -77
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +297 -165
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +34 -30
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +31 -27
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +26 -23
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +11 -16
- package/esm2022/src/app/shared/material/duration/duration.utils.mjs +3 -6
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +35 -34
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +23 -22
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +217 -170
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +182 -241
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +10 -15
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +19 -14
- package/esm2022/src/app/shared/material/material.animations.mjs +22 -22
- package/esm2022/src/app/shared/material/material.config.mjs +3 -0
- package/esm2022/src/app/shared/material/material.module.mjs +16 -16
- package/esm2022/src/app/shared/material/material.testing.module.mjs +50 -37
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +12 -9
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +26 -19
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +7 -11
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +8 -8
- package/esm2022/src/app/shared/material/testing/common.test.mjs +30 -24
- package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +30 -19
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +128 -21
- package/esm2022/src/app/shared/material/text/text-form.module.mjs +8 -8
- package/esm2022/src/app/shared/modules.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +118 -37
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
- package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +8 -8
- package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +74 -0
- package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +28 -0
- package/esm2022/src/app/shared/observables.mjs +14 -18
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +53 -38
- package/esm2022/src/app/shared/pipes/badge.pipes.mjs +24 -0
- package/esm2022/src/app/shared/pipes/colors.pipe.mjs +8 -6
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -10
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +15 -15
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +6 -13
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +72 -47
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +15 -15
- package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
- package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +14 -14
- package/esm2022/src/app/shared/pipes/maps.pipe.mjs +17 -17
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +37 -88
- package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +5 -5
- package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +117 -137
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +86 -47
- package/esm2022/src/app/shared/pipes/selection.pipes.mjs +179 -0
- package/esm2022/src/app/shared/pipes/string.pipes.mjs +50 -49
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +11 -11
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +33 -17
- package/esm2022/src/app/shared/platforms.mjs +7 -5
- package/esm2022/src/app/shared/rx-state.module.mjs +7 -11
- package/esm2022/src/app/shared/services/entity-service.class.mjs +2 -2
- package/esm2022/src/app/shared/services/job.utils.mjs +7 -7
- package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +43 -41
- package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
- package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +11 -14
- package/esm2022/src/app/shared/services/startable-service.class.mjs +11 -17
- package/esm2022/src/app/shared/services/translate-context.service.mjs +18 -15
- package/esm2022/src/app/shared/services/validator-service.class.mjs +1 -1
- package/esm2022/src/app/shared/services.mjs +12 -12
- package/esm2022/src/app/shared/shared-routing.module.mjs +19 -18
- package/esm2022/src/app/shared/shared.module.mjs +29 -28
- package/esm2022/src/app/shared/shared.testing.module.mjs +18 -10
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +39 -46
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +8 -12
- package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +9 -17
- package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +10 -18
- package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
- package/esm2022/src/app/shared/storage/storage.utils.mjs +2 -2
- package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
- package/esm2022/src/app/shared/testing/observable.test.mjs +11 -13
- package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
- package/esm2022/src/app/shared/toast/toast.testing.mjs +11 -11
- package/esm2022/src/app/shared/toast/toast.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/toast/toasts.mjs +9 -9
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +10 -8
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +31 -32
- package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +8 -39
- package/esm2022/src/app/shared/types.mjs +1 -1
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +12 -12
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +7 -8
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +21 -19
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +2 -3
- package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +64 -56
- package/esm2022/src/app/shared/validator/validators.mjs +60 -39
- package/esm2022/src/app/shared/version/versions.mjs +2 -2
- package/esm2022/src/app/social/job/job.module.mjs +8 -27
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +9 -9
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +49 -46
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +10 -13
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +1 -1
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +39 -21
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +6 -11
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +11 -30
- package/esm2022/src/app/social/job/testing/job.testing.module.mjs +8 -21
- package/esm2022/src/app/social/message/message.form.mjs +5 -5
- package/esm2022/src/app/social/message/message.modal.mjs +8 -8
- package/esm2022/src/app/social/message/message.model.mjs +8 -8
- package/esm2022/src/app/social/message/message.module.mjs +4 -4
- package/esm2022/src/app/social/message/message.service.mjs +7 -7
- package/esm2022/src/app/social/social.errors.mjs +2 -2
- package/esm2022/src/app/social/social.module.mjs +7 -32
- package/esm2022/src/app/social/social.testing.module.mjs +9 -20
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +27 -23
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +19 -22
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +47 -23
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +8 -8
- package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +8 -21
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +27 -15
- package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
- package/esm2022/src/app/social/user-event/user-event.module.mjs +8 -28
- package/esm2022/src/app/social/user-event/user-event.service.mjs +61 -64
- package/esm2022/src/environments/environment.class.mjs +9 -1
- package/esm2022/src/environments/environment.loader.mjs +5 -11
- package/esm2022/src/environments/environment.mjs +19 -11
- package/fesm2022/sumaris-net.ngx-components.mjs +16117 -14592
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +33 -18
- package/public_api.d.ts +30 -22
- package/src/app/admin/services/filter/person.filter.d.ts +1 -1
- package/src/app/admin/users/users.d.ts +5 -6
- package/src/app/core/account/account.module.d.ts +10 -8
- package/src/app/core/account/account.page.d.ts +25 -15
- package/src/app/core/account/new-token.form.d.ts +29 -0
- package/src/app/core/account/new-token.modal.d.ts +9 -21
- package/src/app/core/account/password/change-password.form.d.ts +19 -0
- package/src/app/core/account/password/change-password.module.d.ts +11 -0
- package/src/app/core/account/password/change-password.page.d.ts +36 -0
- package/src/app/core/account/token.table.d.ts +7 -5
- package/src/app/core/auth/auth.form.d.ts +11 -9
- package/src/app/core/auth/auth.module.d.ts +6 -4
- package/src/app/core/auth/reset-password.modal.d.ts +26 -0
- package/src/app/core/core.module.d.ts +21 -24
- package/src/app/core/core.testing.module.d.ts +2 -1
- package/src/app/core/form/array/form-array.d.ts +136 -0
- package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
- package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -3
- package/src/app/core/form/entity/editor.class.d.ts +19 -179
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +10 -13
- package/src/app/core/form/entity/entity-editor.class.d.ts +12 -17
- package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
- package/src/app/core/form/entity/tab-editor.class.d.ts +70 -0
- package/src/app/core/form/form-container.class.d.ts +126 -0
- package/src/app/core/form/form.class.d.ts +13 -26
- package/src/app/core/form/form.module.d.ts +2 -1
- package/src/app/core/form/form.utils.d.ts +60 -145
- package/src/app/core/form/list/list.form.d.ts +2 -2
- package/src/app/core/form/properties/properties.form.d.ts +34 -12
- package/src/app/core/form/properties/properties.table.d.ts +2 -2
- package/src/app/core/form/properties/properties.utils.d.ts +27 -0
- package/src/app/core/form/properties/property.validator.d.ts +9 -3
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +3 -1
- package/src/app/core/form/username/username.form.d.ts +19 -0
- package/src/app/core/form/username/username.module.d.ts +9 -0
- package/src/app/core/graphql/graphql.module.d.ts +1 -2
- package/src/app/core/graphql/graphql.service.d.ts +2 -4
- package/src/app/core/home/home.d.ts +26 -6
- package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
- package/src/app/core/menu/testing/menu.testing.d.ts +11 -3
- package/src/app/core/peer/select-peer.modal.d.ts +13 -7
- package/src/app/core/peer/select-peer.module.d.ts +3 -4
- package/src/app/core/services/account.service.d.ts +9 -0
- package/src/app/core/services/base-entity-service.class.d.ts +1 -1
- package/src/app/core/services/config/core.config.d.ts +12 -1
- package/src/app/core/services/config.service.d.ts +4 -3
- package/src/app/core/services/errors.d.ts +11 -0
- package/src/app/core/services/local-settings.service.d.ts +8 -4
- package/src/app/core/services/model/entity.model.d.ts +6 -5
- package/src/app/core/services/model/filter.model.d.ts +1 -1
- package/src/app/core/services/model/peer.model.d.ts +1 -0
- package/src/app/core/services/model/person.model.d.ts +6 -2
- package/src/app/core/services/model/referential.model.d.ts +8 -3
- package/src/app/core/services/model/settings.model.d.ts +4 -2
- package/src/app/core/services/model/token.model.d.ts +1 -0
- package/src/app/core/services/model/tree-item-entity.model.d.ts +1 -1
- package/src/app/core/services/network.service.d.ts +11 -7
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +1 -1
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +3 -1
- package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
- package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +13 -0
- package/src/app/core/services/platform.service.d.ts +8 -3
- package/src/app/core/services/testing/referential-filter.model.d.ts +1 -1
- package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
- package/src/app/core/settings/settings.module.d.ts +2 -1
- package/src/app/core/settings/settings.page.d.ts +34 -21
- package/src/app/core/table/async-table.class.d.ts +22 -17
- package/src/app/core/table/column/actions-column.component.d.ts +59 -0
- package/src/app/core/table/column/nav-actions-column.component.d.ts +46 -0
- package/src/app/core/table/column/row-field.component.d.ts +40 -0
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -0
- package/src/app/core/table/entities-table-datasource.class.d.ts +1 -0
- package/src/app/core/table/table.class.d.ts +14 -11
- package/src/app/core/table/table.module.d.ts +8 -4
- package/src/app/core/table/table.pipes.d.ts +28 -0
- package/src/app/core/table/testing/table.testing.d.ts +12 -13
- package/src/app/core/table/testing/table2.testing.d.ts +13 -10
- package/src/app/shared/alerts.d.ts +4 -2
- package/src/app/shared/constants.d.ts +5 -0
- package/src/app/shared/dates.d.ts +12 -5
- package/src/app/shared/directives/autofocus.directive.d.ts +0 -1
- package/src/app/shared/events.d.ts +1 -1
- package/src/app/shared/file/csv.utils.d.ts +5 -0
- package/src/app/shared/file/images.utils.d.ts +17 -0
- package/src/app/shared/file/json.utils.d.ts +3 -0
- package/src/app/shared/form/field.component.d.ts +6 -3
- package/src/app/shared/forms.d.ts +32 -0
- package/src/app/shared/functions.d.ts +27 -8
- package/src/app/shared/graph/graph-colors.d.ts +1 -1
- package/src/app/shared/guard/component-dirty.guard.d.ts +1 -6
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +17 -3
- package/src/app/shared/http/http.utils.d.ts +1 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +10 -10
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +2 -1
- package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +2 -2
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +2 -1
- package/src/app/shared/inputs.d.ts +8 -6
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +20 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +56 -16
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +2 -1
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +3 -2
- package/src/app/shared/material/badge/badge.directive.d.ts +10 -4
- package/src/app/shared/material/boolean/boolean.module.d.ts +15 -14
- package/src/app/shared/material/boolean/material.boolean.d.ts +51 -25
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +1 -0
- package/src/app/shared/material/chips/chips.module.d.ts +2 -1
- package/src/app/shared/material/chips/material.chips.d.ts +46 -21
- package/src/app/shared/material/chips/testing/chips.test.d.ts +1 -0
- package/src/app/shared/material/datetime/datetime.module.d.ts +1 -1
- package/src/app/shared/material/datetime/material.date.d.ts +33 -18
- package/src/app/shared/material/datetime/material.dateshort.d.ts +29 -16
- package/src/app/shared/material/datetime/material.datetime.d.ts +41 -28
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +3 -3
- package/src/app/shared/material/duration/duration.module.d.ts +1 -1
- package/src/app/shared/material/duration/material.duration.d.ts +1 -1
- package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
- package/src/app/shared/material/latlong/material.latlong.d.ts +29 -32
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +1 -1
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +5 -1
- package/src/app/shared/material/material.config.d.ts +3 -0
- package/src/app/shared/material/material.module.d.ts +5 -6
- package/src/app/shared/material/material.testing.module.d.ts +8 -7
- package/src/app/shared/material/swipe/material.swipe.d.ts +4 -3
- package/src/app/shared/material/text/testing/text-form.testing.d.ts +10 -4
- package/src/app/shared/material/text/text-form.component.d.ts +42 -8
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +30 -14
- package/src/app/shared/named-filter/named-filter.service.d.ts +12 -6
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +34 -0
- package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +10 -0
- package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
- package/src/app/shared/pipes/badge.pipes.d.ts +7 -0
- package/src/app/shared/pipes/date-format.pipe.d.ts +3 -2
- package/src/app/shared/pipes/form.pipes.d.ts +18 -8
- package/src/app/shared/pipes/html.pipes.d.ts +15 -0
- package/src/app/shared/pipes/maps.pipe.d.ts +4 -4
- package/src/app/shared/pipes/maskito.pipe.d.ts +7 -9
- package/src/app/shared/pipes/pipes.module.d.ts +7 -4
- package/src/app/shared/pipes/property.pipes.d.ts +24 -3
- package/src/app/shared/pipes/selection.pipes.d.ts +62 -0
- package/src/app/shared/pipes/string.pipes.d.ts +6 -6
- package/src/app/shared/pipes/types.pipes.d.ts +6 -1
- package/src/app/shared/services/entity-service.class.d.ts +0 -2
- package/src/app/shared/services/memory-entity-service.class.d.ts +6 -3
- package/src/app/shared/services.d.ts +1 -0
- package/src/app/shared/shared.testing.module.d.ts +2 -1
- package/src/app/shared/storage/storage-explorer.component.d.ts +4 -3
- package/src/app/shared/testing/maskito.test.d.ts +10 -0
- package/src/app/shared/toolbar/toolbar.d.ts +7 -2
- package/src/app/shared/types.d.ts +5 -0
- package/src/app/shared/upload-file/upload-file.component.d.ts +1 -0
- package/src/app/shared/validator/form-error-adapter.class.d.ts +17 -11
- package/src/app/shared/validator/validators.d.ts +20 -9
- package/src/app/social/job/progression/job-progression.icon.d.ts +4 -5
- package/src/app/social/job/progression/job-progression.list.d.ts +1 -3
- package/src/app/social/job/progression/job-progression.service.d.ts +3 -4
- package/src/app/social/job/testing/job-progression.testing.d.ts +0 -1
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -11
- package/src/app/social/message/message.modal.d.ts +2 -2
- package/src/app/social/message/message.model.d.ts +1 -1
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -4
- package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -0
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +2 -3
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +1 -0
- package/src/assets/i18n/en-US.json +48 -19
- package/src/assets/i18n/en.json +48 -20
- package/src/assets/i18n/fr.json +50 -20
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.class.d.ts +10 -0
- package/src/environments/environment.d.ts +0 -1
- package/src/environments/environment.loader.d.ts +0 -2
- package/src/theme/_functions.scss +15 -0
- package/src/theme/_icons.scss +1 -1
- package/src/theme/_ionic.globals.scss +8 -2
- package/src/theme/_ionic.scss +10 -10
- package/src/theme/_material.globals.scss +16 -43
- package/src/theme/_material.scss +45 -32
- package/src/theme/_mixins.scss +99 -18
- package/src/theme/_ngx-components.forms.scss +354 -0
- package/src/theme/_ngx-components.globals.scss +20 -10
- package/src/theme/_ngx-components.scss +194 -400
- package/src/theme/_ngx-components.table.scss +200 -207
- package/src/theme/_ngx-components.tabs.scss +54 -0
- package/src/theme/_responsive.scss +0 -31
- package/src/theme/_theme.scss +2 -0
- package/src/theme/_theme.variables.scss +172 -0
- package/esm2022/src/app/core/table/actions-column.component.mjs +0 -115
- package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +0 -266
- package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -104
- package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +0 -83
- package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +0 -203
- package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +0 -19
- package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +0 -168
- package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -36
- package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +0 -16
- package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +0 -60
- package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -48
- package/src/app/core/table/actions-column.component.d.ts +0 -48
- package/src/app/shared/material/boolean/material-boolean2.d.ts +0 -66
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
- package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
- package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
- package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
- package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
- package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
- package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
|
@@ -5,31 +5,27 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@ngx-translate/core";
|
|
7
7
|
export class AppUpdateOfflineModeCardModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppUpdateOfflineModeCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AppUpdateOfflineModeCardModule, declarations: [
|
|
10
10
|
// Network
|
|
11
11
|
AppUpdateOfflineModeCard], imports: [SharedModule, i1.TranslateModule], exports: [TranslateModule,
|
|
12
12
|
// Components
|
|
13
13
|
AppUpdateOfflineModeCard] });
|
|
14
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
15
|
-
TranslateModule.forChild(), TranslateModule] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppUpdateOfflineModeCardModule, imports: [SharedModule, TranslateModule.forChild(), TranslateModule] });
|
|
16
15
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppUpdateOfflineModeCardModule, decorators: [{
|
|
18
17
|
type: NgModule,
|
|
19
18
|
args: [{
|
|
20
|
-
imports: [
|
|
21
|
-
SharedModule,
|
|
22
|
-
TranslateModule.forChild(),
|
|
23
|
-
],
|
|
19
|
+
imports: [SharedModule, TranslateModule.forChild()],
|
|
24
20
|
declarations: [
|
|
25
21
|
// Network
|
|
26
|
-
AppUpdateOfflineModeCard
|
|
22
|
+
AppUpdateOfflineModeCard,
|
|
27
23
|
],
|
|
28
24
|
exports: [
|
|
29
25
|
TranslateModule,
|
|
30
26
|
// Components
|
|
31
|
-
AppUpdateOfflineModeCard
|
|
32
|
-
]
|
|
27
|
+
AppUpdateOfflineModeCard,
|
|
28
|
+
],
|
|
33
29
|
}]
|
|
34
30
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9vZmZsaW5lL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFnQnRELE1BQU0sT0FBTyw4QkFBOEI7dUdBQTlCLDhCQUE4Qjt3R0FBOUIsOEJBQThCO1lBVnZDLFVBQVU7WUFDVix3QkFBd0IsYUFKaEIsWUFBWSxpQ0FPcEIsZUFBZTtZQUVmLGFBQWE7WUFDYix3QkFBd0I7d0dBR2YsOEJBQThCLFlBYi9CLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBT2hELGVBQWU7OzJGQU1OLDhCQUE4QjtrQkFkMUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUVuRCxZQUFZLEVBQUU7d0JBQ1osVUFBVTt3QkFDVix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUVmLGFBQWE7d0JBQ2Isd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBVcGRhdGVPZmZsaW5lTW9kZUNhcmQgfSBmcm9tICcuL3VwZGF0ZS1vZmZsaW5lLW1vZGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXSxcblxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvLyBOZXR3b3JrXG4gICAgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIEFwcFVwZGF0ZU9mZmxpbmVNb2RlQ2FyZCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional } from '@angular/core';
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, } from '@angular/core';
|
|
2
2
|
import { Peer } from '../services/model/peer.model';
|
|
3
3
|
import { Subject, Subscription } from 'rxjs';
|
|
4
4
|
import { fadeInAnimation } from '../../shared/material/material.animations';
|
|
@@ -15,10 +15,11 @@ import * as i1 from "@ionic/angular";
|
|
|
15
15
|
import * as i2 from "@ngx-translate/core";
|
|
16
16
|
import * as i3 from "@angular/common/http";
|
|
17
17
|
import * as i4 from "@angular/common";
|
|
18
|
-
import * as i5 from "@angular/
|
|
19
|
-
import * as i6 from "@angular/material/
|
|
20
|
-
import * as i7 from "
|
|
21
|
-
import * as i8 from "
|
|
18
|
+
import * as i5 from "@rx-angular/template/for";
|
|
19
|
+
import * as i6 from "@angular/material/icon";
|
|
20
|
+
import * as i7 from "@angular/material/core";
|
|
21
|
+
import * as i8 from "@angular/material/tooltip";
|
|
22
|
+
import * as i9 from "../../../environments/environment.class";
|
|
22
23
|
export class SelectPeerModal {
|
|
23
24
|
modalCtrl;
|
|
24
25
|
popoverController;
|
|
@@ -33,10 +34,12 @@ export class SelectPeerModal {
|
|
|
33
34
|
mobile;
|
|
34
35
|
$peers = new Subject();
|
|
35
36
|
peerMinVersion;
|
|
37
|
+
peerDefaultPrefix;
|
|
38
|
+
selectedPeer;
|
|
36
39
|
canCancel = true;
|
|
37
40
|
allowSelectDownPeer = true;
|
|
38
|
-
onRefresh = new EventEmitter();
|
|
39
41
|
showSetManuallyButton = true;
|
|
42
|
+
onRefresh = new EventEmitter();
|
|
40
43
|
constructor(modalCtrl, popoverController, translate, http, cd, environment, loggingService) {
|
|
41
44
|
this.modalCtrl = modalCtrl;
|
|
42
45
|
this.popoverController = popoverController;
|
|
@@ -48,9 +51,10 @@ export class SelectPeerModal {
|
|
|
48
51
|
this.mobile = isMobile(window);
|
|
49
52
|
this._logger = loggingService?.getLogger('network-modal');
|
|
50
53
|
this.peerMinVersion = environment.peerMinVersion;
|
|
54
|
+
this.peerDefaultPrefix = environment.peerDefaultPrefix || 'https://';
|
|
51
55
|
}
|
|
52
56
|
set peers(peers) {
|
|
53
|
-
this._subscription.add(peers.subscribe(res => this.refreshPeers(res)));
|
|
57
|
+
this._subscription.add(peers.subscribe((res) => this.refreshPeers(res)));
|
|
54
58
|
}
|
|
55
59
|
cancel() {
|
|
56
60
|
this.modalCtrl.dismiss();
|
|
@@ -61,6 +65,7 @@ export class SelectPeerModal {
|
|
|
61
65
|
selectPeer(peer) {
|
|
62
66
|
if (this.allowSelectDownPeer || (peer.reachable && this.isCompatible(peer))) {
|
|
63
67
|
console.debug(`[select-peer-modal] Selected peer: {url: '${peer.url}'}`);
|
|
68
|
+
this.selectedPeer = peer.url;
|
|
64
69
|
this.modalCtrl.dismiss(peer);
|
|
65
70
|
}
|
|
66
71
|
}
|
|
@@ -108,8 +113,7 @@ export class SelectPeerModal {
|
|
|
108
113
|
this.$peers.next(data);
|
|
109
114
|
return peer;
|
|
110
115
|
}));
|
|
111
|
-
this._subscription.add(this.$peers
|
|
112
|
-
.subscribe(() => this.cd.markForCheck()));
|
|
116
|
+
this._subscription.add(this.$peers.subscribe(() => this.cd.markForCheck()));
|
|
113
117
|
try {
|
|
114
118
|
await jobs;
|
|
115
119
|
}
|
|
@@ -149,11 +153,12 @@ export class SelectPeerModal {
|
|
|
149
153
|
autocomplete: false,
|
|
150
154
|
validator: Validators.pattern(PEER_URL_REGEXP),
|
|
151
155
|
maxLength: null,
|
|
152
|
-
|
|
156
|
+
text: this.selectedPeer || this.peerDefaultPrefix,
|
|
157
|
+
...opts,
|
|
153
158
|
},
|
|
154
159
|
backdropDismiss: false,
|
|
155
160
|
keyboardClose: false,
|
|
156
|
-
event,
|
|
161
|
+
event: null, // IMPORTANT: null event will center the popover, and this will fix keyboard overlap on mobile
|
|
157
162
|
translucent: true,
|
|
158
163
|
cssClass: 'popover-large',
|
|
159
164
|
});
|
|
@@ -167,13 +172,13 @@ export class SelectPeerModal {
|
|
|
167
172
|
markForCheck() {
|
|
168
173
|
this.cd.markForCheck();
|
|
169
174
|
}
|
|
170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
175
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectPeerModal, deps: [{ token: i1.ModalController }, { token: i1.PopoverController }, { token: i2.TranslateService }, { token: i3.HttpClient }, { token: i0.ChangeDetectorRef }, { token: ENVIRONMENT }, { token: APP_LOGGING_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SelectPeerModal, selector: "select-peer-modal", inputs: { selectedPeer: "selectedPeer", canCancel: ["canCancel", "canCancel", booleanAttribute], allowSelectDownPeer: ["allowSelectDownPeer", "allowSelectDownPeer", booleanAttribute], showSetManuallyButton: ["showSetManuallyButton", "showSetManuallyButton", booleanAttribute], onRefresh: "onRefresh" }, ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"cancel()\" *ngIf=\"canCancel\" visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title>\n {{ 'NETWORK.PEER.SELECT_MODAL.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <!-- loader -->\n <ion-spinner *ngIf=\"loading; else endButtons\"></ion-spinner>\n\n <ng-template #endButtons>\n <!-- refresh button -->\n <ion-button\n *ngIf=\"onRefresh.observed\"\n [matTooltip]=\"'COMMON.BTN_REFRESH' | translate\"\n (click)=\"refresh($event)\"\n >\n <mat-icon slot=\"icon-only\">refresh</mat-icon>\n </ion-button>\n </ng-template>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <ion-list>\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <p translate>NETWORK.PEER.SELECT_MODAL.HELP</p>\n </ion-label>\n </ion-list-header>\n\n <ion-item\n *rxFor=\"let peer of $peers\"\n (click)=\"selectPeer(peer)\"\n [class.selected]=\"selectedPeer && selectedPeer === peer.url\"\n tappable\n matRipple\n detail\n @fadeInAnimation\n >\n <!-- Peer is UP -->\n @if (peer.reachable) {\n <!-- icon -->\n <ion-avatar slot=\"start\">\n <ion-img [src]=\"peer.favicon || peer.url + '/api/favicon'\"></ion-img>\n </ion-avatar>\n\n <ion-grid>\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label class=\"ion-text-wrap\">\n <ion-text>\n <h3>{{ peer.hostAndPort }}{{ peer.path }}</h3>\n </ion-text>\n <ion-text color=\"primary\">\n <h4>{{ peer.label }}</h4>\n </ion-text>\n </ion-label>\n </ion-col>\n <ion-col class=\"ion-no-padding\">\n <ion-label class=\"ion-text-wrap ion-text-center\" color=\"medium\">\n <h3>{{ peer.softwareName }}</h3>\n <h4 *ngIf=\"!peerMinVersion || isCompatible(peer); else invalidVersion\">\n <small>v{{ peer.softwareVersion }}</small>\n </h4>\n <ng-template #invalidVersion>\n <ion-text\n color=\"danger\"\n [matTooltip]=\"\n 'NETWORK.PEER.SELECT_MODAL.NOT_COMPATIBLE_HELP' | translate: { version: peerMinVersion }\n \"\n >\n <h4 class=\"ion-color-danger\">\n <small>\n <mat-icon>warning</mat-icon>\n v{{ peer.softwareVersion }}\n </small>\n </h4>\n </ion-text>\n </ng-template>\n </ion-label>\n </ion-col>\n </ion-row>\n </ion-grid>\n } @else {\n <!-- Peer is DOWN -->\n <ion-icon slot=\"start\" name=\"desktop\" class=\"disabled ion-icon-avatar\"></ion-icon>\n\n <ion-label class=\"ion-text-wrap\">\n <ion-text color=\"medium\">\n <h3>{{ peer.hostAndPort }}{{ peer.path }}</h3>\n </ion-text>\n <ion-text color=\"danger\">\n <h4>\n <small><ion-icon size=\"small\" name=\"close-circle\"></ion-icon></small>\n <span translate>NETWORK.PEER.OFFLINE</span>\n </h4>\n </ion-text>\n </ion-label>\n }\n </ion-item>\n </ion-list>\n</ion-content>\n\n@if ((canCancel && !mobile) || showSetManuallyButton) {\n <ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding ion-text-nowrap\">\n <ion-col></ion-col>\n\n <!-- buttons -->\n @if (showSetManuallyButton) {\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"clickSetManually($event)\">\n <ion-label translate>NETWORK.PEER.SELECT_MODAL.BTN_SET_MANUALLY</ion-label>\n </ion-button>\n </ion-col>\n }\n\n @if (canCancel) {\n <ion-col size=\"auto\" hidden-xs hidden-sm hidden-mobile>\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ion-col>\n }\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n}\n", styles: ["ion-item .ion-icon-avatar{font-size:40px;width:40px;height:40px}ion-item .ion-icon-avatar.disabled{color:rgba(var(--ion-color-medium-rgb),.7)}ion-item h4 ion-icon,ion-item h4 mat-icon{height:14px;width:14px;font-size:14px;line-height:14px}ion-item h4 small ion-icon,ion-item h4 small mat-icon{height:12px;width:12px;font-size:12px;line-height:12px}ion-item.selected{--ion-color-base: var(--ion-color-secondary100-contrast) !important;--ion-item-background: var(--ion-color-secondary100)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.RxFor, selector: "[rxFor][rxForOf]", inputs: ["rxForOf", "rxForTemplate", "rxForStrategy", "rxForParent", "rxForPatchZone", "rxForTrackBy", "rxForRenderCallback"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], animations: [fadeInAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
172
177
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SelectPeerModal, decorators: [{
|
|
174
179
|
type: Component,
|
|
175
|
-
args: [{ selector: 'select-peer-modal', changeDetection: ChangeDetectionStrategy.OnPush, animations: [fadeInAnimation], template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"cancel()\" *ngIf=\"canCancel\"
|
|
176
|
-
}], ctorParameters: () => [{ type: i1.ModalController }, { type: i1.PopoverController }, { type: i2.TranslateService }, { type: i3.HttpClient }, { type: i0.ChangeDetectorRef }, { type:
|
|
180
|
+
args: [{ selector: 'select-peer-modal', changeDetection: ChangeDetectionStrategy.OnPush, animations: [fadeInAnimation], template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"cancel()\" *ngIf=\"canCancel\" visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title>\n {{ 'NETWORK.PEER.SELECT_MODAL.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <!-- loader -->\n <ion-spinner *ngIf=\"loading; else endButtons\"></ion-spinner>\n\n <ng-template #endButtons>\n <!-- refresh button -->\n <ion-button\n *ngIf=\"onRefresh.observed\"\n [matTooltip]=\"'COMMON.BTN_REFRESH' | translate\"\n (click)=\"refresh($event)\"\n >\n <mat-icon slot=\"icon-only\">refresh</mat-icon>\n </ion-button>\n </ng-template>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <ion-list>\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <p translate>NETWORK.PEER.SELECT_MODAL.HELP</p>\n </ion-label>\n </ion-list-header>\n\n <ion-item\n *rxFor=\"let peer of $peers\"\n (click)=\"selectPeer(peer)\"\n [class.selected]=\"selectedPeer && selectedPeer === peer.url\"\n tappable\n matRipple\n detail\n @fadeInAnimation\n >\n <!-- Peer is UP -->\n @if (peer.reachable) {\n <!-- icon -->\n <ion-avatar slot=\"start\">\n <ion-img [src]=\"peer.favicon || peer.url + '/api/favicon'\"></ion-img>\n </ion-avatar>\n\n <ion-grid>\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label class=\"ion-text-wrap\">\n <ion-text>\n <h3>{{ peer.hostAndPort }}{{ peer.path }}</h3>\n </ion-text>\n <ion-text color=\"primary\">\n <h4>{{ peer.label }}</h4>\n </ion-text>\n </ion-label>\n </ion-col>\n <ion-col class=\"ion-no-padding\">\n <ion-label class=\"ion-text-wrap ion-text-center\" color=\"medium\">\n <h3>{{ peer.softwareName }}</h3>\n <h4 *ngIf=\"!peerMinVersion || isCompatible(peer); else invalidVersion\">\n <small>v{{ peer.softwareVersion }}</small>\n </h4>\n <ng-template #invalidVersion>\n <ion-text\n color=\"danger\"\n [matTooltip]=\"\n 'NETWORK.PEER.SELECT_MODAL.NOT_COMPATIBLE_HELP' | translate: { version: peerMinVersion }\n \"\n >\n <h4 class=\"ion-color-danger\">\n <small>\n <mat-icon>warning</mat-icon>\n v{{ peer.softwareVersion }}\n </small>\n </h4>\n </ion-text>\n </ng-template>\n </ion-label>\n </ion-col>\n </ion-row>\n </ion-grid>\n } @else {\n <!-- Peer is DOWN -->\n <ion-icon slot=\"start\" name=\"desktop\" class=\"disabled ion-icon-avatar\"></ion-icon>\n\n <ion-label class=\"ion-text-wrap\">\n <ion-text color=\"medium\">\n <h3>{{ peer.hostAndPort }}{{ peer.path }}</h3>\n </ion-text>\n <ion-text color=\"danger\">\n <h4>\n <small><ion-icon size=\"small\" name=\"close-circle\"></ion-icon></small>\n <span translate>NETWORK.PEER.OFFLINE</span>\n </h4>\n </ion-text>\n </ion-label>\n }\n </ion-item>\n </ion-list>\n</ion-content>\n\n@if ((canCancel && !mobile) || showSetManuallyButton) {\n <ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding ion-text-nowrap\">\n <ion-col></ion-col>\n\n <!-- buttons -->\n @if (showSetManuallyButton) {\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"clickSetManually($event)\">\n <ion-label translate>NETWORK.PEER.SELECT_MODAL.BTN_SET_MANUALLY</ion-label>\n </ion-button>\n </ion-col>\n }\n\n @if (canCancel) {\n <ion-col size=\"auto\" hidden-xs hidden-sm hidden-mobile>\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ion-col>\n }\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n}\n", styles: ["ion-item .ion-icon-avatar{font-size:40px;width:40px;height:40px}ion-item .ion-icon-avatar.disabled{color:rgba(var(--ion-color-medium-rgb),.7)}ion-item h4 ion-icon,ion-item h4 mat-icon{height:14px;width:14px;font-size:14px;line-height:14px}ion-item h4 small ion-icon,ion-item h4 small mat-icon{height:12px;width:12px;font-size:12px;line-height:12px}ion-item.selected{--ion-color-base: var(--ion-color-secondary100-contrast) !important;--ion-item-background: var(--ion-color-secondary100)}\n"] }]
|
|
181
|
+
}], ctorParameters: () => [{ type: i1.ModalController }, { type: i1.PopoverController }, { type: i2.TranslateService }, { type: i3.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i9.Environment, decorators: [{
|
|
177
182
|
type: Inject,
|
|
178
183
|
args: [ENVIRONMENT]
|
|
179
184
|
}] }, { type: undefined, decorators: [{
|
|
@@ -181,13 +186,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
181
186
|
}, {
|
|
182
187
|
type: Inject,
|
|
183
188
|
args: [APP_LOGGING_SERVICE]
|
|
184
|
-
}] }], propDecorators: {
|
|
189
|
+
}] }], propDecorators: { selectedPeer: [{
|
|
185
190
|
type: Input
|
|
191
|
+
}], canCancel: [{
|
|
192
|
+
type: Input,
|
|
193
|
+
args: [{ transform: booleanAttribute }]
|
|
186
194
|
}], allowSelectDownPeer: [{
|
|
187
|
-
type: Input
|
|
188
|
-
|
|
189
|
-
type: Input
|
|
195
|
+
type: Input,
|
|
196
|
+
args: [{ transform: booleanAttribute }]
|
|
190
197
|
}], showSetManuallyButton: [{
|
|
198
|
+
type: Input,
|
|
199
|
+
args: [{ transform: booleanAttribute }]
|
|
200
|
+
}], onRefresh: [{
|
|
191
201
|
type: Input
|
|
192
202
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBlZXIubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGVlci9zZWxlY3QtcGVlci5tb2RhbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9wZWVyL3NlbGVjdC1wZWVyLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhJLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBc0IsTUFBTSw2Q0FBNkMsQ0FBQztBQUU5RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7OztBQWlCakYsTUFBTSxPQUFPLGVBQWU7SUFnQmhCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDdUI7SUFDb0I7SUFwQjdDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lB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ZSw2S0FxQmhCLFdBQVcsYUFDQyxtQkFBbUI7MkZBdEI5QixlQUFlLGlOQy9CNUIsOG9JQTJIQSw0b0hEOUZjLENBQUMsZUFBZSxDQUFDOzsyRkFFbEIsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGVBQWUsQ0FBQzs7MEJBdUIxQixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt5Q0FaaEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgUGVlciB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3BlZXIubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmYWRlSW5BbmltYXRpb24gfSBmcm9tICcuLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbWF0ZXJpYWwuYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmV0d29ya1V0aWxzLCBOb2RlSW5mbyB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsudXRpbHMnO1xuaW1wb3J0IHsgVmVyc2lvblV0aWxzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3ZlcnNpb24vdmVyc2lvbnMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IFRleHRQb3BvdmVyLCBUZXh0UG9wb3Zlck9wdGlvbnMgfSBmcm9tICcuLi9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3BsYXRmb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUEVFUl9VUkxfUkVHRVhQIH0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IEFQUF9MT0dHSU5HX1NFUlZJQ0UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2luZy9sb2dnaW5nLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgSUxvZ2dlciwgSUxvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dpbmcvbG9nZ2VyLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0UGVlck1vZGFsT3B0aW9ucyB7XG4gIGNhbkNhbmNlbDogYm9vbGVhbjtcbiAgYWxsb3dTZWxlY3REb3duUGVlcjogYm9vbGVhbjtcbiAgb25SZWZyZXNoOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuICBzaG93U2V0TWFudWFsbHlCdXR0b246IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlbGVjdC1wZWVyLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICdzZWxlY3QtcGVlci5tb2RhbC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL3NlbGVjdC1wZWVyLm1vZGFsLnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbZmFkZUluQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RQZWVyTW9kYWwgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIElTZWxlY3RQZWVyTW9kYWxPcHRpb25zIHtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvZ2dlcjogSUxvZ2dlcjtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgbW9iaWxlOiBib29sZWFuO1xuICAkcGVlcnMgPSBuZXcgU3ViamVjdDxQZWVyW10+KCk7XG4gIHBlZXJNaW5WZXJzaW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY2FuQ2FuY2VsID0gdHJ1ZTtcbiAgQElucHV0KCkgYWxsb3dTZWxlY3REb3duUGVlciA9IHRydWU7XG4gIEBJbnB1dCgpIG9uUmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBJbnB1dCgpIHNob3dTZXRNYW51YWxseUJ1dHRvbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9MT0dHSU5HX1NFUlZJQ0UpIHByb3RlY3RlZCBsb2dnaW5nU2VydmljZT86IElMb2dnaW5nU2VydmljZVxuICApIHtcbiAgICB0aGlzLm1vYmlsZSA9IGlzTW9iaWxlKHdpbmRvdyk7XG4gICAgdGhpcy5fbG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2U/LmdldExvZ2dlcignbmV0d29yay1tb2RhbCcpO1xuICAgIHRoaXMucGVlck1pblZlcnNpb24gPSBlbnZpcm9ubWVudC5wZWVyTWluVmVyc2lvbjtcbiAgfVxuXG4gIHNldCBwZWVycyhwZWVyczogT2JzZXJ2YWJsZTxQZWVyW10+KSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHBlZXJzLnN1YnNjcmliZShyZXMgPT4gdGhpcy5yZWZyZXNoUGVlcnMocmVzKSlcbiAgICApO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWxDdHJsLmRpc21pc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2VsZWN0UGVlcihwZWVyOiBQZWVyKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dTZWxlY3REb3duUGVlciB8fCAocGVlci5yZWFjaGFibGUgJiYgdGhpcy5pc0NvbXBhdGlibGUocGVlcikpKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbc2VsZWN0LXBlZXItbW9kYWxdIFNlbGVjdGVkIHBlZXI6IHt1cmw6ICcke3BlZXIudXJsfSd9YCk7XG4gICAgICB0aGlzLm1vZGFsQ3RybC5kaXNtaXNzKHBlZXIpO1xuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqICBDaGVjayB0aGUgbWluIHBvZCB2ZXJzaW9uLCBkZWZpbmVkIGJ5IHRoZSBhcHBcbiAgICpcbiAgICogQHBhcmFtIHBlZXJcbiAgICovXG4gIGlzQ29tcGF0aWJsZShwZWVyOiBQZWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnBlZXJNaW5WZXJzaW9uIHx8IChwZWVyICYmIHBlZXIuc29mdHdhcmVWZXJzaW9uICYmIFZlcnNpb25VdGlscy5pc0NvbXBhdGlibGUodGhpcy5wZWVyTWluVmVyc2lvbiwgcGVlci5zb2Z0d2FyZVZlcnNpb24pKTtcbiAgfVxuXG4gIHJlZnJlc2goZXZlbnQpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMub25SZWZyZXNoLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgYXN5bmMgY2xpY2tTZXRNYW51YWxseShldmVudD86IEV2ZW50KSB7XG4gICAgY29uc3QgcGVlclVybCA9IGF3YWl0IHRoaXMub3BlblBlZXJVcmxQb3BvdmVyKGV2ZW50KTtcbiAgICBpZiAocGVlclVybCkge1xuICAgICAgY29uc3QgcGVlciA9IFBlZXIucGFyc2VVcmwocGVlclVybCk7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2hQZWVyKHBlZXIpO1xuICAgICAgdGhpcy5zZWxlY3RQZWVyKHBlZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgYXN5bmMgcmVmcmVzaFBlZXJzKHBlZXJzOiBQZWVyW10pIHtcbiAgICBwZWVycyA9IHBlZXJzIHx8IFtdO1xuXG4gICAgY29uc3QgZGF0YTogUGVlcltdID0gW107XG4gICAgY29uc3Qgam9icyA9IFByb21pc2UuYWxsKFxuICAgICAgcGVlcnMubWFwKGFzeW5jIChwZWVyKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaFBlZXIocGVlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuX3N1YnNjcmlwdGlvbi5jbG9zZWQpIHJldHVybjsgLy8gY29tcG9uZW50IGRlc3Ryb3llZFxuXG4gICAgICAgIGRhdGEucHVzaChwZWVyKTtcblxuICAgICAgICAvLyBTb3J0IChieSByZWFjaGFibGUsIHRoZW4gaG9zdClcbiAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgaWYgKGEucmVhY2hhYmxlICYmICFiLnJlYWNoYWJsZSkgcmV0dXJuIC0xO1xuICAgICAgICAgIGlmICghYS5yZWFjaGFibGUgJiYgYi5yZWFjaGFibGUpIHJldHVybiAxO1xuICAgICAgICAgIGlmIChhLmhvc3RBbmRQb3J0IDwgYi5ob3N0QW5kUG9ydCkgcmV0dXJuIC0xO1xuICAgICAgICAgIGlmIChhLmhvc3RBbmRQb3J0ID4gYi5ob3N0QW5kUG9ydCkgcmV0dXJuIDE7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuJHBlZXJzLm5leHQoZGF0YSk7XG4gICAgICAgIHJldHVybiBwZWVyO1xuICAgICAgfSkpO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuJHBlZXJzXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKSlcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGpvYnM7XG4gICAgfVxuICAgIGNhdGNoKGVycikge1xuICAgICAgaWYgKCF0aGlzLl9zdWJzY3JpcHRpb24uY2xvc2VkKSBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcmVmcmVzaFBlZXIocGVlcjogUGVlcik6IFByb21pc2U8UGVlcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdW1tYXJ5OiBOb2RlSW5mbyA9IGF3YWl0IE5ldHdvcmtVdGlscy5nZXROb2RlSW5mbyh0aGlzLmh0dHAsIHBlZXIudXJsKTtcbiAgICAgIHBlZXIuc3RhdHVzID0gJ1VQJztcbiAgICAgIHBlZXIuc29mdHdhcmVOYW1lID0gc3VtbWFyeS5zb2Z0d2FyZU5hbWU7XG4gICAgICBwZWVyLnNvZnR3YXJlVmVyc2lvbiA9IHN1bW1hcnkuc29mdHdhcmVWZXJzaW9uO1xuICAgICAgcGVlci5sYWJlbCA9IHN1bW1hcnkubm9kZUxhYmVsO1xuICAgICAgcGVlci5uYW1lID0gc3VtbWFyeS5ub2RlTmFtZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIElmIG1vZGFsIHdhcyBub3QgY2xvc2VkIChlLmcuIHJlc3BvbnNlIGFycml2ZWQgdG9vIGxhdGUgPT4gaWdub3JlKVxuICAgICAgaWYgKCF0aGlzLl9zdWJzY3JpcHRpb24uY2xvc2VkKSAge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbc2VsZWN0LXBlZXJdIEVycm9yIHdoaWxlIGNhbGxpbmcgJyR7cGVlci51cmx9L2FwaS9ub2RlL2luZm8nOiAke2Vycj8ubWVzc2FnZSB8fCBlcnJ9YCwgZXJyKTtcbiAgICAgICAgdGhpcy5fbG9nZ2VyPy5lcnJvcigncmVmcmVzaFBlZXInLCBgRXJyb3Igd2hpbGUgY2FsbGluZyAnJHtwZWVyLnVybH0vYXBpL25vZGUvaW5mbyc6ICR7ZXJyPy5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycil9YCk7XG4gICAgICB9XG4gICAgICBwZWVyLnN0YXR1cyA9ICdET1dOJztcbiAgICB9XG4gICAgcmV0dXJuIHBlZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgb3BlblBlZXJVcmxQb3BvdmVyKGV2ZW50OiBFdmVudCwgb3B0cz86IFBhcnRpYWw8VGV4dFBvcG92ZXJPcHRpb25zPikge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBUZXh0UG9wb3ZlcixcbiAgICAgIGNvbXBvbmVudFByb3BzOiA8VGV4dFBvcG92ZXJPcHRpb25zPntcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ1NFVFRJTkdTLlBFRVJfVVJMJyksXG4gICAgICAgIG11bHRpbGluZTogZmFsc2UsXG4gICAgICAgIGF1dG9mb2N1czogIXRoaXMubW9iaWxlLFxuICAgICAgICBhdXRvY29tcGxldGU6IGZhbHNlLFxuICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMucGF0dGVybihQRUVSX1VSTF9SRUdFWFApLFxuICAgICAgICBtYXhMZW5ndGg6IG51bGwsXG4gICAgICAgIC4uLm9wdHNcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgICAga2V5Ym9hcmRDbG9zZTogZmFsc2UsXG4gICAgICBldmVudCxcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxuICAgICAgY3NzQ2xhc3M6ICdwb3BvdmVyLWxhcmdlJyxcbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgICBjb25zdCB7IGRhdGEsIHJvbGUgfSA9IGF3YWl0IG1vZGFsLm9uRGlkRGlzbWlzcygpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnUG9wb3ZlciByZXN1bHQ6ICcsIGRhdGEpO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwibGlnaHRcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiAqbmdJZj1cImNhbkNhbmNlbFwiXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3snTkVUV09SSy5QRUVSLlNFTEVDVF9NT0RBTC5USVRMRSd8dHJhbnNsYXRlfX1cbiAgICA8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8IS0tIGxvYWRlciAtLT5cbiAgICAgIDxpb24tc3Bpbm5lciAqbmdJZj1cImxvYWRpbmc7IGVsc2UgZW5kQnV0dG9uc1wiPjwvaW9uLXNwaW5uZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZW5kQnV0dG9ucz5cbiAgICAgICAgPCEtLSByZWZyZXNoIGJ1dHRvbiAtLT5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJvblJlZnJlc2gub2JzZXJ2ZXJzIHwgaXNOb3RFbXB0eUFycmF5XCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ0NPTU1PTi5CVE5fUkVGUkVTSCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2goJGV2ZW50KVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwiaWNvbi1vbmx5XCI+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50PlxuXG4gIDxpb24tbGlzdD5cblxuICAgIDxpb24tbGlzdC1oZWFkZXI+XG4gICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiPlxuICAgICAgICA8cCB0cmFuc2xhdGU+TkVUV09SSy5QRUVSLlNFTEVDVF9NT0RBTC5IRUxQPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24tbGlzdC1oZWFkZXI+XG5cbiAgICA8aW9uLWl0ZW0gKm5nRm9yPVwibGV0IHBlZXIgb2YgJHBlZXJzIHwgYXN5bmNcIlxuICAgICAgICAgICAgICB0YXBwYWJsZVxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGVlcihwZWVyKVwiXG4gICAgICAgICAgICAgIGRldGFpbFxuICAgICAgICAgICAgICBAZmFkZUluQW5pbWF0aW9uPlxuXG4gICAgICA8IS0tIGljb24gLS0+XG4gICAgICA8aW9uLWF2YXRhciBzbG90PVwic3RhcnRcIiAqbmdJZj1cInBlZXIucmVhY2hhYmxlXCIgPlxuICAgICAgICA8aW9uLWltZyBbc3JjXT1cInBlZXIuZmF2aWNvbiB8fCAocGVlci51cmwgKyAnL2FwaS9mYXZpY29uJylcIj48L2lvbi1pbWc+XG4gICAgICA8L2lvbi1hdmF0YXI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgICpuZ0lmPVwiIXBlZXIucmVhY2hhYmxlXCIgbmFtZT1cImRlc2t0b3BcIiBjb2xvcj1cIm1lZGl1bVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+PC9pb24taWNvbj5cblxuICAgICAgPCEtLSBQZWVyIGlzIFVQIC0tPlxuICAgICAgPGlvbi1ncmlkICpuZ0lmPVwicGVlci5yZWFjaGFibGVcIj5cbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+XG4gICAgICAgICAgICAgIDxpb24tdGV4dCBjb2xvcj1cImRhcmtcIj5cbiAgICAgICAgICAgICAgICA8aDM+e3twZWVyLmhvc3RBbmRQb3J0fX17e3BlZXIucGF0aH19PC9oMz5cbiAgICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxoND57e3BlZXIubGFiZWx9fTwvaDQ+XG4gICAgICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXAgaW9uLXRleHQtY2VudGVyXCIgY29sb3I9XCJtZWRpdW1cIj5cbiAgICAgICAgICAgICAgPGgzPnt7cGVlci5zb2Z0d2FyZU5hbWV9fTwvaDM+XG4gICAgICAgICAgICAgIDxoNCAqbmdJZj1cIiFwZWVyTWluVmVyc2lvbiB8fCBpc0NvbXBhdGlibGUocGVlcik7IGVsc2UgaW52YWxpZFZlcnNpb25cIj5cbiAgICAgICAgICAgICAgICA8c21hbGw+dnt7cGVlci5zb2Z0d2FyZVZlcnNpb259fTwvc21hbGw+XG4gICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW52YWxpZFZlcnNpb24+XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwiZGFuZ2VyXCIgW21hdFRvb2x0aXBdPVwiJ05FVFdPUksuUEVFUi5TRUxFQ1RfTU9EQUwuTk9UX0NPTVBBVElCTEVfSEVMUCd8dHJhbnNsYXRlOiB7dmVyc2lvbjogcGVlck1pblZlcnNpb259IFwiPlxuICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiaW9uLWNvbG9yLWRhbmdlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGw+PG1hdC1pY29uPndhcm5pbmc8L21hdC1pY29uPnZ7e3BlZXIuc29mdHdhcmVWZXJzaW9ufX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICA8L2lvbi1yb3c+XG4gICAgICA8L2lvbi1ncmlkPlxuXG4gICAgICA8IS0tIFBlZXIgaXMgRE9XTiAtLT5cbiAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCIgKm5nSWY9XCIhcGVlci5yZWFjaGFibGVcIj5cbiAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwibWVkaXVtXCI+XG4gICAgICAgICAgPGgzPnt7cGVlci5ob3N0QW5kUG9ydH19e3twZWVyLnBhdGh9fTwvaDM+XG4gICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgIDxpb24tdGV4dCBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgIDxoND5cbiAgICAgICAgICAgIDxzbWFsbD48aW9uLWljb24gc2l6ZT1cInNtYWxsXCIgbmFtZT1cImNsb3NlLWNpcmNsZVwiPjwvaW9uLWljb24+PC9zbWFsbD5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5ORVRXT1JLLlBFRVIuT0ZGTElORTwvc3Bhbj5cbiAgICAgICAgICA8L2g0PlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cbiAgPC9pb24tbGlzdD5cblxuPC9pb24tY29udGVudD5cblxuXG48aW9uLWZvb3RlciAqbmdJZj1cImNhbkNhbmNlbFwiIGhpZGRlbi14cyBoaWRkZW4tc20gaGlkZGVuLW1vYmlsZT5cblxuICA8aW9uLXRvb2xiYXI+XG5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuXG4gICAgICA8IS0tIGJ1dHRvbnMgLS0+XG4gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiICpuZ0lmPVwic2hvd1NldE1hbnVhbGx5QnV0dG9uXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjbGlja1NldE1hbnVhbGx5KCRldmVudClcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5ORVRXT1JLLlBFRVIuU0VMRUNUX01PREFMLkJUTl9TRVRfTUFOVUFMTFk8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCB0cmFuc2xhdGU+Q09NTU9OLkJUTl9DQU5DRUw8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cblxuXG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1mb290ZXI+XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBlZXIubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcGVlci9zZWxlY3QtcGVlci5tb2RhbC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9wZWVyL3NlbGVjdC1wZWVyLm1vZGFsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQXNCLE1BQU0sNkNBQTZDLENBQUM7QUFFOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7O0FBa0JqRixNQUFNLE9BQU8sZUFBZTtJQWtCaEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUN1QjtJQUNvQjtJQXZCN0MsYUFBYSxHQUFHLElBQUksWUFB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ZTtTQUMxQixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0FwS1UsZUFBZSw2S0F1QmhCLFdBQVcsYUFDQyxtQkFBbUI7MkZBeEI5QixlQUFlLCtHQVdOLGdCQUFnQix1RUFDaEIsZ0JBQWdCLDZFQUNoQixnQkFBZ0IscURDdkR0QywwaEpBeUlBLDBsSURqR2MsQ0FBQyxlQUFlLENBQUM7OzJGQUVsQixlQUFlO2tCQVAzQixTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsZUFBZSxDQUFDOzswQkF5QjFCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1CO3lDQWRoQyxZQUFZO3NCQUFwQixLQUFLO2dCQUNrQyxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG1CQUFtQjtzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxxQkFBcUI7c0JBQTVELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBQZWVyIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvcGVlci5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZhZGVJbkFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9tYXRlcmlhbC5hbmltYXRpb25zJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZXR3b3JrVXRpbHMsIE5vZGVJbmZvIH0gZnJvbSAnLi4vc2VydmljZXMvbmV0d29yay51dGlscyc7XG5pbXBvcnQgeyBWZXJzaW9uVXRpbHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdmVyc2lvbi92ZXJzaW9ucyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHsgVGV4dFBvcG92ZXIsIFRleHRQb3BvdmVyT3B0aW9ucyB9IGZyb20gJy4uL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvcGxhdGZvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQRUVSX1VSTF9SRUdFWFAgfSBmcm9tICcuLi9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBQX0xPR0dJTkdfU0VSVklDRSB9IGZyb20gJy4uLy4uL3NoYXJlZC9sb2dnaW5nL2xvZ2dpbmctc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBJTG9nZ2VyLCBJTG9nZ2luZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2luZy9sb2dnZXIubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RQZWVyTW9kYWxPcHRpb25zIHtcbiAgY2FuQ2FuY2VsOiBib29sZWFuO1xuICBhbGxvd1NlbGVjdERvd25QZWVyOiBib29sZWFuO1xuICBvblJlZnJlc2g6IEV2ZW50RW1pdHRlcjxFdmVudD47XG4gIHNob3dTZXRNYW51YWxseUJ1dHRvbjogYm9vbGVhbjtcbiAgc2VsZWN0ZWRQZWVyPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWxlY3QtcGVlci1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnc2VsZWN0LXBlZXIubW9kYWwuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1wZWVyLm1vZGFsLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtmYWRlSW5BbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RQZWVyTW9kYWwgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIElTZWxlY3RQZWVyTW9kYWxPcHRpb25zIHtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9sb2dnZXI6IElMb2dnZXI7XG5cbiAgcHJvdGVjdGVkIGxvYWRpbmcgPSB0cnVlO1xuICBwcm90ZWN0ZWQgbW9iaWxlOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgJHBlZXJzID0gbmV3IFN1YmplY3Q8UGVlcltdPigpO1xuICBwcm90ZWN0ZWQgcGVlck1pblZlcnNpb246IHN0cmluZztcbiAgcHJvdGVjdGVkIHBlZXJEZWZhdWx0UHJlZml4OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRQZWVyOiBzdHJpbmc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjYW5DYW5jZWwgPSB0cnVlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYWxsb3dTZWxlY3REb3duUGVlciA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93U2V0TWFudWFsbHlCdXR0b24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIG9uUmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9MT0dHSU5HX1NFUlZJQ0UpIHByb3RlY3RlZCBsb2dnaW5nU2VydmljZT86IElMb2dnaW5nU2VydmljZVxuICApIHtcbiAgICB0aGlzLm1vYmlsZSA9IGlzTW9iaWxlKHdpbmRvdyk7XG4gICAgdGhpcy5fbG9nZ2VyID0gbG9nZ2luZ1NlcnZpY2U/LmdldExvZ2dlcignbmV0d29yay1tb2RhbCcpO1xuICAgIHRoaXMucGVlck1pblZlcnNpb24gPSBlbnZpcm9ubWVudC5wZWVyTWluVmVyc2lvbjtcbiAgICB0aGlzLnBlZXJEZWZhdWx0UHJlZml4ID0gZW52aXJvbm1lbnQucGVlckRlZmF1bHRQcmVmaXggfHwgJ2h0dHBzOi8vJztcbiAgfVxuXG4gIHNldCBwZWVycyhwZWVyczogT2JzZXJ2YWJsZTxQZWVyW10+KSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChwZWVycy5zdWJzY3JpYmUoKHJlcykgPT4gdGhpcy5yZWZyZXNoUGVlcnMocmVzKSkpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWxDdHJsLmRpc21pc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2VsZWN0UGVlcihwZWVyOiBQZWVyKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dTZWxlY3REb3duUGVlciB8fCAocGVlci5yZWFjaGFibGUgJiYgdGhpcy5pc0NvbXBhdGlibGUocGVlcikpKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbc2VsZWN0LXBlZXItbW9kYWxdIFNlbGVjdGVkIHBlZXI6IHt1cmw6ICcke3BlZXIudXJsfSd9YCk7XG4gICAgICB0aGlzLnNlbGVjdGVkUGVlciA9IHBlZXIudXJsO1xuICAgICAgdGhpcy5tb2RhbEN0cmwuZGlzbWlzcyhwZWVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIENoZWNrIHRoZSBtaW4gcG9kIHZlcnNpb24sIGRlZmluZWQgYnkgdGhlIGFwcFxuICAgKlxuICAgKiBAcGFyYW0gcGVlclxuICAgKi9cbiAgaXNDb21wYXRpYmxlKHBlZXI6IFBlZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucGVlck1pblZlcnNpb24gfHwgKHBlZXIgJiYgcGVlci5zb2Z0d2FyZVZlcnNpb24gJiYgVmVyc2lvblV0aWxzLmlzQ29tcGF0aWJsZSh0aGlzLnBlZXJNaW5WZXJzaW9uLCBwZWVyLnNvZnR3YXJlVmVyc2lvbikpO1xuICB9XG5cbiAgcmVmcmVzaChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMub25SZWZyZXNoLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgYXN5bmMgY2xpY2tTZXRNYW51YWxseShldmVudD86IEV2ZW50KSB7XG4gICAgY29uc3QgcGVlclVybCA9IGF3YWl0IHRoaXMub3BlblBlZXJVcmxQb3BvdmVyKGV2ZW50KTtcbiAgICBpZiAocGVlclVybCkge1xuICAgICAgY29uc3QgcGVlciA9IFBlZXIucGFyc2VVcmwocGVlclVybCk7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2hQZWVyKHBlZXIpO1xuICAgICAgdGhpcy5zZWxlY3RQZWVyKHBlZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgYXN5bmMgcmVmcmVzaFBlZXJzKHBlZXJzOiBQZWVyW10pIHtcbiAgICBwZWVycyA9IHBlZXJzIHx8IFtdO1xuXG4gICAgY29uc3QgZGF0YTogUGVlcltdID0gW107XG4gICAgY29uc3Qgam9icyA9IFByb21pc2UuYWxsKFxuICAgICAgcGVlcnMubWFwKGFzeW5jIChwZWVyKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaFBlZXIocGVlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuX3N1YnNjcmlwdGlvbi5jbG9zZWQpIHJldHVybjsgLy8gY29tcG9uZW50IGRlc3Ryb3llZFxuXG4gICAgICAgIGRhdGEucHVzaChwZWVyKTtcblxuICAgICAgICAvLyBTb3J0IChieSByZWFjaGFibGUsIHRoZW4gaG9zdClcbiAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgaWYgKGEucmVhY2hhYmxlICYmICFiLnJlYWNoYWJsZSkgcmV0dXJuIC0xO1xuICAgICAgICAgIGlmICghYS5yZWFjaGFibGUgJiYgYi5yZWFjaGFibGUpIHJldHVybiAxO1xuICAgICAgICAgIGlmIChhLmhvc3RBbmRQb3J0IDwgYi5ob3N0QW5kUG9ydCkgcmV0dXJuIC0xO1xuICAgICAgICAgIGlmIChhLmhvc3RBbmRQb3J0ID4gYi5ob3N0QW5kUG9ydCkgcmV0dXJuIDE7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuJHBlZXJzLm5leHQoZGF0YSk7XG4gICAgICAgIHJldHVybiBwZWVyO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZCh0aGlzLiRwZWVycy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKSkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGpvYnM7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoIXRoaXMuX3N1YnNjcmlwdGlvbi5jbG9zZWQpIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyByZWZyZXNoUGVlcihwZWVyOiBQZWVyKTogUHJvbWlzZTxQZWVyPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN1bW1hcnk6IE5vZGVJbmZvID0gYXdhaXQgTmV0d29ya1V0aWxzLmdldE5vZGVJbmZvKHRoaXMuaHR0cCwgcGVlci51cmwpO1xuICAgICAgcGVlci5zdGF0dXMgPSAnVVAnO1xuICAgICAgcGVlci5zb2Z0d2FyZU5hbWUgPSBzdW1tYXJ5LnNvZnR3YXJlTmFtZTtcbiAgICAgIHBlZXIuc29mdHdhcmVWZXJzaW9uID0gc3VtbWFyeS5zb2Z0d2FyZVZlcnNpb247XG4gICAgICBwZWVyLmxhYmVsID0gc3VtbWFyeS5ub2RlTGFiZWw7XG4gICAgICBwZWVyLm5hbWUgPSBzdW1tYXJ5Lm5vZGVOYW1lO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gSWYgbW9kYWwgd2FzIG5vdCBjbG9zZWQgKGUuZy4gcmVzcG9uc2UgYXJyaXZlZCB0b28gbGF0ZSA9PiBpZ25vcmUpXG4gICAgICBpZiAoIXRoaXMuX3N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW3NlbGVjdC1wZWVyXSBFcnJvciB3aGlsZSBjYWxsaW5nICcke3BlZXIudXJsfS9hcGkvbm9kZS9pbmZvJzogJHtlcnI/Lm1lc3NhZ2UgfHwgZXJyfWAsIGVycik7XG4gICAgICAgIHRoaXMuX2xvZ2dlcj8uZXJyb3IoJ3JlZnJlc2hQZWVyJywgYEVycm9yIHdoaWxlIGNhbGxpbmcgJyR7cGVlci51cmx9L2FwaS9ub2RlL2luZm8nOiAke2Vycj8ubWVzc2FnZSB8fCBKU09OLnN0cmluZ2lmeShlcnIpfWApO1xuICAgICAgfVxuICAgICAgcGVlci5zdGF0dXMgPSAnRE9XTic7XG4gICAgfVxuICAgIHJldHVybiBwZWVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG9wZW5QZWVyVXJsUG9wb3ZlcihldmVudDogRXZlbnQsIG9wdHM/OiBQYXJ0aWFsPFRleHRQb3BvdmVyT3B0aW9ucz4pIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogVGV4dFBvcG92ZXIsXG4gICAgICBjb21wb25lbnRQcm9wczogPFRleHRQb3BvdmVyT3B0aW9ucz57XG4gICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdTRVRUSU5HUy5QRUVSX1VSTCcpLFxuICAgICAgICBtdWx0aWxpbmU6IGZhbHNlLFxuICAgICAgICBhdXRvZm9jdXM6ICF0aGlzLm1vYmlsZSxcbiAgICAgICAgYXV0b2NvbXBsZXRlOiBmYWxzZSxcbiAgICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLnBhdHRlcm4oUEVFUl9VUkxfUkVHRVhQKSxcbiAgICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgICB0ZXh0OiB0aGlzLnNlbGVjdGVkUGVlciB8fCB0aGlzLnBlZXJEZWZhdWx0UHJlZml4LFxuICAgICAgICAuLi5vcHRzLFxuICAgICAgfSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgICBrZXlib2FyZENsb3NlOiBmYWxzZSxcbiAgICAgIGV2ZW50OiBudWxsLCAvLyBJTVBPUlRBTlQ6IG51bGwgZXZlbnQgd2lsbCBjZW50ZXIgdGhlIHBvcG92ZXIsIGFuZCB0aGlzIHdpbGwgZml4IGtleWJvYXJkIG92ZXJsYXAgb24gbW9iaWxlXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGNzc0NsYXNzOiAncG9wb3Zlci1sYXJnZScsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gICAgY29uc3QgeyBkYXRhLCByb2xlIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ1BvcG92ZXIgcmVzdWx0OiAnLCBkYXRhKTtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCI+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgKm5nSWY9XCJjYW5DYW5jZWxcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3sgJ05FVFdPUksuUEVFUi5TRUxFQ1RfTU9EQUwuVElUTEUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPCEtLSBsb2FkZXIgLS0+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nOyBlbHNlIGVuZEJ1dHRvbnNcIj48L2lvbi1zcGlubmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2VuZEJ1dHRvbnM+XG4gICAgICAgIDwhLS0gcmVmcmVzaCBidXR0b24gLS0+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJvblJlZnJlc2gub2JzZXJ2ZWRcIlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIidDT01NT04uQlROX1JFRlJFU0gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwiaWNvbi1vbmx5XCI+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50PlxuICA8aW9uLWxpc3Q+XG4gICAgPGlvbi1saXN0LWhlYWRlcj5cbiAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+XG4gICAgICAgIDxwIHRyYW5zbGF0ZT5ORVRXT1JLLlBFRVIuU0VMRUNUX01PREFMLkhFTFA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1saXN0LWhlYWRlcj5cblxuICAgIDxpb24taXRlbVxuICAgICAgKnJ4Rm9yPVwibGV0IHBlZXIgb2YgJHBlZXJzXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RQZWVyKHBlZXIpXCJcbiAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZFBlZXIgJiYgc2VsZWN0ZWRQZWVyID09PSBwZWVyLnVybFwiXG4gICAgICB0YXBwYWJsZVxuICAgICAgbWF0UmlwcGxlXG4gICAgICBkZXRhaWxcbiAgICAgIEBmYWRlSW5BbmltYXRpb25cbiAgICA+XG4gICAgICA8IS0tIFBlZXIgaXMgVVAgLS0+XG4gICAgICBAaWYgKHBlZXIucmVhY2hhYmxlKSB7XG4gICAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgICAgPGlvbi1hdmF0YXIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICAgICAgPGlvbi1pbWcgW3NyY109XCJwZWVyLmZhdmljb24gfHwgcGVlci51cmwgKyAnL2FwaS9mYXZpY29uJ1wiPjwvaW9uLWltZz5cbiAgICAgICAgPC9pb24tYXZhdGFyPlxuXG4gICAgICAgIDxpb24tZ3JpZD5cbiAgICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgICAgICAgICAgPGgzPnt7IHBlZXIuaG9zdEFuZFBvcnQgfX17eyBwZWVyLnBhdGggfX08L2gzPlxuICAgICAgICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgPGg0Pnt7IHBlZXIubGFiZWwgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcCBpb24tdGV4dC1jZW50ZXJcIiBjb2xvcj1cIm1lZGl1bVwiPlxuICAgICAgICAgICAgICAgIDxoMz57eyBwZWVyLnNvZnR3YXJlTmFtZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgPGg0ICpuZ0lmPVwiIXBlZXJNaW5WZXJzaW9uIHx8IGlzQ29tcGF0aWJsZShwZWVyKTsgZWxzZSBpbnZhbGlkVmVyc2lvblwiPlxuICAgICAgICAgICAgICAgICAgPHNtYWxsPnZ7eyBwZWVyLnNvZnR3YXJlVmVyc2lvbiB9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ludmFsaWRWZXJzaW9uPlxuICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgJ05FVFdPUksuUEVFUi5TRUxFQ1RfTU9EQUwuTk9UX0NPTVBBVElCTEVfSEVMUCcgfCB0cmFuc2xhdGU6IHsgdmVyc2lvbjogcGVlck1pblZlcnNpb24gfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJpb24tY29sb3ItZGFuZ2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPndhcm5pbmc8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgdnt7IHBlZXIuc29mdHdhcmVWZXJzaW9uIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICAgIDwvaW9uLXRleHQ+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICA8L2lvbi1ncmlkPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDwhLS0gUGVlciBpcyBET1dOIC0tPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImRlc2t0b3BcIiBjbGFzcz1cImRpc2FibGVkIGlvbi1pY29uLWF2YXRhclwiPjwvaW9uLWljb24+XG5cbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJtZWRpdW1cIj5cbiAgICAgICAgICAgIDxoMz57eyBwZWVyLmhvc3RBbmRQb3J0IH19e3sgcGVlci5wYXRoIH19PC9oMz5cbiAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgIDxpb24tdGV4dCBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgICAgPGg0PlxuICAgICAgICAgICAgICA8c21hbGw+PGlvbi1pY29uIHNpemU9XCJzbWFsbFwiIG5hbWU9XCJjbG9zZS1jaXJjbGVcIj48L2lvbi1pY29uPjwvc21hbGw+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5ORVRXT1JLLlBFRVIuT0ZGTElORTwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICB9XG4gICAgPC9pb24taXRlbT5cbiAgPC9pb24tbGlzdD5cbjwvaW9uLWNvbnRlbnQ+XG5cbkBpZiAoKGNhbkNhbmNlbCAmJiAhbW9iaWxlKSB8fCBzaG93U2V0TWFudWFsbHlCdXR0b24pIHtcbiAgPGlvbi1mb290ZXI+XG4gICAgPGlvbi10b29sYmFyPlxuICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZyBpb24tdGV4dC1ub3dyYXBcIj5cbiAgICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuXG4gICAgICAgIDwhLS0gYnV0dG9ucyAtLT5cbiAgICAgICAgQGlmIChzaG93U2V0TWFudWFsbHlCdXR0b24pIHtcbiAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNsaWNrU2V0TWFudWFsbHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5ORVRXT1JLLlBFRVIuU0VMRUNUX01PREFMLkJUTl9TRVRfTUFOVUFMTFk8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGNhbkNhbmNlbCkge1xuICAgICAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgaGlkZGVuLXhzIGhpZGRlbi1zbSBoaWRkZW4tbW9iaWxlPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICB9XG4gICAgICA8L2lvbi1yb3c+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgPC9pb24tZm9vdGVyPlxufVxuIl19
|
|
@@ -1,42 +1,30 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { SharedModule } from '../../shared/shared.module';
|
|
3
|
-
import {
|
|
3
|
+
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
4
4
|
import { SelectPeerModal } from './select-peer.modal';
|
|
5
5
|
import { TranslateModule } from '@ngx-translate/core';
|
|
6
6
|
import { AppTextPopoverModule } from '../form/text-popover/text-popover.module';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@ngx-translate/core";
|
|
9
9
|
export class AppSelectPeerModule {
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppSelectPeerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AppSelectPeerModule, declarations: [
|
|
12
12
|
// Network
|
|
13
|
-
SelectPeerModal], imports: [SharedModule,
|
|
14
|
-
HttpClientModule, i1.TranslateModule, AppTextPopoverModule], exports: [TranslateModule,
|
|
13
|
+
SelectPeerModal], imports: [SharedModule, i1.TranslateModule, AppTextPopoverModule], exports: [TranslateModule,
|
|
15
14
|
// Components
|
|
16
15
|
SelectPeerModal] });
|
|
17
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
18
|
-
HttpClientModule,
|
|
19
|
-
TranslateModule.forChild(),
|
|
20
|
-
AppTextPopoverModule, TranslateModule] });
|
|
16
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppSelectPeerModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [SharedModule, TranslateModule.forChild(), AppTextPopoverModule, TranslateModule] });
|
|
21
17
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppSelectPeerModule, decorators: [{
|
|
23
19
|
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
imports: [
|
|
26
|
-
SharedModule,
|
|
27
|
-
HttpClientModule,
|
|
28
|
-
TranslateModule.forChild(),
|
|
29
|
-
AppTextPopoverModule
|
|
30
|
-
],
|
|
31
|
-
declarations: [
|
|
20
|
+
args: [{ declarations: [
|
|
32
21
|
// Network
|
|
33
|
-
SelectPeerModal
|
|
22
|
+
SelectPeerModal,
|
|
34
23
|
],
|
|
35
24
|
exports: [
|
|
36
25
|
TranslateModule,
|
|
37
26
|
// Components
|
|
38
|
-
SelectPeerModal
|
|
39
|
-
]
|
|
40
|
-
}]
|
|
27
|
+
SelectPeerModal,
|
|
28
|
+
], imports: [SharedModule, TranslateModule.forChild(), AppTextPopoverModule], providers: [provideHttpClient(withInterceptorsFromDi())] }]
|
|
41
29
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBlZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3BlZXIvc2VsZWN0LXBlZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQVdoRixNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQjtZQVJ4QixVQUFVO1lBQ1YsZUFBZSxhQU1OLFlBQVksc0JBQThCLG9CQUFvQixhQUh2RSxlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7d0dBRVYsbUJBQW1CLGFBRDZELENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLFlBQXpILFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLEVBSHZFLGVBQWU7OzJGQUlWLG1CQUFtQjtrQkFUL0IsUUFBUTttQkFBQyxFQUFFLFlBQVksRUFBRTt3QkFDbEIsVUFBVTt3QkFDVixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7cUJBQ2xCLEVBQUUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzRnJvbURpIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2VsZWN0UGVlck1vZGFsIH0gZnJvbSAnLi9zZWxlY3QtcGVlci5tb2RhbCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFwcFRleHRQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS90ZXh0LXBvcG92ZXIvdGV4dC1wb3BvdmVyLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7IGRlY2xhcmF0aW9uczogW1xuICAgICAgICAvLyBOZXR3b3JrXG4gICAgICAgIFNlbGVjdFBlZXJNb2RhbCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICAvLyBDb21wb25lbnRzXG4gICAgICAgIFNlbGVjdFBlZXJNb2RhbCxcbiAgICBdLCBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSwgQXBwVGV4dFBvcG92ZXJNb2R1bGVdLCBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpXSB9KVxuZXhwb3J0IGNsYXNzIEFwcFNlbGVjdFBlZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { getRandomImageWithCredit } from '../home/home';
|
|
3
|
+
import { CORE_CONFIG_OPTIONS } from '../services/config/core.config';
|
|
4
|
+
import { isNotEmptyArray } from '../../shared/functions';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "../services/platform.service";
|
|
5
7
|
import * as i2 from "../services/account.service";
|
|
@@ -28,16 +30,16 @@ export class RegisterConfirmPage {
|
|
|
28
30
|
this.platform.ready().then(() => {
|
|
29
31
|
this.isLogin = accountService.isLogin();
|
|
30
32
|
// Subscriptions
|
|
31
|
-
this.subscriptions.push(this.accountService.onLogin.subscribe(_ => this.isLogin = true));
|
|
32
|
-
this.subscriptions.push(this.accountService.onLogout.subscribe(() => this.isLogin = false));
|
|
33
|
-
this.subscriptions.push(this.activatedRoute.paramMap.subscribe(params => this.doConfirm(params.get('email'), params.get('code'))));
|
|
34
|
-
this.configService.config.subscribe(config => {
|
|
35
|
-
if (config
|
|
36
|
-
const
|
|
37
|
-
this.contentStyle = { 'background-image': `url(${
|
|
33
|
+
this.subscriptions.push(this.accountService.onLogin.subscribe((_) => (this.isLogin = true)));
|
|
34
|
+
this.subscriptions.push(this.accountService.onLogout.subscribe(() => (this.isLogin = false)));
|
|
35
|
+
this.subscriptions.push(this.activatedRoute.paramMap.subscribe((params) => this.doConfirm(params.get('email'), params.get('code'))));
|
|
36
|
+
this.configService.config.subscribe((config) => {
|
|
37
|
+
if (isNotEmptyArray(config?.backgroundImages)) {
|
|
38
|
+
const { image } = getRandomImageWithCredit(config.backgroundImages);
|
|
39
|
+
this.contentStyle = { 'background-image': `url(${image})` };
|
|
38
40
|
}
|
|
39
41
|
else {
|
|
40
|
-
const primaryColor = config.
|
|
42
|
+
const primaryColor = config.getProperty(CORE_CONFIG_OPTIONS.COLOR_PRIMARY) || 'var(--ion-color-primary)';
|
|
41
43
|
this.contentStyle = { 'background-color': primaryColor };
|
|
42
44
|
}
|
|
43
45
|
this.loading = false;
|
|
@@ -45,7 +47,7 @@ export class RegisterConfirmPage {
|
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
ngOnDestroy() {
|
|
48
|
-
this.subscriptions.forEach(s => s.unsubscribe());
|
|
50
|
+
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
49
51
|
this.subscriptions = [];
|
|
50
52
|
}
|
|
51
53
|
async doConfirm(email, code) {
|
|
@@ -74,15 +76,15 @@ export class RegisterConfirmPage {
|
|
|
74
76
|
//this.location.replaceState("/confirm/" + email + "/");
|
|
75
77
|
}
|
|
76
78
|
catch (err) {
|
|
77
|
-
this.error = err && err.message || err;
|
|
79
|
+
this.error = (err && err.message) || err;
|
|
78
80
|
this.loading = false;
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
82
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RegisterConfirmPage, deps: [{ token: i1.PlatformService }, { token: i2.AccountService }, { token: i3.ActivatedRoute }, { token: i4.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RegisterConfirmPage, selector: "app-register-confirm-page", ngImport: i0, template: "<app-toolbar [title]=\"'REGISTER.CONFIRMED.TITLE' | translate\" color=\"primary\"></app-toolbar>\n\n<ion-content class=\"bg-image-cover center ion-padding\" [ngStyle]=\"contentStyle\">\n <p class=\"hidden-xs ion-padding\">\n \n <br />\n <br />\n </p>\n <p class=\"hidden-xs\"> </p>\n\n <ion-card>\n <ion-card-content>\n <div>\n <ng-container *ngIf=\"loading\">\n <h4 translate>REGISTER.CONFIRMED.LOADING</h4>\n <p><ion-spinner></ion-spinner></p>\n </ng-container>\n\n <!-- error -->\n <ion-item *ngIf=\"!loading && error\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error ion-text-wrap\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </div>\n\n <div *ngIf=\"!loading && !error\">\n <h3>\n <ion-icon name=\"checkmark\"></ion-icon>\n <b translate>REGISTER.CONFIRMED.SUB_TITLE</b>\n </h3>\n\n <ion-text>\n <p [innerHTML]=\"'REGISTER.CONFIRMED.SUCCESS' | translate: { email: email }\"></p>\n <p *ngIf=\"!isLogin\" [innerHTML]=\"'REGISTER.CONFIRMED.LOGIN_HELP' | translate\"></p>\n </ion-text>\n </div>\n </ion-card-content>\n\n <ion-footer *ngIf=\"!loading\">\n <ion-button expand=\"full\" color=\"primary\" [routerLink]=\"['/account']\" *ngIf=\"!isLogin\">\n <ion-icon name=\"log-in\" slot=\"start\"></ion-icon>\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n <ion-button expand=\"full\" color=\"secondary\" [routerLink]=\"['/account']\" *ngIf=\"isLogin\">\n <ion-icon name=\"contact\" slot=\"start\"></ion-icon>\n <span translate>HOME.BTN_MY_ACCOUNT</span>\n </ion-button>\n </ion-footer>\n </ion-card>\n</ion-content>\n", styles: [".center,ion-text,ion-card img,ion-card,ion-content{text-align:center;display:inline-block}ion-content{--ion-background-color: transparent;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;display:inline-block;padding:15px}ion-card{padding:var(--ion-padding);background-color:var(--ion-card-background-color);min-width:240px;max-width:400px;z-index:9}ion-card button{margin-top:16px}ion-card img{max-width:250px}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:auto;max-width:260px}ion-content ion-card ion-footer ion-button{margin-top:8px}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i6.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i6.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i6.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i6.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i6.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i6.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i6.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i6.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i6.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.ToolbarComponent, selector: "app-toolbar", inputs: ["progressBarMode", "title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
83
85
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RegisterConfirmPage, decorators: [{
|
|
85
87
|
type: Component,
|
|
86
|
-
args: [{ selector: 'app-register-confirm-page', template: "<app-toolbar [title]=\"'REGISTER.CONFIRMED.TITLE'|translate\" color=\"primary\"
|
|
88
|
+
args: [{ selector: 'app-register-confirm-page', template: "<app-toolbar [title]=\"'REGISTER.CONFIRMED.TITLE' | translate\" color=\"primary\"></app-toolbar>\n\n<ion-content class=\"bg-image-cover center ion-padding\" [ngStyle]=\"contentStyle\">\n <p class=\"hidden-xs ion-padding\">\n \n <br />\n <br />\n </p>\n <p class=\"hidden-xs\"> </p>\n\n <ion-card>\n <ion-card-content>\n <div>\n <ng-container *ngIf=\"loading\">\n <h4 translate>REGISTER.CONFIRMED.LOADING</h4>\n <p><ion-spinner></ion-spinner></p>\n </ng-container>\n\n <!-- error -->\n <ion-item *ngIf=\"!loading && error\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error ion-text-wrap\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </div>\n\n <div *ngIf=\"!loading && !error\">\n <h3>\n <ion-icon name=\"checkmark\"></ion-icon>\n <b translate>REGISTER.CONFIRMED.SUB_TITLE</b>\n </h3>\n\n <ion-text>\n <p [innerHTML]=\"'REGISTER.CONFIRMED.SUCCESS' | translate: { email: email }\"></p>\n <p *ngIf=\"!isLogin\" [innerHTML]=\"'REGISTER.CONFIRMED.LOGIN_HELP' | translate\"></p>\n </ion-text>\n </div>\n </ion-card-content>\n\n <ion-footer *ngIf=\"!loading\">\n <ion-button expand=\"full\" color=\"primary\" [routerLink]=\"['/account']\" *ngIf=\"!isLogin\">\n <ion-icon name=\"log-in\" slot=\"start\"></ion-icon>\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n <ion-button expand=\"full\" color=\"secondary\" [routerLink]=\"['/account']\" *ngIf=\"isLogin\">\n <ion-icon name=\"contact\" slot=\"start\"></ion-icon>\n <span translate>HOME.BTN_MY_ACCOUNT</span>\n </ion-button>\n </ion-footer>\n </ion-card>\n</ion-content>\n", styles: [".center,ion-text,ion-card img,ion-card,ion-content{text-align:center;display:inline-block}ion-content{--ion-background-color: transparent;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;display:inline-block;padding:15px}ion-card{padding:var(--ion-padding);background-color:var(--ion-card-background-color);min-width:240px;max-width:400px;z-index:9}ion-card button{margin-top:16px}ion-card img{max-width:250px}@media screen and (max-width: 575px){ion-content ion-card{min-width:160px;width:auto;max-width:260px}ion-content ion-card ion-footer ion-button{margin-top:8px}}\n"] }]
|
|
87
89
|
}], ctorParameters: () => [{ type: i1.PlatformService }, { type: i2.AccountService }, { type: i3.ActivatedRoute }, { type: i4.ConfigService }] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItY29uZmlybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3JlZ2lzdGVyL3JlZ2lzdGVyLWNvbmZpcm0ucGFnZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci1jb25maXJtLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBSW5ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFTNUMsTUFBTSxPQUFPLG1CQUFtQjtJQVdwQjtJQUNBO0lBQ0E7SUFDQTtJQVpWLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRW5DLE9BQU8sQ0FBVTtJQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFTO0lBQ2QsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUVsQixZQUNVLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGFBQTRCO1FBSDVCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXhDLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUks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R0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFFSCxDQUFDO3VHQS9FVSxtQkFBbUI7MkZBQW5CLG1CQUFtQixpRUNiaEMsdXpEQXVEQTs7MkZEMUNhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FjY291bnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtnZXRSYW5kb21JbWFnZX0gZnJvbSAnLi4vaG9tZS9ob21lJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtQbGF0Zm9ybVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVnaXN0ZXItY29uZmlybS1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICdyZWdpc3Rlci1jb25maXJtLnBhZ2UuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLWNvbmZpcm0ucGFnZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb25maXJtUGFnZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBpc0xvZ2luOiBib29sZWFuO1xuICBsb2FkaW5nID0gdHJ1ZTtcbiAgZXJyb3I6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgY29udGVudFN0eWxlID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xuXG4gICAgdGhpcy5wbGF0Zm9ybS5yZWFkeSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5pc0xvZ2luID0gYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpO1xuXG4gICAgICAvLyBTdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKF8gPT4gdGhpcy5pc0xvZ2luID0gdHJ1ZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5hY2NvdW50U2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pc0xvZ2luID0gZmFsc2UpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PlxuICAgICAgICB0aGlzLmRvQ29uZmlybShwYXJhbXMuZ2V0KCdlbWFpbCcpLCBwYXJhbXMuZ2V0KCdjb2RlJykpXG4gICAgICApKTtcblxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5zdWJzY3JpYmUoY29uZmlnID0+IHtcblxuICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2VzICYmIGNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2VzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGJnSW1hZ2UgPSBnZXRSYW5kb21JbWFnZShjb25maWcuYmFja2dyb3VuZEltYWdlcyk7XG4gICAgICAgICAgdGhpcy5jb250ZW50U3R5bGUgPSB7J2JhY2tncm91bmQtaW1hZ2UnOiBgdXJsKCR7YmdJbWFnZX0pYH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcHJpbWFyeUNvbG9yID0gY29uZmlnLnByb3BlcnRpZXMgJiYgY29uZmlnLnByb3BlcnRpZXNbJ3N1bWFyaXMuY29sb3IucHJpbWFyeSddIHx8ICcjMTQ0MzkxJztcbiAgICAgICAgICB0aGlzLmNvbnRlbnRTdHlsZSA9IHsnYmFja2dyb3VuZC1jb2xvcic6IHByaW1hcnlDb2xvcn07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgYXN5bmMgZG9Db25maXJtKGVtYWlsOiBzdHJpbmcsIGNvZGU6IHN0cmluZykge1xuICAgIHRoaXMuZW1haWwgPSBlbWFpbDtcblxuICAgIGlmICghY29kZSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmVycm9yID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5hY2NvdW50U2VydmljZS5pc0xvZ2luKCkpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudCA9IHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudDtcbiAgICAgICAgY29uc3QgZW1haWxBY2NvdW50ID0gYWNjb3VudCAmJiBhY2NvdW50LmVtYWlsO1xuICAgICAgICBpZiAoZW1haWwgIT09IGVtYWlsQWNjb3VudCkge1xuICAgICAgICAgIC8vIE5vdCBzYW1lIGVtYWlsID0+IGxvZ291dCwgdGhlbiByZXRyeVxuICAgICAgICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9Db25maXJtKGVtYWlsLCBjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTZW5kIHRoZSBjb25maXJtYXRpb24gY29kZVxuICAgICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5jb25maXJtRW1haWwoZW1haWwsIGNvZGUpO1xuICAgICAgaWYgKGNvbmZpcm1lZCAmJiB0aGlzLmlzTG9naW4pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgLy90aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShcIi9jb25maXJtL1wiICsgZW1haWwgKyBcIi9cIik7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSBlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gIH1cbn1cbiIsIjxhcHAtdG9vbGJhciBbdGl0bGVdPVwiJ1JFR0lTVEVSLkNPTkZJUk1FRC5USVRMRSd8dHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCI+XG48L2FwcC10b29sYmFyPlxuXG5cbjxpb24tY29udGVudCBjbGFzcz1cImJnLWltYWdlLWNvdmVyIGNlbnRlciBpb24tcGFkZGluZ1wiIFtuZ1N0eWxlXT1cImNvbnRlbnRTdHlsZVwiPlxuXG4gIDxwIGNsYXNzPVwiaGlkZGVuLXhzIGlvbi1wYWRkaW5nXCI+Jm5ic3A7PGJyIC8+PGJyIC8+PC9wPlxuICA8cCBjbGFzcz1cImhpZGRlbi14c1wiPiZuYnNwOzwvcD5cblxuXG4gIDxpb24tY2FyZD5cbiAgICA8aW9uLWNhcmQtY29udGVudD5cblxuICAgICAgPGRpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8aDQgdHJhbnNsYXRlPlJFR0lTVEVSLkNPTkZJUk1FRC5MT0FESU5HPC9oND5cbiAgICAgICAgICA8cD48aW9uLXNwaW5uZXI+PC9pb24tc3Bpbm5lcj48L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gZXJyb3IgLS0+XG4gICAgICAgIDxpb24taXRlbSAqbmdJZj1cIiFsb2FkaW5nICYmIGVycm9yXCI+XG4gICAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3IgaW9uLXRleHQtd3JhcFwiIFtpbm5lckhUTUxdPVwiZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFlcnJvclwiPlxuICAgICAgICA8aDM+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmtcIj48L2lvbi1pY29uPlxuICAgICAgICAgIDxiIHRyYW5zbGF0ZT5SRUdJU1RFUi5DT05GSVJNRUQuU1VCX1RJVExFPC9iPlxuICAgICAgICA8L2gzPlxuXG4gICAgICAgIDxpb24tdGV4dD5cbiAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIidSRUdJU1RFUi5DT05GSVJNRUQuU1VDQ0VTUyd8dHJhbnNsYXRlOiB7ZW1haWw6IGVtYWlsfVwiPjwvcD5cbiAgICAgICAgICA8cCAqbmdJZj1cIiFpc0xvZ2luXCIgW2lubmVySFRNTF09XCInUkVHSVNURVIuQ09ORklSTUVELkxPR0lOX0hFTFAnfHRyYW5zbGF0ZVwiPjwvcD5cbiAgICAgICAgPC9pb24tdGV4dD5cblxuICAgICAgPC9kaXY+XG5cbiAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG5cbiAgICA8aW9uLWZvb3RlciAqbmdJZj1cIiFsb2FkaW5nXCI+XG4gICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJmdWxsXCIgY29sb3I9XCJwcmltYXJ5XCIgW3JvdXRlckxpbmtdPVwiWycvYWNjb3VudCddXCIgKm5nSWY9XCIhaXNMb2dpblwiPlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImxvZy1pblwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5BVVRILkJUTl9MT0dJTjwvc3Bhbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiZnVsbFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgW3JvdXRlckxpbmtdPVwiWycvYWNjb3VudCddXCIgKm5nSWY9XCJpc0xvZ2luXCI+XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwiY29udGFjdFwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XG4gICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5IT01FLkJUTl9NWV9BQ0NPVU5UPC9zcGFuPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWZvb3Rlcj5cbiAgPC9pb24tY2FyZD5cblxuPC9pb24tY29udGVudD5cbiJdfQ==
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItY29uZmlybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3JlZ2lzdGVyL3JlZ2lzdGVyLWNvbmZpcm0ucGFnZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci1jb25maXJtLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBSXJELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLG1CQUFtQjtJQVVwQjtJQUNBO0lBQ0E7SUFDQTtJQVpWLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRW5DLE9BQU8sQ0FBVTtJQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFTO0lBQ2QsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUVsQixZQUNVLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGFBQTRCO1FBSDVCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXhDLGdCQUFnQjtZQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUks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QUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLHdEQUF3RDtRQUMxRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt1R0F6RVUsbUJBQW1COzJGQUFuQixtQkFBbUIsaUVDZmhDLHUwREFtREE7OzJGRHBDYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0UmFuZG9tSW1hZ2VXaXRoQ3JlZGl0IH0gZnJvbSAnLi4vaG9tZS9ob21lJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IENPUkVfQ09ORklHX09QVElPTlMgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcvY29yZS5jb25maWcnO1xuaW1wb3J0IHsgaXNOb3RFbXB0eUFycmF5IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1jb25maXJtLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJ3JlZ2lzdGVyLWNvbmZpcm0ucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVnaXN0ZXItY29uZmlybS5wYWdlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJDb25maXJtUGFnZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgaXNMb2dpbjogYm9vbGVhbjtcbiAgbG9hZGluZyA9IHRydWU7XG4gIGVycm9yOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvbnRlbnRTdHlsZSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSxcbiAgICBwcml2YXRlIGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5wbGF0Zm9ybS5yZWFkeSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5pc0xvZ2luID0gYWNjb3VudFNlcnZpY2UuaXNMb2dpbigpO1xuXG4gICAgICAvLyBTdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKChfKSA9PiAodGhpcy5pc0xvZ2luID0gdHJ1ZSkpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYWNjb3VudFNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCgpID0+ICh0aGlzLmlzTG9naW4gPSBmYWxzZSkpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1NYXAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHRoaXMuZG9Db25maXJtKHBhcmFtcy5nZXQoJ2VtYWlsJyksIHBhcmFtcy5nZXQoJ2NvZGUnKSkpKTtcblxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICBpZiAoaXNOb3RFbXB0eUFycmF5KGNvbmZpZz8uYmFja2dyb3VuZEltYWdlcykpIHtcbiAgICAgICAgICBjb25zdCB7IGltYWdlIH0gPSBnZXRSYW5kb21JbWFnZVdpdGhDcmVkaXQoY29uZmlnLmJhY2tncm91bmRJbWFnZXMpO1xuICAgICAgICAgIHRoaXMuY29udGVudFN0eWxlID0geyAnYmFja2dyb3VuZC1pbWFnZSc6IGB1cmwoJHtpbWFnZX0pYCB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHByaW1hcnlDb2xvciA9IGNvbmZpZy5nZXRQcm9wZXJ0eShDT1JFX0NPTkZJR19PUFRJT05TLkNPTE9SX1BSSU1BUlkpIHx8ICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICAgICAgICAgIHRoaXMuY29udGVudFN0eWxlID0geyAnYmFja2dyb3VuZC1jb2xvcic6IHByaW1hcnlDb2xvciB9O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgYXN5bmMgZG9Db25maXJtKGVtYWlsOiBzdHJpbmcsIGNvZGU6IHN0cmluZykge1xuICAgIHRoaXMuZW1haWwgPSBlbWFpbDtcblxuICAgIGlmICghY29kZSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmVycm9yID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5hY2NvdW50U2VydmljZS5pc0xvZ2luKCkpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudCA9IHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudDtcbiAgICAgICAgY29uc3QgZW1haWxBY2NvdW50ID0gYWNjb3VudCAmJiBhY2NvdW50LmVtYWlsO1xuICAgICAgICBpZiAoZW1haWwgIT09IGVtYWlsQWNjb3VudCkge1xuICAgICAgICAgIC8vIE5vdCBzYW1lIGVtYWlsID0+IGxvZ291dCwgdGhlbiByZXRyeVxuICAgICAgICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9Db25maXJtKGVtYWlsLCBjb2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTZW5kIHRoZSBjb25maXJtYXRpb24gY29kZVxuICAgICAgY29uc3QgY29uZmlybWVkID0gYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5jb25maXJtRW1haWwoZW1haWwsIGNvZGUpO1xuICAgICAgaWYgKGNvbmZpcm1lZCAmJiB0aGlzLmlzTG9naW4pIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgLy90aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShcIi9jb25maXJtL1wiICsgZW1haWwgKyBcIi9cIik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8YXBwLXRvb2xiYXIgW3RpdGxlXT1cIidSRUdJU1RFUi5DT05GSVJNRUQuVElUTEUnIHwgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9hcHAtdG9vbGJhcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiYmctaW1hZ2UtY292ZXIgY2VudGVyIGlvbi1wYWRkaW5nXCIgW25nU3R5bGVdPVwiY29udGVudFN0eWxlXCI+XG4gIDxwIGNsYXNzPVwiaGlkZGVuLXhzIGlvbi1wYWRkaW5nXCI+XG4gICAgJm5ic3A7XG4gICAgPGJyIC8+XG4gICAgPGJyIC8+XG4gIDwvcD5cbiAgPHAgY2xhc3M9XCJoaWRkZW4teHNcIj4mbmJzcDs8L3A+XG5cbiAgPGlvbi1jYXJkPlxuICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgPGRpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8aDQgdHJhbnNsYXRlPlJFR0lTVEVSLkNPTkZJUk1FRC5MT0FESU5HPC9oND5cbiAgICAgICAgICA8cD48aW9uLXNwaW5uZXI+PC9pb24tc3Bpbm5lcj48L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gZXJyb3IgLS0+XG4gICAgICAgIDxpb24taXRlbSAqbmdJZj1cIiFsb2FkaW5nICYmIGVycm9yXCI+XG4gICAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3IgaW9uLXRleHQtd3JhcFwiIFtpbm5lckhUTUxdPVwiZXJyb3IgfCB0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24taXRlbT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIWVycm9yXCI+XG4gICAgICAgIDxoMz5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFya1wiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGIgdHJhbnNsYXRlPlJFR0lTVEVSLkNPTkZJUk1FRC5TVUJfVElUTEU8L2I+XG4gICAgICAgIDwvaDM+XG5cbiAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ1JFR0lTVEVSLkNPTkZJUk1FRC5TVUNDRVNTJyB8IHRyYW5zbGF0ZTogeyBlbWFpbDogZW1haWwgfVwiPjwvcD5cbiAgICAgICAgICA8cCAqbmdJZj1cIiFpc0xvZ2luXCIgW2lubmVySFRNTF09XCInUkVHSVNURVIuQ09ORklSTUVELkxPR0lOX0hFTFAnIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY2FyZC1jb250ZW50PlxuXG4gICAgPGlvbi1mb290ZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiZnVsbFwiIGNvbG9yPVwicHJpbWFyeVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FjY291bnQnXVwiICpuZ0lmPVwiIWlzTG9naW5cIj5cbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctaW5cIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+QVVUSC5CVE5fTE9HSU48L3NwYW4+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImZ1bGxcIiBjb2xvcj1cInNlY29uZGFyeVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FjY291bnQnXVwiICpuZ0lmPVwiaXNMb2dpblwiPlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNvbnRhY3RcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+SE9NRS5CVE5fTVlfQUNDT1VOVDwvc3Bhbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1mb290ZXI+XG4gIDwvaW9uLWNhcmQ+XG48L2lvbi1jb250ZW50PlxuIl19
|