{"version":3,"sources":["../src/component.ts","../src/constants.ts","../src/provider.ts","../src/component_container.ts","../../../src/internal/operators/repeat.ts","sidebar.component.js","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","./node_modules/util/support/isBufferBrowser.js","../../../src/util/util.ts","../../../src/environment.ts","../../../src/ngb-config.ts","../../../src/accordion/accordion-config.ts","../../../src/util/transition/util.ts","../../../src/util/transition/ngbTransition.ts","../../../src/util/transition/ngbCollapseTransition.ts","../../../src/accordion/accordion.ts","../../../src/accordion/accordion.module.ts","../../../src/alert/alert-config.ts","../../../src/alert/alert-transition.ts","../../../src/alert/alert.ts","../../../src/alert/alert.module.ts","../../../src/buttons/label.ts","../../../src/buttons/checkbox.ts","../../../src/buttons/radio.ts","../../../src/buttons/buttons.module.ts","../../../src/carousel/carousel-config.ts","../../../src/carousel/carousel-transition.ts","../../../src/carousel/carousel.ts","../../../src/carousel/carousel.module.ts","../../../src/collapse/collapse-config.ts","../../../src/collapse/collapse.ts","../../../src/collapse/collapse.module.ts","../../../src/datepicker/ngb-date.ts","../../../src/datepicker/ngb-calendar.ts","../../../src/datepicker/datepicker-tools.ts","../../../src/datepicker/datepicker-i18n.ts","../../../src/datepicker/datepicker-service.ts","../../../src/datepicker/datepicker-view-model.ts","../../../src/datepicker/datepicker-config.ts","../../../src/datepicker/adapters/ngb-date-adapter.ts","../../../src/datepicker/datepicker.ts","../../../src/util/key.ts","../../../src/datepicker/datepicker-keyboard-service.ts","../../../src/datepicker/datepicker-month.ts","../../../src/datepicker/datepicker-navigation.ts","../../../src/util/autoclose.ts","../../../src/util/focus-trap.ts","../../../src/util/positioning.ts","../../../src/datepicker/ngb-date-parser-formatter.ts","../../../src/datepicker/datepicker-input-config.ts","../../../src/datepicker/datepicker-input.ts","../../../src/datepicker/datepicker-day-view.ts","../../../src/datepicker/datepicker-navigation-select.ts","../../../src/datepicker/hijri/ngb-calendar-hijri.ts","../../../src/datepicker/hijri/ngb-calendar-islamic-civil.ts","../../../src/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","../../../src/datepicker/jalali/jalali.ts","../../../src/datepicker/jalali/ngb-calendar-persian.ts","../../../src/datepicker/hebrew/hebrew.ts","../../../src/datepicker/hebrew/ngb-calendar-hebrew.ts","../../../src/datepicker/hebrew/datepicker-i18n-hebrew.ts","../../../src/datepicker/adapters/ngb-date-native-adapter.ts","../../../src/datepicker/adapters/ngb-date-native-utc-adapter.ts","../../../src/datepicker/datepicker.module.ts","../../../src/dropdown/dropdown-config.ts","../../../src/dropdown/dropdown.ts","../../../src/dropdown/dropdown.module.ts","../../../src/modal/modal-config.ts","../../../src/util/popup.ts","../../../src/util/scrollbar.ts","../../../src/modal/modal-backdrop.ts","../../../src/modal/modal-ref.ts","../../../src/modal/modal-dismiss-reasons.ts","../../../src/modal/modal-window.ts","../../../src/modal/modal-stack.ts","../../../src/modal/modal.ts","../../../src/modal/modal.module.ts","../../../src/nav/nav-config.ts","../../../src/nav/nav.ts","../../../src/nav/nav-transition.ts","../../../src/nav/nav-outlet.ts","../../../src/nav/nav.module.ts","../../../src/pagination/pagination-config.ts","../../../src/pagination/pagination.ts","../../../src/pagination/pagination.module.ts","../../../src/util/triggers.ts","../../../src/popover/popover-config.ts","../../../src/popover/popover.ts","../../../src/popover/popover.module.ts","../../../src/progressbar/progressbar-config.ts","../../../src/progressbar/progressbar.ts","../../../src/progressbar/progressbar.module.ts","../../../src/rating/rating-config.ts","../../../src/rating/rating.ts","../../../src/rating/rating.module.ts","../../../src/timepicker/ngb-time.ts","../../../src/timepicker/timepicker-config.ts","../../../src/timepicker/ngb-time-adapter.ts","../../../src/timepicker/timepicker-i18n.ts","../../../src/timepicker/timepicker.ts","../../../src/timepicker/timepicker.module.ts","../../../src/toast/toast-config.ts","../../../src/toast/toast-transition.ts","../../../src/toast/toast.ts","../../../src/toast/toast.module.ts","../../../src/tooltip/tooltip-config.ts","../../../src/tooltip/tooltip.ts","../../../src/tooltip/tooltip.module.ts","../../../src/typeahead/highlight.ts","../../../src/typeahead/typeahead-window.ts","../../../src/util/accessibility/live.ts","../../../src/typeahead/typeahead-config.ts","../../../src/typeahead/typeahead.ts","../../../src/typeahead/typeahead.module.ts","../../../src/index.ts","../../../src/ng-bootstrap.ts","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../src/functions.ts","../src/logger.ts","../src/helpers.ts","../src/errors.ts","../src/get-config.ts","../src/initialize-ids.ts","../src/factory.ts","../index.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../src/lib/toastr/toast.directive.ts","../../src/lib/toastr/toastr-config.ts","../../src/lib/portal/portal.ts","../../src/lib/portal/dom-portal-host.ts","../../src/lib/overlay/overlay-container.ts","../../src/lib/overlay/overlay-ref.ts","../../src/lib/overlay/overlay.ts","../../src/lib/toastr/toast-injector.ts","../../src/lib/toastr/toastr.service.ts","../../src/lib/toastr/toast.component.ts","../../src/lib/toastr/toastr.module.ts","../../src/lib/toastr/toast-noanimation.component.ts","../../src/lib/ngx-toastr.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../../../../src/cdk/coercion/boolean-property.ts","../../../../../../src/cdk/coercion/number-property.ts","../../../../../../src/cdk/coercion/array.ts","../../../../../../src/cdk/coercion/css-pixel-value.ts","../../../../../../src/cdk/coercion/element.ts","../../../../../../src/cdk/coercion/public-api.ts","../../../../../../src/cdk/coercion/index.ts","../../../src/internal/util/canReportError.ts","../src/angular2TextMask.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","./node_modules/text-mask-core/dist/textMaskCore.js","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","../../../../../../packages/service-worker/src/low_level.ts","../../../../../../packages/service-worker/src/push.ts","../../../../../../packages/service-worker/src/update.ts","../../../../../../packages/service-worker/src/module.ts","../../../../../../packages/service-worker/src/index.ts","../../../../../../packages/service-worker/public_api.ts","../../../../../../packages/service-worker/index.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.enum.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.service.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.component.ts","../../../projects/ngx-spinner/src/lib/safe-html.pipe.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.module.ts","../../../projects/ngx-spinner/src/public_api.ts","../../../src/internal/operators/findIndex.ts","./node_modules/util/node_modules/inherits/inherits_browser.js","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../../../../packages/common/locales/es-MX.ts","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","sidebar.module.js","../../../src/internal/scheduled/scheduleIterable.ts","./node_modules/util/util.js","../../../src/internal/operators/retryWhen.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/defer.ts","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","./node_modules/ngx-markdown/node_modules/marked/lib/marked.js","../../../src/internal/operators/bufferTime.ts","./node_modules/sweetalert2/dist/sweetalert2.all.js","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/util/isInteropObservable.ts","../../projects/ngx-sweetalert2/src/lib/di.ts","../../projects/ngx-sweetalert2/src/lib/sweetalert2-loader.service.ts","../../projects/ngx-sweetalert2/src/lib/swal.component.ts","../../projects/ngx-sweetalert2/src/lib/swal.directive.ts","../../projects/ngx-sweetalert2/src/lib/swal-portal-targets.service.ts","../../projects/ngx-sweetalert2/src/lib/swal-portal.component.ts","../../projects/ngx-sweetalert2/src/lib/swal-portal.directive.ts","../../projects/ngx-sweetalert2/src/lib/sweetalert2.module.ts","../../../projects/ngx-sweetalert2/src/sweetalert2-ngx-sweetalert2.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","../../../../../../packages/animations/src/animation_builder.ts","../../../../../../packages/animations/src/animation_metadata.ts","../../../../../../packages/animations/src/util.ts","../../../../../../packages/animations/src/players/animation_player.ts","../../../../../../packages/animations/src/players/animation_group_player.ts","../../../../../../packages/animations/src/private_export.ts","../../../../../../packages/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","./node_modules/@splidejs/splide/dist/js/splide.esm.js","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","close.directive.js","../../../../../../src/cdk/clipboard/pending-copy.ts","../../../../../../src/cdk/clipboard/clipboard.ts","../../../../../../src/cdk/clipboard/copy-to-clipboard.ts","../../../../../../src/cdk/clipboard/clipboard-module.ts","../../../../../../src/cdk/clipboard/public-api.ts","../../../../../../src/cdk/clipboard/index.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","../../../src/auth/base.ts","../../../src/auth/auth.ts","../../../src/auth/auth.module.ts","../../../src/auth/angular-fire-auth.ts","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","./node_modules/@firebase/analytics/node_modules/tslib/tslib.es6.js","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/lib/utils/layout-validator.ts","../../../src/lib/flex/layout/layout.ts","../../../src/lib/flex/layout-gap/layout-gap.ts","../../../src/lib/utils/object-extend.ts","../../../src/lib/flex/flex/flex.ts","../../../src/lib/flex/flex-order/flex-order.ts","../../../src/lib/flex/flex-offset/flex-offset.ts","../../../src/lib/flex/flex-align/flex-align.ts","../../../src/lib/flex/flex-fill/flex-fill.ts","../../../src/lib/flex/layout-align/layout-align.ts","../../../src/lib/flex/module.ts","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../src/internal/Scheduler.ts","./node_modules/ng-sidebar/__ivy_ngcc__/lib/utils.js","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../src/lib/version.ts","../../src/lib/module.ts","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/ng-select/lib/value-utils.ts","../../../src/ng-select/lib/ng-templates.directive.ts","../../../src/ng-select/lib/console.service.ts","../../../src/ng-select/lib/id.ts","../../../src/ng-select/lib/search-helper.ts","../../../src/ng-select/lib/items-list.ts","../../../src/ng-select/lib/ng-select.types.ts","../../../src/ng-select/lib/ng-dropdown-panel.service.ts","../../../src/ng-select/lib/ng-dropdown-panel.component.ts","../../../src/ng-select/lib/ng-option.component.ts","../../../src/ng-select/lib/config.service.ts","../../../src/ng-select/lib/ng-select.component.ts","../../../src/ng-select/lib/selection-model.ts","../../../src/ng-select/lib/ng-select.module.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../../../../src/cdk/bidi/dir-document-token.ts","../../../../../../src/cdk/bidi/directionality.ts","../../../../../../src/cdk/bidi/dir.ts","../../../../../../src/cdk/bidi/bidi-module.ts","../../../../../../src/cdk/bidi/public-api.ts","../../../../../../src/cdk/bidi/index.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/combineLatest.ts","../src/util/constants.ts","../src/util/errors.ts","../src/api/common.ts","../src/api/create-installation-request.ts","../src/util/sleep.ts","../src/helpers/buffer-to-base64-url-safe.ts","../src/helpers/generate-fid.ts","../src/util/get-key.ts","../src/helpers/fid-changed.ts","../src/helpers/idb-manager.ts","../src/helpers/get-installation-entry.ts","../src/api/generate-auth-token-request.ts","../src/helpers/refresh-auth-token.ts","../src/functions/get-id.ts","../src/functions/get-token.ts","../src/api/delete-installation-request.ts","../src/functions/delete-installation.ts","../src/functions/on-id-change.ts","../src/helpers/extract-app-config.ts","../src/index.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","../../../src/analytics/base.ts","../../../src/analytics/analytics.ts","../../../src/analytics/user-tracking.service.ts","../../../src/analytics/screen-tracking.service.ts","../../../src/analytics/analytics.module.ts","../../../src/analytics/angular-fire-analytics.ts","./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../src/internal/observable/pairs.ts","index.js","sidebar-container.component.js","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../projects/ngx-sharebuttons/src/lib/share.models.ts","../../../projects/ngx-sharebuttons/src/lib/utils.ts","../../../projects/ngx-sharebuttons/src/lib/share.defaults.ts","../../../projects/ngx-sharebuttons/src/lib/share.service.ts","../../../projects/ngx-sharebuttons/src/lib/share-button.directive.ts","../../../projects/ngx-sharebuttons/src/lib/share.module.ts","../../../projects/ngx-sharebuttons/src/ngx-sharebuttons.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/src/platform-browser.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../src/internal/ReplaySubject.ts","(webpack)/buildin/harmony-module.js","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","../../../lib/src/katex-options.ts","../../../lib/src/language.pipe.ts","../../../lib/src/marked-options.ts","../../../lib/src/markdown.service.ts","../../../lib/src/prism-plugin.ts","../../../lib/src/markdown.component.ts","../../../lib/src/markdown.pipe.ts","../../../lib/src/markdown.module.ts","../../../lib/ngx-markdown.ts","./node_modules/text-mask-addons/dist/createNumberMask.js","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","../../../src/internal/util/isFunction.ts","../../../../../../src/cdk/platform/platform.ts","../../../../../../src/cdk/platform/platform-module.ts","../../../../../../src/cdk/platform/features/input-types.ts","../../../../../../src/cdk/platform/features/passive-listeners.ts","../../../../../../src/cdk/platform/features/scrolling.ts","../../../../../../src/cdk/platform/features/shadow-dom.ts","../../../../../../src/cdk/platform/public-api.ts","../../../../../../src/cdk/platform/index.ts","../../../src/internal/operators/finalize.ts","./node_modules/idb/build/idb.js","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/operators/multicast.ts","ngx-pagination.js","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../src/internal/operators/buffer.ts","../../../src/lib/core/browser-provider.ts","../../../src/lib/core/module.ts","../../../src/lib/core/media-change.ts","../../../src/lib/core/stylesheet-map/stylesheet-map.ts","../../../src/lib/core/tokens/library-config.ts","../../../src/lib/core/tokens/server-token.ts","../../../src/lib/core/tokens/breakpoint-token.ts","../../../src/lib/core/add-alias.ts","../../../src/lib/core/base/base2.ts","../../../src/lib/core/breakpoints/data/break-points.ts","../../../src/lib/core/breakpoints/data/orientation-break-points.ts","../../../src/lib/core/breakpoints/breakpoint-tools.ts","../../../src/lib/core/breakpoints/break-points-token.ts","../../../src/lib/core/utils/sort.ts","../../../src/lib/core/breakpoints/break-point-registry.ts","../../../src/lib/core/match-media/match-media.ts","../../../src/lib/core/match-media/mock/mock-match-media.ts","../../../src/lib/core/media-marshaller/print-hook.ts","../../../src/lib/core/utils/array.ts","../../../src/lib/core/media-observer/media-observer.ts","../../../src/lib/core/media-trigger/media-trigger.ts","../../../src/lib/utils/auto-prefixer.ts","../../../src/lib/core/style-utils/style-utils.ts","../../../src/lib/core/style-builder/style-builder.ts","../../../src/lib/core/basis-validator/basis-validator.ts","../../../src/lib/core/media-marshaller/media-marshaller.ts","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/assert.ts","../src/crypt.ts","../src/deepCopy.ts","../src/deferred.ts","../src/emulator.ts","../src/environment.ts","../src/json.ts","../src/jwt.ts","../src/obj.ts","../src/query.ts","../src/sha1.ts","../src/subscribe.ts","../src/validation.ts","../src/utf8.ts","../src/exponential_backoff.ts","../src/formatters.ts","../src/compat.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/core/angularfire2.ts","../../../src/core/firebase.app.module.ts","../../../src/core/angular-fire.ts","../../../src/internal/operators/timeoutWith.ts","../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../packages/animations/browser/src/render/animation_driver.ts","../../../../../../packages/animations/browser/src/util.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_expr.ts","../../../../../../packages/animations/browser/src/dsl/animation_ast_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_instruction.ts","../../../../../../packages/animations/browser/src/dsl/element_instruction_map.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/web_animations_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_instruction.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_factory.ts","../../../../../../packages/animations/browser/src/dsl/animation_trigger.ts","../../../../../../packages/animations/browser/src/render/timeline_animation_engine.ts","../../../../../../packages/animations/browser/src/render/transition_animation_engine.ts","../../../../../../packages/animations/browser/src/render/animation_engine_next.ts","../../../../../../packages/animations/browser/src/render/special_cased_styles.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/element_animation_style_handler.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/direct_style_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_driver.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_player.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_driver.ts","../../../../../../packages/animations/browser/src/private_export.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/subscribeOn.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../src/internal/operators/audit.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/private_export.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","./node_modules/hammerjs/hammer.js","../../../src/internal/operators/throttle.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../src/platformLoggerService.ts","../src/registerCoreComponents.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/lib/extended/img-src/img-src.ts","../../../src/lib/extended/class/class.ts","../../../src/lib/extended/show-hide/show-hide.ts","../../../src/lib/extended/style/style-transforms.ts","../../../src/lib/extended/style/style.ts","../../../src/lib/extended/module.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/lib/grid/grid-align/grid-align.ts","../../../src/lib/grid/align-columns/align-columns.ts","../../../src/lib/grid/align-rows/align-rows.ts","../../../src/lib/grid/area/area.ts","../../../src/lib/grid/areas/areas.ts","../../../src/lib/grid/auto/auto.ts","../../../src/lib/grid/column/column.ts","../../../src/lib/grid/columns/columns.ts","../../../src/lib/grid/gap/gap.ts","../../../src/lib/grid/row/row.ts","../../../src/lib/grid/rows/rows.ts","../../../src/lib/grid/module.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["module","exports","isBuffer","arg","copy","fill","readUInt8","nextId","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","TagContentType","splitNsName","elementName","colonIndex","indexOf","Error","slice","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","length","forEach","name","toLowerCase","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","i","attrName","attrValue","result","push","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","undefined","createAttribute","attributeName","createContentChildren","data","Object","assign","first","isViewQuery","descendants","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","args","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalent","len","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","e","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","MessagePiece","text","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","expressions","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","_c","_d","partIndex","placeholderName","messagePart","escapeSlashes","str","replace","escapeStartingColon","escapeColons","escapeForMessagePart","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","arguments","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","cb","all","syncAsyncValues","some","Promise","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","fromCharCode","stringify","overriddenName","toString","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","size","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","template","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","resolveWindow","resolveDocument","resolveBody","defineComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","queryRefresh","viewQuery","staticViewQuery","staticContentQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","ngJitMode","jitFlagNotDefined","jitFlagUndefinedOrTrue","wrapReference","wrapped","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","file","offset","line","col","delta","source","content","ch","priorLine","lastIndexOf","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","start","end","fullStart","details","ParseErrorLevel","ParseError","span","level","ERROR","getContext","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","sourceUrl","Text","visitText","BoundText","visitBoundText","TextAttribute","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","visitBoundAttribute","BoundEvent","handler","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","sources","startLine","startCol","endLine","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","stringToWords32","Endian","Big","w","b","d","h0","h1","h2","h3","h4","j","rol32","fkVal","fk","temp","add32","byteStringToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","byteStringToDecString","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","carry","l","h","count","num","endian","byteAt","word","word32ToByteString","hex","decimal","toThePower","addBigInt","numberTimesBigInt","reverse","x","y","sum","Math","max","tmpSum","product","bToThePower","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","version","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","test","pop","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","noop","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","VERSION","JS_B64_PREFIX","SourceMapGenerator","sourcesContent","lines","lastCol0","hasMappings","col0","sourceLine0","sourceCol0","currentLine","sourcesIndex","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","isNaN","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","clazz","sourceLines","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","lineIdx","spans","spanIdx","sourceLine","sourceCol","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","fnBody","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","keySpan","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","guardedExpression","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_convertColonRule","_cssColonHostRe","_colonHostPartReplacer","_cssColonHostContextRe","_colonHostContextPartReplacer","regExp","partReplacer","_polyfillHostNoCombinator","suffix","_polyfillHost","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","_","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","keep","_content","pseudo","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","range","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","tokensBeforeTagOpen","innerStart","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","TEXT","contentTokenType","_consumeRawTextWithTagClose","textToken","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","startLocation","locationFromCursor","endLocation","fullStartLocation","pos","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","startSpan","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","resolve","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","srcSpan","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","call","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","one","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","stringSpans","expressionsSpans","offsets","TemplateBindingParseResult","defaultInterpolateRegExp","_createInterpolateRegExp","_getInterpolateRegExp","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionText","expressionSpans","atInterpolation","extendLastString","interpStart","interpEnd","exprStart","exprEnd","fullEnd","_commentStart","outerQuote","nextChar","_findInterpolationErrorColumn","partInErrIdx","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","atEOF","currentEndIndex","curToken","inputIndex","serial","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","parseExpression","expectIdentifierOrKeyword","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","resultStart","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","elements","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","IDENT_BANANA_BOX_IDX$1","IDENT_PROPERTY_IDX$1","IDENT_EVENT_IDX$1","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","parseVariable","parseReference","addEvents","parseAssignmentEvent","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","PROJECTION","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","endsWith","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","sDelimiter","eDelimiter","_extractPlaceholderName","stringSpan","getOffsetSourceSpan","expressionSpan","lastStringIdx","_CUSTOM_PH_EXP","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","fnArgs","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","i18nAttrs","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","i18nStaticAttrs","staticAttrs","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","getAttributeNameLiterals","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveTypeParams","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesExpr","wrapDirectivesAndPipesInClosure","pipesExpr","styleValues","compileStyles","stringArrayAsType","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","convertAttributesToExpressions","createStatements","tempAllocator","queryInstruction","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","err","getDefaultComponentElementName","jitExpressionSourceMap","def","preStatements","evaluateStatements","convertToR3QueryMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","piece","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","I18nError","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","MISSING_NG_MODULE_METADATA_ERROR_DATA","getMissingNgModuleMetadataErrorData","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","guard","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcStaticDynamicQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","floor","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","bind","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","loaded","__esModule","default","placeholderChar","strFunction","previousConformedValue","previousPlaceholder","u","currentCaretPosition","conformedValue","rawValue","indexesOfPipedChars","caretTrapIndexes","g","C","P","O","T","M","S","V","A","N","E","F","R","I","J","W","L","z","B","D","G","H","K","Q","processCaretTraps","maskWithoutCaretTraps","guide","convertMaskToPlaceholder","keepCharPositions","abs","isNew","someCharsRejected","Symbol","iterator","indexes","isNil","update","inputElement","mask","showMask","selectionEnd","rejected","document","activeElement","setSelectionRange","navigator","userAgent","requestAnimationFrame","setTimeout","inherits","superCtor","super_","TempCtor","getOwnPropertyDescriptors","descriptors","getOwnPropertyDescriptor","formatRegExp","objects","inspect","isObject","deprecate","process","noDeprecation","warned","deprecated","throwDeprecation","traceDeprecation","trace","debugs","debugEnviron","debuglog","isUndefined","env","NODE_DEBUG","pid","opts","stylize","stylizeNoColor","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","arrayToHash","hash","recurseTimes","isFunction","primitive","formatPrimitive","visibleKeys","formatError","isRegExp","isDate","Date","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","numLinesEst","cur","ar","isNullOrUndefined","isSymbol","objectToString","require","pad","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","log","kCustomPromisifiedSymbol","promisify","TypeError","promiseResolve","promiseReject","reject","setPrototypeOf","defineProperties","custom","callbackifyOnRejected","reason","newReason","callbackify","callbackified","maybeCb","nextTick","rej","_defineProperties","descriptor","_createClass","Constructor","protoProps","staticProps","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","createCommonjsModule","getDefaults","breaks","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","walkTokens","xhtml","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","escape","encode","unescapeTest","caret","edit","regex","opt","getRegex","nonWordAndColonTest","originIndependentUrl","cleanUrl","href","prot","decodeURIComponent","resolveUrl","baseUrls","justDomain","protocol","domain","rtrim","relativeBase","noopTest","splitCells","tableRow","row","escaped","curr","cells","invert","suffLen","currChar","findClosingBracket","checkSanitizeDeprecation","repeatString","helpers","defaults$1","rtrim$1","splitCells$1","_escape","findClosingBracket$1","outputLink","cap","link","title","indentCodeCompensation","matchIndentToCode","indentToCode","matchIndentInNode","indentInNode","Tokenizer_1","Tokenizer","_proto","space","rules","block","newline","lastToken","trimRight","codeBlockStyle","fences","lang","heading","trimmed","nptable","header","align","hr","blockquote","bull","isordered","ordered","loose","itemMatch","bcurr","bnext","addBack","istask","ischecked","listItemStart","task","checked","pre","table","lheading","paragraph","inline","inLink","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","_escapes","reflink","links","nolink","strong","maskedSrc","prevChar","punctuation","endReg","endAst","endUnd","middle","em","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","prevCapZero","_backpedal","inlineText","noopTest$1","edit$1","merge$1","_paragraph","_label","_title","bullet","_tag","_comment","normal","reflinkSearch","_punctuation","_blockSkip","_overlapSkip","blockSkip","overlapSkip","_scheme","_email","_attribute","_href","_extended_email","defaults$2","block$1","inline$1","repeatString$1","random","Lexer_1","lex","lexer","lexInline","inlineTokens","blockTokens","top","l2","keepPrevChar","includes","defaults$3","cleanUrl$1","escape$1","Renderer_1","_code","infostring","slugger","slug","startatt","listitem","checkbox","tablerow","tablecell","image","_text","TextRenderer_1","TextRenderer","Slugger_1","Slugger","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","defaults$4","unescape$1","Parser_1","textRenderer","parseInline","l3","cell","itemBody","merge$2","checkSanitizeDeprecation$1","escape$2","defaults$5","marked","pending","_tokens","setOptions","use","extension","_loop","prevRenderer","_len","_key","_loop2","prevTokenizer","_len2","_key2","_iterator","_step","_iterator2","_step2","_iterator3","_step3","_iterator4","_step4","_cell","marked_1","_typeof","_classCallCheck","_extends","_inherits","subClass","_setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","_createSuperInternal","NewTarget","_superPropBase","object","_get","consolePrefix","uniqueArray","capitalizeFirstLetter","objectValues","toArray","nodeList","previousWarnOnceMessages","warnOnce","warnAboutDeprecation","deprecatedParam","useInstead","callIfFunction","hasToPromiseFn","toPromise","asPromise","DismissReason","cancel","backdrop","close","esc","timer","isJqueryElement","elem","jquery","isElement","argsToParams","swalPrefix","swalClasses","iconTypes","getContainer","querySelector","elementBySelector","selectorString","elementByClass","getPopup","popup","getIcon","icon","getTitle","getContent","getHtmlContainer","getImage","getProgressSteps","getValidationMessage","getConfirmButton","confirm","getDenyButton","deny","getInputLabel","getLoader","loader","getCancelButton","getActions","getHeader","getFooter","footer","getTimerProgressBar","getCloseButton","focusable","getFocusableElements","focusableElementsWithTabindex","querySelectorAll","getAttribute","otherFocusableElements","isVisible","isModal","isToast","classList","contains","isLoading","hasAttribute","states","previousBodyPadding","setInnerHtml","DOMParser","parsed","parseFromString","appendChild","hasClass","removeCustomClasses","showClass","remove","applyCustomClass","customClass","addClass","getInput","getChildByClass","radio","focusInput","focus","toggleClass","removeClass","applyNumericalStyle","removeProperty","show","display","hide","setStyle","toggle","offsetWidth","offsetHeight","getClientRects","allButtonsAreHidden","isScrollable","scrollHeight","clientHeight","hasCssAnimation","getComputedStyle","animDuration","getPropertyValue","transDuration","haystack","needle","animateTimerProgressBar","reset","timerProgressBar","transition","width","stopTimerProgressBar","timerProgressBarWidth","timerProgressBarFullWidth","timerProgressBarPercent","isNodeEnv","sweetHTML","select","textarea","resetOldContainer","oldContainer","parentNode","removeChild","documentElement","oldInputVal","resetValidationMessage","Swal","addInputChangeListeners","rangeOutput","oninput","onchange","nextSibling","getTarget","setupAccessibility","setAttribute","toast","setupRTL","targetElement","direction","rtl","oldContainerExisted","createElement","parseHtmlToContainer","HTMLElement","handleObject","handleJqueryElem","cloneNode","animationEndEvent","testEl","transEndEventNames","WebkitAnimation","OAnimation","animation","measureScrollbar","scrollDiv","scrollbarWidth","getBoundingClientRect","clientWidth","renderActions","confirmButton","denyButton","cancelButton","showConfirmButton","showDenyButton","showCancelButton","renderButton","handleButtonsStyling","reverseButtons","insertBefore","loaderHtml","buttonsStyling","styled","confirmButtonColor","backgroundColor","denyButtonColor","cancelButtonColor","button","buttonType","handleBackdropParam","background","handlePositionParam","center","handleGrowParam","grow","growClass","renderContainer","allowOutsideClick","queueStep","removeAttribute","privateProps","WeakMap","innerParams","domCache","inputTypes","renderInput","rerender","inputClass","inputContainer","setAttributes","inputAttributes","showInput","setCustomClass","renderInputType","getInputContainer","removeAttributes","setInputPlaceholder","inputPlaceholder","setInputLabel","prependTo","inputLabel","labelClass","insertAdjacentElement","email","password","number","tel","inputValue","rangeInput","disabled","selected","checkboxContainer","getPadding","paddingLeft","paddingRight","initialPopupWidth","outputsize","contentWidth","MutationObserver","observe","attributeFilter","renderContent","htmlContainer","renderFooter","renderCloseButton","closeButton","closeButtonHtml","showCloseButton","closeButtonAriaLabel","renderIcon","setContent","applyStyles","iconHtml","iconType","setColor","adjustSuccessIconBackgoundColor","popupBackgroundColor","successIconParts","iconContent","defaultIconHtml","question","info","iconColor","color","borderColor","_i","_arr","sel","renderImage","imageUrl","imageAlt","imageWidth","imageHeight","currentSteps","queue","steps","resetAndResolve","queueResult","step","fire","dismiss","getQueueStep","insertQueueStep","deleteQueueStep","createStepElement","stepEl","createLineElement","lineEl","progressStepsDistance","renderProgressSteps","progressStepsContainer","progressSteps","currentProgressStep","renderTitle","titleText","renderHeader","renderPopup","padding","addClasses","modal","render","didRender","onRender","isVisible$1","isVisible$$1","clickConfirm","click","clickDeny","clickCancel","mixin","mixinParams","MixinSwal","_this","_super","_main","priorityMixinParams","showLoading","buttonToReplace","RESTORE_FOCUS_TIMEOUT","globalState","focusPreviousActiveElement","previousActiveElement","restoreActiveElement","returnFocus","scrollX","scrollY","restoreFocusTimeout","scrollTo","getTimerLeft","timeout","stopTimer","stop","resumeTimer","remaining","toggleTimer","running","increaseTimer","increase","isTimerRunning","isRunning","bodyClickListenerAdded","clickHandlers","bindClickHandler","addEventListener","bodyClickListener","defaultParams","hideClass","heightAuto","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","denyButtonText","denyButtonAriaLabel","cancelButtonText","cancelButtonAriaLabel","focusConfirm","focusDeny","focusCancel","showLoaderOnConfirm","showLoaderOnDeny","inputOptions","inputAutoTrim","inputValidator","returnInputValueOnDeny","validationMessage","onBeforeOpen","onOpen","willOpen","didOpen","onClose","onAfterClose","willClose","didClose","onDestroy","didDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","checkIfToastParamIsValid","checkIfParamIsDeprecated","showWarningsForParams","staticMethods","enableLoading","hideLoading","getElementsByClassName","getInput$1","fixScrollbar","innerHeight","undoScrollbar","iOSfix","iOS","MSStream","platform","maxTouchPoints","iosfix","scrollTop","lockBodyScroll","addBottomPaddingForTallPopups","safari","bottomPanelHeight","paddingBottom","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","preventDefault","stopPropagation","isStylys","isZoom","touches","touchType","undoIOSfix","isIE11","MSInputMethodContext","documentMode","fixVerticalPositionIE","offsetTop","alignItems","IEfix","undoIEfix","removeEventListener","setAriaHidden","bodyChildren","unsetAriaHidden","privateMethods","swalPromiseResolve","removePopupAndResetState","triggerDidCloseAndDispose","keydownTarget","keydownHandler","capture","keydownHandlerAdded","removeBodyClasses","shown","resolveValue","prepareResolveValue","handlePopupAnimation","isConfirmed","isDenied","isDismissed","animationIsSupported","runDidClose","animatePopup","swalCloseEventFinishedCallback","_destroy","setButtonsDisabled","buttons","setInputDisabled","radiosContainer","radios","enableButtons","disableButtons","enableInput","disableInput","showValidationMessage","inputerror","resetValidationMessage$1","getProgressSteps$1","Timer","delay","started","clearTimeout","defaultInputValidators","string","setDefaultInputValidators","validateCustomTargetElement","setParameters","swalStringParams","getTemplateParams","templateContent","showWarningsForElements","getSwalParams","getSwalButtons","getSwalImage","getSwalIcon","getSwalInput","getSwalStringParams","showWarningsForAttributes","innerHTML","option","optionValue","optionName","allowedElements","allowedAttributes","SHOW_CLASS_TIMEOUT","openPopup","bodyStyles","initialBodyOverflow","overflowY","addClasses$1","setScrollingVisibility","fixScrollContainer","runDidOpen","swalOpenAnimationFinished","setProperty","handleInputOptionsAndValue","handleInputOptions","handleInputValue","getInputValue","getCheckboxValue","getRadioValue","getFileValue","processInputOptions","populateInputOptions","formatInputOptions","renderOption","optionLabel","isSelected","inputOption","optgroup","radioValue","radioLabel","radioInput","radioLabelElement","valueFormatted","handleConfirmButtonClick","handleConfirmOrDenyWithInput","handleDenyButtonClick","handleCancelButtonClick","dismissWith","handleInputValidator","checkValidity","validationPromise","preDenyPromise","preDenyValue","closePopup","succeedWith","preConfirmPromise","preConfirmValue","addKeydownHandler","setFocus","increment","focusableElements","arrowKeysNextButton","arrowKeysPreviousButton","escKeys","handleEnter","handleTab","handleArrows","handleEsc","isComposing","outerHTML","btnIndex","shiftKey","sibling","buttonToFocus","handlePopupClick","handleToastClick","handleModalMousedown","handleContainerMousedown","handleModalClick","onclick","ignoreOutsideClick","onmousedown","onmouseup","userParams","currentInstance","prepareParams","populateDomCache","swalPromise","templateParams","setupTimer","initFocus","globalState$$1","blurActiveElement","focusButton","blur","validUpdatableParams","updatedParams","deferDisposalTimer","runDidDestroy","disposeSwal","unsetWeakMaps","instanceMethods","disableLoading","closeModal","closeToast","SweetAlert","outerParams","onFulfilled","_finally","onFinally","language","now","initiationDate","localStorage","getItem","setItem","getTime","pointerEvents","ukrainianAnthem","loop","play","_currentInstance","Sweetalert2","swal","sweetAlert","getElementsByTagName","styleSheet","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","MEDIA_PREFERS_REDUCED_MOTION","CREATED","MOUNTED","IDLE","MOVING","SCROLLING","DRAGGING","DESTROYED","STATES","arrayLike","func","raf","typeOf","subject","isHTMLElement","ownerDocument","defaultView","iteratee","elm","append","children2","firstElementChild","ownKeys","forOwn","omit","elms","value2","display2","preventScroll","rect","parseHtml","prevent","stopImmediatePropagation","queryAll","timeOf","timeStamp","PROJECT_CODE","DATA_ATTRIBUTE","assert","min","ceil","approximatelyEqual","epsilon","between","exclusive","minimum","maximum","clamp","sign","camelToKebab","replacements","replacement","uniqueId","EventBinder","targets","forEachEvent","namespace","isEventTarget","remover","unbind","dispatch","detail","bubbles","CustomEvent","createEvent","initCustomEvent","dispatchEvent","events2","eventNS","fragment","destroy","EVENT_MOUNTED","EVENT_READY","EVENT_MOVE","EVENT_MOVED","EVENT_CLICK","EVENT_ACTIVE","EVENT_INACTIVE","EVENT_VISIBLE","EVENT_HIDDEN","EVENT_REFRESH","EVENT_UPDATED","EVENT_RESIZE","EVENT_RESIZED","EVENT_DRAG","EVENT_DRAGGING","EVENT_DRAGGED","EVENT_SCROLL","EVENT_SCROLLED","EVENT_OVERFLOW","EVENT_DESTROY","EVENT_ARROWS_MOUNTED","EVENT_ARROWS_UPDATED","EVENT_PAGINATION_MOUNTED","EVENT_PAGINATION_UPDATED","EVENT_NAVIGATION_MOUNTED","EVENT_AUTOPLAY_PLAY","EVENT_AUTOPLAY_PLAYING","EVENT_AUTOPLAY_PAUSE","EVENT_LAZYLOAD_LOADED","EVENT_SLIDE_KEYDOWN","EVENT_SHIFTED","EVENT_END_INDEX_CHANGED","EventInterface","Splide2","bus","createDocumentFragment","on","emit","off","RequestInterval","interval","onInterval","onUpdate","startTime","rate","paused","pause","resume","rewind","cancelAnimationFrame","isPaused","State","initialState","is","Throttle","duration","Media","Components2","breakpoints","reducedMotion","setup","isMin","mediaQuery","register","completely","options2","queryList","matchMedia","destroyed","merged","merged2","mount","enable","notify","ARROW","ARROW_LEFT","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","LTR","RTL","TTB","ORIENTATION_MAP","X","Y","ArrowLeft","ArrowRight","Direction","axisOnly","orient","ROLE","TAB_INDEX","DISABLED","ARIA_PREFIX","ARIA_CONTROLS","ARIA_CURRENT","ARIA_SELECTED","ARIA_LABEL","ARIA_LABELLEDBY","ARIA_HIDDEN","ARIA_ORIENTATION","ARIA_ROLEDESCRIPTION","ARIA_LIVE","ARIA_BUSY","ARIA_ATOMIC","ALL_ATTRIBUTES","STATUS_CLASS_PREFIX","CLASS_ROOT","CLASS_TRACK","CLASS_LIST","CLASS_SLIDE","CLASS_CLONE","CLASS_CONTAINER","CLASS_ARROWS","CLASS_ARROW","CLASS_ARROW_PREV","CLASS_ARROW_NEXT","CLASS_PAGINATION","CLASS_PAGINATION_PAGE","CLASS_PROGRESS","CLASS_PROGRESS_BAR","CLASS_TOGGLE","CLASS_TOGGLE_PLAY","CLASS_TOGGLE_PAUSE","CLASS_SPINNER","CLASS_SR","CLASS_INITIALIZED","CLASS_ACTIVE","CLASS_PREV","CLASS_NEXT","CLASS_VISIBLE","CLASS_LOADING","CLASS_FOCUS_IN","CLASS_OVERFLOW","STATUS_CLASSES","CLASSES","slide","arrows","arrow","pagination","page","spinner","closest","nodeType","FRICTION","LOG_INTERVAL","POINTER_DOWN_EVENTS","POINTER_MOVE_EVENTS","POINTER_UP_EVENTS","Elements","_EventInterface","root","slides","rootClasses","trackClasses","track","isUsingKey","collect","getClasses","labelledby","bar","role","carousel","drag","isNavigation","SLIDE","LOOP","FADE","Slide$1","slideIndex","Components","updateOnMove","slideFocus","isClone","slideLabel","listen","initNavigation","onMove","controls","splides","Slide2","splide","Slides","getAt","slideX","updateActivity","updateVisibility","active","isActive","visible","hidden","focusableNodes","style$1","useContainer","cloneStatus","trackRect","slideRect","isWithin","_EventInterface2","_Components2$Elements","Slides2","forEach$1","Slide1","excludeClones","getIn","Controller","toIndex","hasFocus","perPage","observeImages","remove$1","images","img","getLength","isEnough","Layout","_EventInterface3","_Components2$Elements2","styleSlides","vertical","rootRect","overflow","resize","cssPadding","force","newRect","height","cssTrackHeight","gap","cssSlideWidth","cssSlideHeight","isOverflow","cssHeight","heightRatio","autoWidth","fixedWidth","cssSlideSize","fixedHeight","autoHeight","listSize","slideSize","withoutGap","Slide","getGap","totalSize","sliderSize","MULTIPLIER","Clones","clones","cloneCount","remount","computeCloneCount","generate","isHead","cloneDeep","clones2","fixedSize","fixedCount","Move","_EventInterface4","_Components2$Layout","_Components2$Directio","_Components2$Elements3","Transition","reposition","isBusy","Scroll","jump","move","dest","canShift","translate","getPosition","toPosition","preventLoop","destination","exceededMax","getEnd","exceededMin","backwards","excess","getLimit","minDistance","Infinity","trimming","trimSpace","shifted","exceededLimit","_EventInterface5","_Components2$Slides","omitEnd","isLoop","isSlide","getNext","getAdjacent","getPrev","currIndex","endIndex","prevIndex","slideCount","perMove","onResized","go","control","allowSameIndex","setIndex","scroll","snap","indicator","computeDestIndex","snapPage","computeMovableDestIndex","toPage","toDest","getIndex","waitForTransition","XML_NAME_SPACE","PATH","SIZE","Arrows","created","wrapperClasses","enabled","createArrows","createArrow","prev2","arrowPath","nextIndex","prevLabel","nextLabel","INTERVAL_DATA_ATTRIBUTE","Autoplay","_EventInterface6","onAnimationFrame","_Components2$Elements4","autoplay","hovered","focused","stopped","pauseOnHover","autoToggle","pauseOnFocus","resetProgress","Cover","_EventInterface7","cover","cover2","BOUNCE_DIFF_THRESHOLD","BOUNCE_DURATION","FRICTION_FACTOR","BASE_VELOCITY","MIN_DURATION","_EventInterface8","friction","onScrolled","noConstrain","noDistance","onEnd","to","easing","easingFunc","pow","SCROLL_LISTENER_OPTIONS","passive","Drag","_EventInterface9","_Components2$Directio2","basePosition","baseEvent","prevBaseEvent","isFree","dragging","exceeded","clickPrevented","onPointerDown","onClick","disable","isTouch","isTouchEvent","isDraggable","onPointerMove","onPointerUp","save","cancelable","constrain","diffCoord","expired","diffTime","hasExceeded","isSliderDirection","shouldStart","velocity","computeVelocity","computeDestination","rewindByDrag","thresholds","dragMinThreshold","isObj","mouse","touch","flickPower","flickMaxPages","orthogonal","coordOf","getBaseEvent","changedTouches","target2","noDrag","TouchEvent","isDragging","NORMALIZATION_MAP","Spacebar","Right","Left","Up","Down","normalizeKey","KEYBOARD_EVENT","Keyboard","_EventInterface10","keyboard","onKeydown","_disabled","SRC_DATA_ATTRIBUTE","SRCSET_DATA_ATTRIBUTE","IMAGE_SELECTOR","LazyLoad","_EventInterface11","isSequential","lazyLoad","loadNext","check","srcset","preloadPages","onLoad","Pagination","paginationClasses","createPagination","getDirection","li","class","pageX","paginationKeyboard","nextPage","paginationDirection","_button","TRIGGER_KEYS","Sync","isParent","sync","navigate","Wheel","_EventInterface12","lastTime","wheel","onWheel","deltaY","_min","wheelMinThreshold","sleep","wheelSleep","shouldPrevent","releaseWheel","SR_REMOVAL_DELAY","Live","_EventInterface13","live","sr","ComponentConstructors","I18N","DEFAULTS","speed","rewindSpeed","Fade","endCallback","getSpeed","useScroll","_Splide","_o","_E","Extensions","_C","_T","Constructors","_this$event","Splide","CLASS_RENDERED","RENDERER_DEFAULT_CONFIG","listTag","slideTag","Style","_proto2","breakpoint","_this2","css","buildSelectors","_this3","SplideRenderer","clean","_EventInterface14","_proto3","parseBreakpoints","initSlides","registerRootStyles","registerTrackStyles","registerSlideStyles","registerListStyles","_this4","buildStyles","generateClones","_this5","_ref2","_this6","Style2","_ref3","_this7","_ref4","buildTranslate","cssAspectRatio","_this8","_ref5","_this$Direction","cssOffsetClones","cssOffsetGaps","isCenter","buildCssValue","cssOffsetCenter","_this$Direction2","getCloneCount","isFixedWidth","_this$parseCssValue","parseCssValue","unit2","percent","_this$Direction3","_this$parseCssValue2","_this$parseCssValue3","_value","_unit","gapOffset","_this$parseCssValue4","gaps","isVertical","_this9","buildClasses","buildAttrs","renderSlides","_this10","_content$html","_ref6","renderArrows","renderArrow","_this$options","ariaLabel","_this$config","rootClass","beforeTrack","afterTrack","slider","beforeSlider","afterSlider","isLTR","currentStyle","isIOS","searchHelper.stripSpecialChars","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","noSideEffects","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","ɵ0","Inject","Optional","Self","SkipSelf","Host","ɵ1","InjectFlags","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","NG_PROV_DEF_FALLBACK","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ɵprovFallback","ngInjectableDef","ngInjectorDef","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","isForwardRef","__globalThis","globalThis","getCompilerFacade","globalNg","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","ngDevModeResetPerfCounters","locationString","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","ngDevMode","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","InjectionToken","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$1","_currentInjector","setCurrentInjector","injector","former","_injectImplementation","setInjectImplementation","impl","assertInjectImplementationNot","injectInjectorOnly","injectRootLimpMode","ɵɵinject","ɵɵinvalidFactoryDep","notFoundValue","NullInjector","catchInjectorError","injectorErrorName","tokenPath","angularCoreDiEnv","typeAny","addAllToArray","dst","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","ViewEncapsulation$1","EMPTY_OBJ","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","ngOnDestroy","getFactoryDef","throwNotFound","hasFactoryDef","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR$1","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","TViewTypeAsString","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","assertTNodeForTView","tView_","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","assertIndexInVarsRange","i18nStartIndex","assertIndexInI18nRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertNodeInjector","injectorIndex","renderStringify","stringifyForError","ɵ0$2","defaultScheduler","ɵɵresolveWindow","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwCyclicDependencyError","depPath","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","oldValue","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","tData","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","ɵ0$3","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","enterDI","newView","newLFrame","allocLFrame","enterView","selectedIndex","firstChild","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","TNodeTypeAsString","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertNodeType","assertNodeOfPossibleTypes","found","assertNodeNotOfTypes","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttributeNS","isNameOnlyAttributeMarker","mergeHostAttrs","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentLView","parentData","declarationViewOffset","parentTNode","lViewCursor","tViewType","declTNode","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","NodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","moduleInjector","previousInjectImplementation","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","_devMode","_runModeLocked","isDevMode","enableProdMode","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","inertDocument","implementation","createHTMLDocument","inertHtml","inertBodyElement","templateEl","inertBody","stripCustomNsAttrs","elAttrs","attrib","childNode","ELEMENT_NODE","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","endElement","checkClobberedElement","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","escapeCommentText","createNamedArrayType","FunctionConstructor","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","unusedValueExportToPlacateAjd$5","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","expandoInstructions","staticViewQueries","staticContentQueries","cleanup","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","directiveStylingLast","mergedAttrs","initialInputs","tViews","projectionNext","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","itemKey","itemRange","prevDuplicate","nextDuplicate","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","indexWithinInitPhase","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","factories","instances","buildNodeInjectorDebug","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","readLViewValue","ɵ0$4","_CLEAN_PROMISE","setHostBindingsByExecutingExpandoInstructions","currentElementIndex","providerCount","hostCtx","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","elementCreate","createElementNS","createLView","tHostNode","rendererFactory","getOrCreateTNode","adjustedIndex","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","storeCleanupWithContext","cleanupFn","lCleanup","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","initializeInputAndOutputAliases","defs","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","generateExpandoInstructionBlock","baseResolveDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","totalDirectiveHostVars","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","addHostBindingsToExpandoInstructions","growHostVarsSpace","cacheMatchingLocalNames","expando","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","directiveCount","providerStartIndex","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedViews","movedLView","insertionLContainer","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","lViewOrLContainer","markViewDirty","scheduleTick","nothingScheduled","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","unusedValueToPlacateAjd$1","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","removeListeners","tCleanup","idxOrTargetGetter","useCaptureOrSubIdx","unsubscribe","toCall","getRenderParent","isIcuCase","Native","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getNativeAnchorNode","childEl","childTNode","renderParent","anchorNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","isProjection","rawSlotValue","applyProjectionRecursive","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","removeStyle","writeDirectStyle","writeDirectClass","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","collectNativeNodes","detach","vcRef","appRef","RootViewRef","_view","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","injectElementRef","ElementRefToken","createElementRef","R3ElementRef","R3TemplateRef","injectTemplateRef","TemplateRefToken","createTemplateRef","_declarationView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","R3ViewContainerRef","injectViewContainerRef","ViewContainerRefToken","previousTNode","createContainerRef","_lContainer","_hostTNode","_hostView","templateRef","viewRef","insert","projectableNodes","ngModuleRef","contextInjector","parentInjector","componentRef","allocateContainerIfNeeded","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","newIndex","viewRefsArr","detachedView","wasDetached","commentNode","createComment","parentOfHostNative","injectChangeDetectorRef","createViewRef","isComponentView","hostComponentView","getOrCreateRenderer2","injectRenderer2","nodeAtIndex","SWITCH_CHANGE_DETECTOR_REF_FACTORY","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","ɵ0$5","isType","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","propDecorators","ownPropMetadata","_ownPropMetadata","functionBody","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","srcMeta","ngFactoryDef","compileFactory","ɵ0$6","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$7","USE_VALUE$2","EMPTY_ARRAY$1","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$8","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","NULL","IDENT","ɵ0$9","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolveToken","depRecords","depRecord","childRecord","providerDeps","findFirstClosedCycle","constructResolvingPath","reversed","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","Query","ɵ0$a","ContentChildren","ɵ1$2","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","isComponentResourceResolutionQueueEmpty","response","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$b","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","ɵɵreference","ɵɵdirectiveInject","ɵɵinjectAttribute","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","ɵɵelementStart","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","delayProjection","setDelayProjection","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","plural","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","getParentFromI18nMutateOpCode","mergedCode","getRefFromI18nMutateOpCode","getInstructionFromI18nMutateOpCode","ELEMENT_MARKER","COMMENT_MARKER","unusedValueExportToPlacateAjd$6","setLocaleId","getLocaleId","i18nIndexStack","i18nIndexStackPointer","popI18nIndex","pushI18nIndex","changeMask","shiftsCounter","setMaskBit","bit","applyI18n","tI18n","updateOpCodes","tIcus","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","rootindex","createOpCodes","visitedNodes","opCode","textRNode","textNodeIndex","createDynamicNodeAtIndex","destinationNodeIndex","destinationTNode","appendI18nNode","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","tagNameValue","elementRNode","caseCreated","checkBit","skipCodes","sanitizeFn","applyIcuSwitchCase","applyIcuUpdateCase","tIcuIndex","tIcu","currentCaseLViewIndex","activeCaseIndex","tICuIndex","applyIcuSwitchCaseRemove","caseIndex","getCaseIndex","removeCodes","removeOpCode","nodeOrIcuIndex","removeNode","i18nEndFirstPass","lastCreatedNode","markAsDetached","removedPhTNode","removedPhRNode","bindingValue","resolvedCase","i18nUpdateOpCodesToString","opcodes","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","consumeNumber","hasMore","consumeNumberOrString","opCodeText","i18nMutateOpCodesToString","lastRef","consumeNumberStringOrMarker","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","i18nVarsCount","parentIndexStack","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstPass","subTemplateIndex","parentIndexPointer","previousTNodeIndex","icuExpressions","isRootTemplateMessage","allocNodeIndex","templateTranslation","getTranslationForTemplate","msgParts","phIndex","extractParts","icuNodeIndex","getBindingMask","icuStart","toMaskBit","mainBinding","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","textParts","textValue","valueArr","removeInnerTemplateTranslation","inTemplate","tagMatched","search","createCodes","updateCodes","childIcus","nestedIcus","icuIndex","parseIcuCase","parseICUBlock","opCodes","parseNodes","prevPos","braceStack","currentNode","nestedIcusToCreate","lowerAttrName","nestedIcuIndex","newLocal","nestedIcu","nestedIcuNodeIndex","nestTIcuIndex","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","templateIdsStack","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","ɵɵProvidersFeature","processProvidersFn","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","rootSelectorOrNode","SWITCH_ELEMENT_REF_FACTORY","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","Renderer2Interceptor","RendererFactory2","RendererStyleFlags2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","SWITCH_RENDERER2_FACTORY__PRE_R3__","Sanitizer","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$c","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","currentIndex","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","supports","getTypeNameForDebugging","copied","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","componentRendererType","DEFINITION_CACHE","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","outputsArr","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","destroyCbs","parentPrototype","parentConstructor","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","resultsTree","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","isStatic","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tViewData","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$d","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","createParseSourceSpan","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$e","ɵ1$3","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","Input","ɵ7","Output","ɵ8","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$f","ɵ1$4","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","scheduleEventTask","EMPTY_PAYLOAD","noop$1","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","timeoutId","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","share","componentOrFactory","selectorOrNode","compRef","_unloadComponent","registerApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","siblingIndex","refChild","newChild","refIndex","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","NodePrototype","isPrimitiveValue","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$g","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","elOrCompView","childDef","collectReferences","findHostElement","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","originalModule","webpackPolyfill","MarkedRenderer","marked.parse","$","Z","includeThousandsSeparator","thousandsSeparatorSymbol","allowDecimal","decimalSymbol","decimalLimit","requireDecimal","allowNegative","allowLeadingZeroes","integerLimit","instanceOf","promisifyRequest","request","onsuccess","onerror","promisifyRequestCall","promisifyCursorRequestCall","Cursor","proxyProperties","ProxyClass","targetProp","proxyRequestMethods","proxyMethods","proxyCursorRequestMethods","Index","IDBIndex","_request","IDBCursor","methodName","ObjectStore","_store","createIndex","IDBObjectStore","Transaction","idbTransaction","_tx","oncomplete","onabort","objectStore","IDBTransaction","UpgradeDB","db","oldVersion","transaction","_db","createObjectStore","IDBDatabase","DB","funcName","nativeObject","getAll","iterateCursor","continue","openDb","upgradeCallback","indexedDB","onupgradeneeded","deleteDb","stringToByteArray","NG_VERSION","PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","lastValue","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn","EmptyOutletComponent","VENDOR_PREFIXES","TEST_ELEMENT","TYPE_FUNCTION","round","setTimeoutContext","bindFn","invokeArrayArg","each","deprecationMessage","nextKey","extend","inherit","baseP","childP","boundFn","boolOrFn","ifUndefined","val1","val2","addEventListeners","splitStr","removeEventListeners","hasParent","inStr","inArray","findByKey","sortUniqueArray","prefixed","camelProp","_uniqueId","getWindowForElement","doc","parentWindow","MOBILE_REGEX","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","manager","inputTarget","domHandler","ev","evEl","evTarget","evWin","createInputInstance","PointerEventInput","TouchInput","MouseInput","TouchMouseInput","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","computeInputData","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","deltaTime","angle","getAngle","getDistance","computeDeltaXY","offsetDirection","deltaX","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offsetDelta","prevDelta","lastInterval","velocityX","velocityY","clientX","clientY","p1","p2","sqrt","atan2","PI","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","pressed","MEhandler","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","MSPointerEvent","PointerEvent","PEhandler","removePointer","eventTypeNormalized","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","TEhandler","normalizeSingleTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","targetIds","MTEhandler","getTouches","allTouches","targetTouches","changedTargetTouches","DEDUP_TIMEOUT","DEDUP_DISTANCE","primaryTouch","lastTouches","TMEhandler","inputEvent","isMouse","sourceCapabilities","firesTouchEvents","recordTouches","isSyntheticEvent","eventData","setLastTouch","lastTouch","lts","removeLastTouch","dx","dy","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","getTouchActionProps","TouchAction","compute","touchAction","recognizers","recognizer","getTouchAction","cleanTouchActions","preventDefaults","prevented","hasNone","hasPanY","hasPanX","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","touchMap","cssSupports","CSS","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","Recognizer","simultaneous","requireFail","recognizeWith","otherRecognizer","getRecognizerByNameIfManager","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","stateStr","additionalEvent","tryEmit","canEmit","inputDataClone","directionStr","AttrRecognizer","attrTest","optionPointers","isRecognized","isValid","PanRecognizer","pX","pY","threshold","directionTest","hasMoved","PinchRecognizer","inOut","PressRecognizer","_timer","_input","validPointers","validMovement","validTime","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","Hammer","preset","Manager","domEvents","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","oldCssProps","toggleCssProps","curRecognizer","triggerDomEvent","gestureEvent","initEvent","gesture","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","appName","analyticsName","appCheckName","authName","databaseName","functionsName","installationsName","messagingName","performanceName","remoteConfigName","storageName","firestoreName","packageName","firebase","firebaseNamespace","buildMapFromList","buildCss","DEFAULT_MAIN","DEFAULT_CROSS","DEFAULT_VALUE","AUTO_SPECIFIER"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","file":"vendor.js","sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n InstantiationMode,\n InstanceFactory,\n ComponentType,\n Dictionary,\n Name,\n onInstanceCreatedCallback\n} from './types';\n\n/**\n * Component for service name T, e.g. `auth`, `auth-internal`\n */\nexport class Component {\n multipleInstances = false;\n /**\n * Properties to be added to the service namespace\n */\n serviceProps: Dictionary = {};\n\n instantiationMode = InstantiationMode.LAZY;\n\n onInstanceCreated: onInstanceCreatedCallback | null = null;\n\n /**\n *\n * @param name The public service name, e.g. app, auth, firestore, database\n * @param instanceFactory Service factory responsible for creating the public interface\n * @param type whether the service provided by the component is public or private\n */\n constructor(\n readonly name: T,\n readonly instanceFactory: InstanceFactory,\n readonly type: ComponentType\n ) {}\n\n setInstantiationMode(mode: InstantiationMode): this {\n this.instantiationMode = mode;\n return this;\n }\n\n setMultipleInstances(multipleInstances: boolean): this {\n this.multipleInstances = multipleInstances;\n return this;\n }\n\n setServiceProps(props: Dictionary): this {\n this.serviceProps = props;\n return this;\n }\n\n setInstanceCreatedCallback(callback: onInstanceCreatedCallback): this {\n this.onInstanceCreated = callback;\n return this;\n }\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\nimport { name as appName } from '../package.json';\nimport { name as analyticsName } from '../../analytics/package.json';\nimport { name as appCheckName } from '../../app-check/package.json';\nimport { name as authName } from '../../auth/package.json';\nimport { name as databaseName } from '../../database/package.json';\nimport { name as functionsName } from '../../functions/package.json';\nimport { name as installationsName } from '../../installations/package.json';\nimport { name as messagingName } from '../../messaging/package.json';\nimport { name as performanceName } from '../../performance/package.json';\nimport { name as remoteConfigName } from '../../remote-config/package.json';\nimport { name as storageName } from '../../storage/package.json';\nimport { name as firestoreName } from '../../firestore/package.json';\nimport { name as packageName } from '../../../package.json';\n\nexport const PLATFORM_LOG_STRING = {\n [appName]: 'fire-core',\n [analyticsName]: 'fire-analytics',\n [appCheckName]: 'fire-app-check',\n [authName]: 'fire-auth',\n [databaseName]: 'fire-rtdb',\n [functionsName]: 'fire-fn',\n [installationsName]: 'fire-iid',\n [messagingName]: 'fire-fcm',\n [performanceName]: 'fire-perf',\n [remoteConfigName]: 'fire-rc',\n [storageName]: 'fire-gcs',\n [firestoreName]: 'fire-fst',\n 'fire-js': 'fire-js', // Platform identifier for JS SDK.\n [packageName]: 'fire-js-all'\n} as const;\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Deferred } from '@firebase/util';\nimport { ComponentContainer } from './component_container';\nimport { DEFAULT_ENTRY_NAME } from './constants';\nimport {\n InitializeOptions,\n InstantiationMode,\n Name,\n NameServiceMapping,\n OnInitCallBack\n} from './types';\nimport { Component } from './component';\n\n/**\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\n * NameServiceMapping[T] is an alias for the type of the instance\n */\nexport class Provider {\n private component: Component | null = null;\n private readonly instances: Map = new Map();\n private readonly instancesDeferred: Map<\n string,\n Deferred\n > = new Map();\n private readonly instancesOptions: Map> =\n new Map();\n private onInitCallbacks: Map>> = new Map();\n\n constructor(\n private readonly name: T,\n private readonly container: ComponentContainer\n ) {}\n\n /**\n * @param identifier A provider can provide mulitple instances of a service\n * if this.component.multipleInstances is true.\n */\n get(identifier?: string): Promise {\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\n const deferred = new Deferred();\n this.instancesDeferred.set(normalizedIdentifier, deferred);\n\n if (\n this.isInitialized(normalizedIdentifier) ||\n this.shouldAutoInitialize()\n ) {\n // initialize the service if it can be auto-initialized\n try {\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n if (instance) {\n deferred.resolve(instance);\n }\n } catch (e) {\n // when the instance factory throws an exception during get(), it should not cause\n // a fatal error. We just return the unresolved promise in this case.\n }\n }\n }\n\n return this.instancesDeferred.get(normalizedIdentifier)!.promise;\n }\n\n /**\n *\n * @param options.identifier A provider can provide mulitple instances of a service\n * if this.component.multipleInstances is true.\n * @param options.optional If optional is false or not provided, the method throws an error when\n * the service is not immediately available.\n * If optional is true, the method returns null if the service is not immediately available.\n */\n getImmediate(options: {\n identifier?: string;\n optional: true;\n }): NameServiceMapping[T] | null;\n getImmediate(options?: {\n identifier?: string;\n optional?: false;\n }): NameServiceMapping[T];\n getImmediate(options?: {\n identifier?: string;\n optional?: boolean;\n }): NameServiceMapping[T] | null {\n // if multipleInstances is not supported, use the default name\n const normalizedIdentifier = this.normalizeInstanceIdentifier(\n options?.identifier\n );\n const optional = options?.optional ?? false;\n\n if (\n this.isInitialized(normalizedIdentifier) ||\n this.shouldAutoInitialize()\n ) {\n try {\n return this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n });\n } catch (e) {\n if (optional) {\n return null;\n } else {\n throw e;\n }\n }\n } else {\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\n if (optional) {\n return null;\n } else {\n throw Error(`Service ${this.name} is not available`);\n }\n }\n }\n\n getComponent(): Component | null {\n return this.component;\n }\n\n setComponent(component: Component): void {\n if (component.name !== this.name) {\n throw Error(\n `Mismatching Component ${component.name} for Provider ${this.name}.`\n );\n }\n\n if (this.component) {\n throw Error(`Component for ${this.name} has already been provided`);\n }\n\n this.component = component;\n\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\n if (!this.shouldAutoInitialize()) {\n return;\n }\n\n // if the service is eager, initialize the default instance\n if (isComponentEager(component)) {\n try {\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\n } catch (e) {\n // when the instance factory for an eager Component throws an exception during the eager\n // initialization, it should not cause a fatal error.\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\n // a fatal error in this case?\n }\n }\n\n // Create service instances for the pending promises and resolve them\n // NOTE: if this.multipleInstances is false, only the default instance will be created\n // and all promises with resolve with it regardless of the identifier.\n for (const [\n instanceIdentifier,\n instanceDeferred\n ] of this.instancesDeferred.entries()) {\n const normalizedIdentifier =\n this.normalizeInstanceIdentifier(instanceIdentifier);\n\n try {\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier\n })!;\n instanceDeferred.resolve(instance);\n } catch (e) {\n // when the instance factory throws an exception, it should not cause\n // a fatal error. We just leave the promise unresolved.\n }\n }\n }\n\n clearInstance(identifier: string = DEFAULT_ENTRY_NAME): void {\n this.instancesDeferred.delete(identifier);\n this.instancesOptions.delete(identifier);\n this.instances.delete(identifier);\n }\n\n // app.delete() will call this method on every provider to delete the services\n // TODO: should we mark the provider as deleted?\n async delete(): Promise {\n const services = Array.from(this.instances.values());\n\n await Promise.all([\n ...services\n .filter(service => 'INTERNAL' in service) // legacy services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => (service as any).INTERNAL!.delete()),\n ...services\n .filter(service => '_delete' in service) // modularized services\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map(service => (service as any)._delete())\n ]);\n }\n\n isComponentSet(): boolean {\n return this.component != null;\n }\n\n isInitialized(identifier: string = DEFAULT_ENTRY_NAME): boolean {\n return this.instances.has(identifier);\n }\n\n getOptions(identifier: string = DEFAULT_ENTRY_NAME): Record {\n return this.instancesOptions.get(identifier) || {};\n }\n\n initialize(opts: InitializeOptions = {}): NameServiceMapping[T] {\n const { options = {} } = opts;\n const normalizedIdentifier = this.normalizeInstanceIdentifier(\n opts.instanceIdentifier\n );\n if (this.isInitialized(normalizedIdentifier)) {\n throw Error(\n `${this.name}(${normalizedIdentifier}) has already been initialized`\n );\n }\n\n if (!this.isComponentSet()) {\n throw Error(`Component ${this.name} has not been registered yet`);\n }\n\n const instance = this.getOrInitializeService({\n instanceIdentifier: normalizedIdentifier,\n options\n })!;\n\n // resolve any pending promise waiting for the service instance\n for (const [\n instanceIdentifier,\n instanceDeferred\n ] of this.instancesDeferred.entries()) {\n const normalizedDeferredIdentifier =\n this.normalizeInstanceIdentifier(instanceIdentifier);\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\n instanceDeferred.resolve(instance);\n }\n }\n\n return instance;\n }\n\n /**\n *\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\n *\n * @param identifier An optional instance identifier\n * @returns a function to unregister the callback\n */\n onInit(callback: OnInitCallBack, identifier?: string): () => void {\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\n const existingCallbacks =\n this.onInitCallbacks.get(normalizedIdentifier) ??\n new Set>();\n existingCallbacks.add(callback);\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\n\n const existingInstance = this.instances.get(normalizedIdentifier);\n if (existingInstance) {\n callback(existingInstance, normalizedIdentifier);\n }\n\n return () => {\n existingCallbacks.delete(callback);\n };\n }\n\n /**\n * Invoke onInit callbacks synchronously\n * @param instance the service instance`\n */\n private invokeOnInitCallbacks(\n instance: NameServiceMapping[T],\n identifier: string\n ): void {\n const callbacks = this.onInitCallbacks.get(identifier);\n if (!callbacks) {\n return;\n }\n for (const callback of callbacks) {\n try {\n callback(instance, identifier);\n } catch {\n // ignore errors in the onInit callback\n }\n }\n }\n\n private getOrInitializeService({\n instanceIdentifier,\n options = {}\n }: {\n instanceIdentifier: string;\n options?: Record;\n }): NameServiceMapping[T] | null {\n let instance = this.instances.get(instanceIdentifier);\n if (!instance && this.component) {\n instance = this.component.instanceFactory(this.container, {\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\n options\n });\n this.instances.set(instanceIdentifier, instance);\n this.instancesOptions.set(instanceIdentifier, options);\n\n /**\n * Invoke onInit listeners.\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\n * while onInit listeners are registered by consumers of the provider.\n */\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\n\n /**\n * Order is important\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\n * makes `isInitialized()` return true.\n */\n if (this.component.onInstanceCreated) {\n try {\n this.component.onInstanceCreated(\n this.container,\n instanceIdentifier,\n instance\n );\n } catch {\n // ignore errors in the onInstanceCreatedCallback\n }\n }\n }\n\n return instance || null;\n }\n\n private normalizeInstanceIdentifier(\n identifier: string = DEFAULT_ENTRY_NAME\n ): string {\n if (this.component) {\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\n } else {\n return identifier; // assume multiple instances are supported before the component is provided.\n }\n }\n\n private shouldAutoInitialize(): boolean {\n return (\n !!this.component &&\n this.component.instantiationMode !== InstantiationMode.EXPLICIT\n );\n }\n}\n\n// undefined should be passed to the service factory for the default instance\nfunction normalizeIdentifierForFactory(identifier: string): string | undefined {\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\n}\n\nfunction isComponentEager(component: Component): boolean {\n return component.instantiationMode === InstantiationMode.EAGER;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Provider } from './provider';\nimport { Component } from './component';\nimport { Name } from './types';\n\n/**\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\n */\nexport class ComponentContainer {\n private readonly providers = new Map>();\n\n constructor(private readonly name: string) {}\n\n /**\n *\n * @param component Component being added\n * @param overwrite When a component with the same name has already been registered,\n * if overwrite is true: overwrite the existing component with the new component and create a new\n * provider with the new component. It can be useful in tests where you want to use different mocks\n * for different tests.\n * if overwrite is false: throw an exception\n */\n addComponent(component: Component): void {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n throw new Error(\n `Component ${component.name} has already been registered with ${this.name}`\n );\n }\n\n provider.setComponent(component);\n }\n\n addOrOverwriteComponent(component: Component): void {\n const provider = this.getProvider(component.name);\n if (provider.isComponentSet()) {\n // delete the existing provider from the container, so we can register the new component\n this.providers.delete(component.name);\n }\n\n this.addComponent(component);\n }\n\n /**\n * getProvider provides a type safe interface where it can only be called with a field name\n * present in NameServiceMapping interface.\n *\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\n * themselves.\n */\n getProvider(name: T): Provider {\n if (this.providers.has(name)) {\n return (this.providers.get(name) as unknown) as Provider;\n }\n\n // create a Provider for a service that hasn't registered with Firebase\n const provider = new Provider(name, this);\n this.providers.set(name, (provider as unknown) as Provider);\n\n return provider as Provider;\n }\n\n getProviders(): Array> {\n return Array.from(this.providers.values());\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar sidebar_container_component_1 = require(\"./sidebar-container.component\");\nvar utils_1 = require(\"./utils\");\nvar Sidebar = /** @class */ (function () {\n function Sidebar(_container, _ref, platformId) {\n this._container = _container;\n this._ref = _ref;\n // `openedChange` allows for \"2-way\" data binding\n this.opened = false;\n this.openedChange = new core_1.EventEmitter();\n this.mode = 'over';\n this.dock = false;\n this.dockedSize = '0px';\n this.position = 'start';\n this.animate = true;\n this.autoCollapseOnInit = true;\n this.trapFocus = false;\n this.autoFocus = true;\n this.showBackdrop = false;\n this.closeOnClickBackdrop = false;\n this.closeOnClickOutside = false;\n this.keyClose = false;\n this.keyCode = 27; // Default to ESC key\n this.onOpenStart = new core_1.EventEmitter();\n this.onOpened = new core_1.EventEmitter();\n this.onCloseStart = new core_1.EventEmitter();\n this.onClosed = new core_1.EventEmitter();\n this.onTransitionEnd = new core_1.EventEmitter();\n this.onModeChange = new core_1.EventEmitter();\n this.onPositionChange = new core_1.EventEmitter();\n /** @internal */\n this._onRerender = new core_1.EventEmitter();\n this._focusableElementsString = 'a[href], area[href], input:not([disabled]), select:not([disabled]),' +\n 'textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]';\n this._tabIndexAttr = '__tabindex__';\n this._tabIndexIndicatorAttr = '__ngsidebar-tabindex__';\n this._clickEvent = 'click';\n this._onClickOutsideAttached = false;\n this._onKeyDownAttached = false;\n this._onResizeAttached = false;\n if (!this._container) {\n throw new Error(' must be inside a . ' +\n 'See https://github.com/arkon/ng-sidebar#usage for more info.');\n }\n this._isBrowser = common_1.isPlatformBrowser(platformId);\n // Handle taps in iOS\n if (this._isBrowser && utils_1.isIOS() && 'ontouchstart' in window) {\n this._clickEvent = 'touchstart';\n }\n this._normalizePosition();\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this._onTransitionEnd = this._onTransitionEnd.bind(this);\n this._onFocusTrap = this._onFocusTrap.bind(this);\n this._onClickOutside = this._onClickOutside.bind(this);\n this._onKeyDown = this._onKeyDown.bind(this);\n this._collapse = this._collapse.bind(this);\n }\n Sidebar.prototype.ngOnInit = function () {\n if (!this._isBrowser) {\n return;\n }\n if (this.animate) {\n this._shouldAnimate = true;\n this.animate = false;\n }\n this._container._addSidebar(this);\n if (this.autoCollapseOnInit) {\n this._collapse();\n }\n };\n Sidebar.prototype.ngOnChanges = function (changes) {\n var _this = this;\n if (!this._isBrowser) {\n return;\n }\n if (changes['animate'] && this._shouldAnimate) {\n this._shouldAnimate = changes['animate'].currentValue;\n }\n if (changes['closeOnClickOutside']) {\n if (changes['closeOnClickOutside'].currentValue) {\n this._initCloseClickListener();\n }\n else {\n this._destroyCloseClickListener();\n }\n }\n if (changes['keyClose']) {\n if (changes['keyClose'].currentValue) {\n this._initCloseKeyDownListener();\n }\n else {\n this._destroyCloseKeyDownListener();\n }\n }\n if (changes['position']) {\n // Handle \"start\" and \"end\" aliases\n this._normalizePosition();\n // Emit change in timeout to allow for position change to be rendered first\n setTimeout(function () {\n _this.onPositionChange.emit(changes['position'].currentValue);\n });\n }\n if (changes['mode']) {\n setTimeout(function () {\n _this.onModeChange.emit(changes['mode'].currentValue);\n });\n }\n if (changes['dock']) {\n this.triggerRerender();\n }\n if (changes['autoCollapseHeight'] || changes['autoCollapseWidth']) {\n this._initCollapseListeners();\n }\n if (changes['opened']) {\n if (this._shouldAnimate) {\n this.animate = true;\n this._shouldAnimate = false;\n }\n if (changes['opened'].currentValue) {\n this.open();\n }\n else {\n this.close();\n }\n }\n };\n Sidebar.prototype.ngOnDestroy = function () {\n if (!this._isBrowser) {\n return;\n }\n this._destroyCloseListeners();\n this._destroyCollapseListeners();\n this._container._removeSidebar(this);\n };\n // Sidebar toggling\n // ==============================================================================================\n /**\n * Opens the sidebar and emits the appropriate events.\n */\n Sidebar.prototype.open = function () {\n var _this = this;\n if (!this._isBrowser) {\n return;\n }\n this.opened = true;\n this.openedChange.emit(true);\n this.onOpenStart.emit();\n this._ref.detectChanges();\n setTimeout(function () {\n if (_this.animate && !_this._isModeSlide) {\n _this._elSidebar.nativeElement.addEventListener('transitionend', _this._onTransitionEnd);\n }\n else {\n _this._setFocused();\n _this._initCloseListeners();\n if (_this.opened) {\n _this.onOpened.emit();\n }\n }\n });\n };\n /**\n * Closes the sidebar and emits the appropriate events.\n */\n Sidebar.prototype.close = function () {\n var _this = this;\n if (!this._isBrowser) {\n return;\n }\n this.opened = false;\n this.openedChange.emit(false);\n this.onCloseStart.emit();\n this._ref.detectChanges();\n setTimeout(function () {\n if (_this.animate && !_this._isModeSlide) {\n _this._elSidebar.nativeElement.addEventListener('transitionend', _this._onTransitionEnd);\n }\n else {\n _this._setFocused();\n _this._destroyCloseListeners();\n if (!_this.opened) {\n _this.onClosed.emit();\n }\n }\n });\n };\n /**\n * Manually trigger a re-render of the container. Useful if the sidebar contents might change.\n */\n Sidebar.prototype.triggerRerender = function () {\n var _this = this;\n if (!this._isBrowser) {\n return;\n }\n setTimeout(function () {\n _this._onRerender.emit();\n });\n };\n /**\n * @internal\n *\n * Computes the transform styles for the sidebar template.\n *\n * @return {CSSStyleDeclaration} The transform styles, with the WebKit-prefixed version as well.\n */\n Sidebar.prototype._getStyle = function () {\n var transformStyle = '';\n // Hides sidebar off screen when closed\n if (!this.opened) {\n var transformDir = 'translate' + (this._isLeftOrRight ? 'X' : 'Y');\n var translateAmt = (this._isLeftOrTop ? '-' : '') + \"100%\";\n transformStyle = transformDir + \"(\" + translateAmt + \")\";\n // Docked mode: partially remains open\n // Note that using `calc(...)` within `transform(...)` doesn't work in IE\n if (this.dock && this._dockedSize > 0 && !(this._isModeSlide && this.opened)) {\n transformStyle += \" \" + transformDir + \"(\" + (this._isLeftOrTop ? '+' : '-') + this.dockedSize + \")\";\n }\n }\n return {\n webkitTransform: transformStyle,\n transform: transformStyle\n };\n };\n /**\n * @internal\n *\n * Handles the `transitionend` event on the sidebar to emit the onOpened/onClosed events after the transform\n * transition is completed.\n */\n Sidebar.prototype._onTransitionEnd = function (e) {\n if (e.target === this._elSidebar.nativeElement && e.propertyName.endsWith('transform')) {\n this._setFocused();\n if (this.opened) {\n this._initCloseListeners();\n this.onOpened.emit();\n }\n else {\n this._destroyCloseListeners();\n this.onClosed.emit();\n }\n this.onTransitionEnd.emit();\n this._elSidebar.nativeElement.removeEventListener('transitionend', this._onTransitionEnd);\n }\n };\n Object.defineProperty(Sidebar.prototype, \"_shouldTrapFocus\", {\n // Focus on open/close\n // ==============================================================================================\n /**\n * Returns whether focus should be trapped within the sidebar.\n *\n * @return {boolean} Trap focus inside sidebar.\n */\n get: function () {\n return this.opened && this.trapFocus;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Sets focus to the first focusable element inside the sidebar.\n */\n Sidebar.prototype._focusFirstItem = function () {\n if (this._focusableElements && this._focusableElements.length > 0) {\n this._focusableElements[0].focus();\n }\n };\n /**\n * Loops focus back to the start of the sidebar if set to do so.\n */\n Sidebar.prototype._onFocusTrap = function (e) {\n if (this._shouldTrapFocus && !this._elSidebar.nativeElement.contains(e.target)) {\n this._focusFirstItem();\n }\n };\n /**\n * Handles the ability to focus sidebar elements when it's open/closed to ensure that the sidebar is inert when\n * appropriate.\n */\n Sidebar.prototype._setFocused = function () {\n this._focusableElements = Array.from(this._elSidebar.nativeElement.querySelectorAll(this._focusableElementsString));\n if (this.opened) {\n this._focusedBeforeOpen = document.activeElement;\n // Restore focusability, with previous tabindex attributes\n for (var _i = 0, _a = this._focusableElements; _i < _a.length; _i++) {\n var el = _a[_i];\n var prevTabIndex = el.getAttribute(this._tabIndexAttr);\n var wasTabIndexSet = el.getAttribute(this._tabIndexIndicatorAttr) !== null;\n if (prevTabIndex !== null) {\n el.setAttribute('tabindex', prevTabIndex);\n el.removeAttribute(this._tabIndexAttr);\n }\n else if (wasTabIndexSet) {\n el.removeAttribute('tabindex');\n el.removeAttribute(this._tabIndexIndicatorAttr);\n }\n }\n if (this.autoFocus) {\n this._focusFirstItem();\n }\n document.addEventListener('focus', this._onFocusTrap, true);\n }\n else {\n // Manually make all focusable elements unfocusable, saving existing tabindex attributes\n for (var _b = 0, _c = this._focusableElements; _b < _c.length; _b++) {\n var el = _c[_b];\n var existingTabIndex = el.getAttribute('tabindex');\n el.setAttribute('tabindex', '-1');\n el.setAttribute(this._tabIndexIndicatorAttr, '');\n if (existingTabIndex !== null) {\n el.setAttribute(this._tabIndexAttr, existingTabIndex);\n }\n }\n document.removeEventListener('focus', this._onFocusTrap, true);\n // Set focus back to element before the sidebar was opened\n if (this._focusedBeforeOpen && this.autoFocus && this._isModeOver) {\n this._focusedBeforeOpen.focus();\n this._focusedBeforeOpen = null;\n }\n }\n };\n // Close event handlers\n // ==============================================================================================\n /**\n * Initializes event handlers for the closeOnClickOutside and keyClose options.\n */\n Sidebar.prototype._initCloseListeners = function () {\n this._initCloseClickListener();\n this._initCloseKeyDownListener();\n };\n Sidebar.prototype._initCloseClickListener = function () {\n var _this = this;\n // In a timeout so that things render first\n setTimeout(function () {\n if (_this.opened && _this.closeOnClickOutside && !_this._onClickOutsideAttached) {\n document.addEventListener(_this._clickEvent, _this._onClickOutside);\n _this._onClickOutsideAttached = true;\n }\n });\n };\n Sidebar.prototype._initCloseKeyDownListener = function () {\n var _this = this;\n // In a timeout so that things render first\n setTimeout(function () {\n if (_this.opened && _this.keyClose && !_this._onKeyDownAttached) {\n document.addEventListener('keydown', _this._onKeyDown);\n _this._onKeyDownAttached = true;\n }\n });\n };\n /**\n * Destroys all event handlers from _initCloseListeners.\n */\n Sidebar.prototype._destroyCloseListeners = function () {\n this._destroyCloseClickListener();\n this._destroyCloseKeyDownListener();\n };\n Sidebar.prototype._destroyCloseClickListener = function () {\n if (this._onClickOutsideAttached) {\n document.removeEventListener(this._clickEvent, this._onClickOutside);\n this._onClickOutsideAttached = false;\n }\n };\n Sidebar.prototype._destroyCloseKeyDownListener = function () {\n if (this._onKeyDownAttached) {\n document.removeEventListener('keydown', this._onKeyDown);\n this._onKeyDownAttached = false;\n }\n };\n /**\n * Handles `click` events on anything while the sidebar is open for the closeOnClickOutside option.\n * Programatically closes the sidebar if a click occurs outside the sidebar.\n *\n * @param e {MouseEvent} Mouse click event.\n */\n Sidebar.prototype._onClickOutside = function (e) {\n if (this._onClickOutsideAttached && this._elSidebar && !this._elSidebar.nativeElement.contains(e.target)) {\n this.close();\n }\n };\n /**\n * Handles the `keydown` event for the keyClose option.\n *\n * @param e {KeyboardEvent} Normalized keydown event.\n */\n Sidebar.prototype._onKeyDown = function (e) {\n e = e || window.event;\n if (e.keyCode === this.keyCode) {\n this.close();\n }\n };\n // Auto collapse handlers\n // ==============================================================================================\n Sidebar.prototype._initCollapseListeners = function () {\n var _this = this;\n if (this.autoCollapseHeight || this.autoCollapseWidth) {\n // In a timeout so that things render first\n setTimeout(function () {\n if (!_this._onResizeAttached) {\n window.addEventListener('resize', _this._collapse);\n _this._onResizeAttached = true;\n }\n });\n }\n };\n Sidebar.prototype._destroyCollapseListeners = function () {\n if (this._onResizeAttached) {\n window.removeEventListener('resize', this._collapse);\n this._onResizeAttached = false;\n }\n };\n Sidebar.prototype._collapse = function () {\n var winHeight = window.innerHeight;\n var winWidth = window.innerWidth;\n if (this.autoCollapseHeight) {\n if (winHeight <= this.autoCollapseHeight && this.opened) {\n this._wasCollapsed = true;\n this.close();\n }\n else if (winHeight > this.autoCollapseHeight && this._wasCollapsed) {\n this.open();\n this._wasCollapsed = false;\n }\n }\n if (this.autoCollapseWidth) {\n if (winWidth <= this.autoCollapseWidth && this.opened) {\n this._wasCollapsed = true;\n this.close();\n }\n else if (winWidth > this.autoCollapseWidth && this._wasCollapsed) {\n this.open();\n this._wasCollapsed = false;\n }\n }\n };\n Object.defineProperty(Sidebar.prototype, \"_height\", {\n // Helpers\n // ==============================================================================================\n /**\n * @internal\n *\n * Returns the rendered height of the sidebar (or the docked size).\n * This is used in the sidebar container.\n *\n * @return {number} Height of sidebar.\n */\n get: function () {\n if (this._elSidebar.nativeElement) {\n return this._isDocked ? this._dockedSize : this._elSidebar.nativeElement.offsetHeight;\n }\n return 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_width\", {\n /**\n * @internal\n *\n * Returns the rendered width of the sidebar (or the docked size).\n * This is used in the sidebar container.\n *\n * @return {number} Width of sidebar.\n */\n get: function () {\n if (this._elSidebar.nativeElement) {\n return this._isDocked ? this._dockedSize : this._elSidebar.nativeElement.offsetWidth;\n }\n return 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_dockedSize\", {\n /**\n * @internal\n *\n * Returns the docked size as a number.\n *\n * @return {number} Docked size.\n */\n get: function () {\n return parseFloat(this.dockedSize);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isModeOver\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is over mode.\n *\n * @return {boolean} Sidebar's mode is \"over\".\n */\n get: function () {\n return this.mode === 'over';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isModePush\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is push mode.\n *\n * @return {boolean} Sidebar's mode is \"push\".\n */\n get: function () {\n return this.mode === 'push';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isModeSlide\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is slide mode.\n *\n * @return {boolean} Sidebar's mode is \"slide\".\n */\n get: function () {\n return this.mode === 'slide';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isDocked\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is \"docked\" -- i.e. it is closed but in dock mode.\n *\n * @return {boolean} Sidebar is docked.\n */\n get: function () {\n return this.dock && this.dockedSize && !this.opened;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isLeftOrTop\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is positioned at the left or top.\n *\n * @return {boolean} Sidebar is positioned at the left or top.\n */\n get: function () {\n return this.position === 'left' || this.position === 'top';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isLeftOrRight\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is positioned at the left or right.\n *\n * @return {boolean} Sidebar is positioned at the left or right.\n */\n get: function () {\n return this.position === 'left' || this.position === 'right';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Sidebar.prototype, \"_isInert\", {\n /**\n * @internal\n *\n * Returns whether the sidebar is inert -- i.e. the contents cannot be focused.\n *\n * @return {boolean} Sidebar is inert.\n */\n get: function () {\n return !this.opened && !this.dock;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * \"Normalizes\" position. For example, \"start\" would be \"left\" if the page is LTR.\n */\n Sidebar.prototype._normalizePosition = function () {\n var ltr = utils_1.isLTR();\n if (this.position === 'start') {\n this.position = ltr ? 'left' : 'right';\n }\n else if (this.position === 'end') {\n this.position = ltr ? 'right' : 'left';\n }\n };\n Sidebar.decorators = [\n { type: core_1.Component, args: [{\n selector: 'ng-sidebar',\n template: \"\\n \\n \",\n styles: [\"\\n .ng-sidebar {\\n -webkit-overflow-scrolling: touch;\\n overflow: auto;\\n pointer-events: auto;\\n position: absolute;\\n touch-action: auto;\\n will-change: initial;\\n z-index: 2;\\n }\\n\\n .ng-sidebar--left {\\n bottom: 0;\\n left: 0;\\n top: 0;\\n }\\n\\n .ng-sidebar--right {\\n bottom: 0;\\n right: 0;\\n top: 0;\\n }\\n\\n .ng-sidebar--top {\\n left: 0;\\n right: 0;\\n top: 0;\\n }\\n\\n .ng-sidebar--bottom {\\n bottom: 0;\\n left: 0;\\n right: 0;\\n }\\n\\n .ng-sidebar--inert {\\n pointer-events: none;\\n touch-action: none;\\n will-change: transform;\\n }\\n\\n .ng-sidebar--animate {\\n -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.3, 1);\\n transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1);\\n }\\n \"],\n changeDetection: core_1.ChangeDetectionStrategy.OnPush\n },] },\n ];\n /** @nocollapse */\n Sidebar.ctorParameters = function () { return [\n { type: sidebar_container_component_1.SidebarContainer, decorators: [{ type: core_1.Optional }] },\n { type: core_1.ChangeDetectorRef },\n { type: Object, decorators: [{ type: core_1.Inject, args: [core_1.PLATFORM_ID,] }] }\n ]; };\n Sidebar.propDecorators = {\n opened: [{ type: core_1.Input }],\n openedChange: [{ type: core_1.Output }],\n mode: [{ type: core_1.Input }],\n dock: [{ type: core_1.Input }],\n dockedSize: [{ type: core_1.Input }],\n position: [{ type: core_1.Input }],\n animate: [{ type: core_1.Input }],\n autoCollapseHeight: [{ type: core_1.Input }],\n autoCollapseWidth: [{ type: core_1.Input }],\n autoCollapseOnInit: [{ type: core_1.Input }],\n sidebarClass: [{ type: core_1.Input }],\n ariaLabel: [{ type: core_1.Input }],\n trapFocus: [{ type: core_1.Input }],\n autoFocus: [{ type: core_1.Input }],\n showBackdrop: [{ type: core_1.Input }],\n closeOnClickBackdrop: [{ type: core_1.Input }],\n closeOnClickOutside: [{ type: core_1.Input }],\n keyClose: [{ type: core_1.Input }],\n keyCode: [{ type: core_1.Input }],\n onOpenStart: [{ type: core_1.Output }],\n onOpened: [{ type: core_1.Output }],\n onCloseStart: [{ type: core_1.Output }],\n onClosed: [{ type: core_1.Output }],\n onTransitionEnd: [{ type: core_1.Output }],\n onModeChange: [{ type: core_1.Output }],\n onPositionChange: [{ type: core_1.Output }],\n _onRerender: [{ type: core_1.Output }],\n _elSidebar: [{ type: core_1.ViewChild, args: ['sidebar',] }]\n };\n return Sidebar;\n}());\nexports.Sidebar = Sidebar;\n","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n }\n _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","import {NgZone} from '@angular/core';\nimport {Observable, OperatorFunction} from 'rxjs';\n\nexport function toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n}\n\nexport function toString(value: any): string {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\n\nexport function getValueInRange(value: number, max: number, min = 0): number {\n return Math.max(Math.min(value, max), min);\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: any): value is number {\n return !isNaN(toInteger(value));\n}\n\nexport function isInteger(value: any): value is number {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nexport function isDefined(value: any): boolean {\n return value !== undefined && value !== null;\n}\n\nexport function padNumber(value: number) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n}\n\nexport function regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport function hasClassName(element: any, className: string): boolean {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s: string) {\n let el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (el.matches(s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nexport function closest(element: HTMLElement, selector?: string): HTMLElement | null {\n if (!selector) {\n return null;\n }\n\n /*\n * In certain browsers (e.g. Edge 44.18362.449.0) HTMLDocument does\n * not support `Element.prototype.closest`. To emulate the correct behaviour\n * we return null when the method is missing.\n *\n * Note that in evergreen browsers `closest(document.documentElement, 'html')`\n * will return the document element whilst in Edge null will be returned. This\n * compromise was deemed good enough.\n */\n if (typeof element.closest === 'undefined') {\n return null;\n }\n\n return element.closest(selector);\n}\n\n/**\n * Force a browser reflow\n * @param element element where to apply the reflow\n */\nexport function reflow(element: HTMLElement) {\n return (element || document.body).offsetHeight;\n}\n\n/**\n * Creates an observable where all callbacks are executed inside a given zone\n *\n * @param zone\n */\nexport function runInZone(zone: NgZone): OperatorFunction {\n return (source) => {\n return new Observable(observer => {\n const onNext = (value: T) => zone.run(() => observer.next(value));\n const onError = (e: any) => zone.run(() => observer.error(e));\n const onComplete = () => zone.run(() => observer.complete());\n return source.subscribe(onNext, onError, onComplete);\n });\n };\n}\n","export const environment = {\n animation: true,\n transitionTimerDelayMs: 5,\n};\n","import {Injectable} from '@angular/core';\nimport {environment} from './environment';\n\n/**\n * Global ng-bootstrap config\n *\n * @since 8.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbConfig {\n animation = environment.animation;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all accordions used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAccordionConfig {\n closeOthers = false;\n type: string;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","export function getTransitionDurationMs(element: HTMLElement) {\n const {transitionDelay, transitionDuration} = window.getComputedStyle(element);\n const transitionDelaySec = parseFloat(transitionDelay);\n const transitionDurationSec = parseFloat(transitionDuration);\n\n return (transitionDelaySec + transitionDurationSec) * 1000;\n}\n","import {NgZone} from '@angular/core';\nimport {EMPTY, fromEvent, Observable, of, race, Subject, timer} from 'rxjs';\nimport {endWith, filter, takeUntil} from 'rxjs/operators';\nimport {getTransitionDurationMs} from './util';\nimport {environment} from '../../environment';\nimport {runInZone} from '../util';\n\nexport type NgbTransitionStartFn = (element: HTMLElement, animation: boolean, context: T) =>\n NgbTransitionEndFn | void;\nexport type NgbTransitionEndFn = () => void;\n\nexport interface NgbTransitionOptions {\n animation: boolean;\n runningTransition: 'continue' | 'stop';\n context?: T;\n}\n\nexport interface NgbTransitionCtx {\n transition$: Subject;\n complete: () => void;\n context: T;\n}\n\nconst noopFn: NgbTransitionEndFn = () => {};\n\nconst {transitionTimerDelayMs} = environment;\nconst runningTransitions = new Map>();\n\nexport const ngbRunTransition =\n (zone: NgZone, element: HTMLElement, startFn: NgbTransitionStartFn, options: NgbTransitionOptions):\n Observable => {\n\n // Getting initial context from options\n let context = options.context || {};\n\n // Checking if there are already running transitions on the given element.\n const running = runningTransitions.get(element);\n if (running) {\n switch (options.runningTransition) {\n // If there is one running and we want for it to 'continue' to run, we have to cancel the new one.\n // We're not emitting any values, but simply completing the observable (EMPTY).\n case 'continue':\n return EMPTY;\n // If there is one running and we want for it to 'stop', we have to complete the running one.\n // We're simply completing the running one and not emitting any values and merging newly provided context\n // with the one coming from currently running transition.\n case 'stop':\n zone.run(() => running.transition$.complete());\n context = Object.assign(running.context, context);\n runningTransitions.delete(element);\n }\n }\n\n // Running the start function\n const endFn = startFn(element, options.animation, context) || noopFn;\n\n // If 'prefer-reduced-motion' is enabled, the 'transition' will be set to 'none'.\n // If animations are disabled, we have to emit a value and complete the observable\n // In this case we have to call the end function, but can finish immediately by emitting a value,\n // completing the observable and executing end functions synchronously.\n if (!options.animation || window.getComputedStyle(element).transitionProperty === 'none') {\n zone.run(() => endFn());\n return of(undefined).pipe(runInZone(zone));\n }\n\n // Starting a new transition\n const transition$ = new Subject();\n const finishTransition$ = new Subject();\n const stop$ = transition$.pipe(endWith(true));\n runningTransitions.set(element, {\n transition$,\n complete: () => {\n finishTransition$.next();\n finishTransition$.complete();\n },\n context\n });\n\n const transitionDurationMs = getTransitionDurationMs(element);\n\n // 1. We have to both listen for the 'transitionend' event and have a 'just-in-case' timer,\n // because 'transitionend' event might not be fired in some browsers, if the transitioning\n // element becomes invisible (ex. when scrolling, making browser tab inactive, etc.). The timer\n // guarantees, that we'll release the DOM element and complete 'ngbRunTransition'.\n // 2. We need to filter transition end events, because they might bubble from shorter transitions\n // on inner DOM elements. We're only interested in the transition on the 'element' itself.\n zone.runOutsideAngular(() => {\n const transitionEnd$ =\n fromEvent(element, 'transitionend').pipe(takeUntil(stop$), filter(({target}) => target === element));\n const timer$ = timer(transitionDurationMs + transitionTimerDelayMs).pipe(takeUntil(stop$));\n\n race(timer$, transitionEnd$, finishTransition$).pipe(takeUntil(stop$)).subscribe(() => {\n runningTransitions.delete(element);\n zone.run(() => {\n endFn();\n transition$.next();\n transition$.complete();\n });\n });\n });\n\n return transition$.asObservable();\n };\n\nexport const ngbCompleteTransition = (element: HTMLElement) => {\n runningTransitions.get(element) ?.complete();\n};\n","import {NgbTransitionStartFn} from './ngbTransition';\nimport {reflow} from '../util';\n\nexport interface NgbCollapseCtx {\n direction: 'show' | 'hide';\n maxHeight?: string;\n}\n\nfunction measureCollapsingElementHeightPx(element: HTMLElement): string {\n // SSR fix for without injecting the PlatformId\n if (typeof navigator === 'undefined') {\n return '0px';\n }\n\n const {classList} = element;\n const hasShownClass = classList.contains('show');\n if (!hasShownClass) {\n classList.add('show');\n }\n\n element.style.height = '';\n const height = element.getBoundingClientRect().height + 'px';\n\n if (!hasShownClass) {\n classList.remove('show');\n }\n\n return height;\n}\n\nexport const ngbCollapsingTransition: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, context: NgbCollapseCtx) => {\n let {direction, maxHeight} = context;\n const {classList} = element;\n\n function setInitialClasses() {\n classList.add('collapse');\n if (direction === 'show') {\n classList.add('show');\n } else {\n classList.remove('show');\n }\n }\n\n // without animations we just need to set initial classes\n if (!animation) {\n setInitialClasses();\n return;\n }\n\n // No maxHeight -> running the transition for the first time\n if (!maxHeight) {\n maxHeight = measureCollapsingElementHeightPx(element);\n context.maxHeight = maxHeight;\n\n // Fix the height before starting the animation\n element.style.height = direction !== 'show' ? maxHeight : '0px';\n\n classList.remove('collapse');\n classList.remove('collapsing');\n classList.remove('show');\n\n reflow(element);\n\n // Start the animation\n classList.add('collapsing');\n }\n\n // Start or revert the animation\n element.style.height = direction === 'show' ? maxHeight : '0px';\n\n return () => {\n setInitialClasses();\n classList.remove('collapsing');\n element.style.height = '';\n };\n };\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n NgZone,\n} from '@angular/core';\n\nimport {isString} from '../util/util';\n\nimport {NgbAccordionConfig} from './accordion-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {take} from 'rxjs/operators';\n\nlet nextId = 0;\n\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\nexport class NgbPanelHeader {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\nexport class NgbPanelTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps the accordion panel content.\n */\n@Directive({selector: 'ng-template[ngbPanelContent]'})\nexport class NgbPanelContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\n@Directive({selector: 'ngb-panel'})\nexport class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n @Input() disabled = false;\n\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n @Input() id = `ngb-panel-${nextId++}`;\n\n isOpen = false;\n\n /* A flag to specified that the transition panel classes have been initialized */\n initClassDone = false;\n\n /* A flag to specified if the panel is currently being animated, to ensure its presence in the dom */\n transitionRunning = false;\n\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n @Input() title: string;\n\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n @Input() cardClass: string;\n\n /**\n * An event emitted when the panel is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the panel is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n titleTpl: NgbPanelTitle;\n headerTpl: NgbPanelHeader;\n contentTpl: NgbPanelContent;\n\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.headerTpl = this.headerTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel being toggled.\n */\n panelId: string;\n\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\n@Component({\n selector: 'ngb-accordion',\n exportAs: 'ngbAccordion',\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\n template: `\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n `\n})\nexport class NgbAccordion implements AfterContentChecked {\n @ContentChildren(NgbPanel) panels: QueryList;\n\n /**\n * If `true`, accordion will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation;\n\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n @Input() activeIds: string | readonly string[] = [];\n\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n @Input('closeOthers') closeOtherPanels: boolean;\n\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n @Input() destroyOnHide = true;\n\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n @Output() panelChange = new EventEmitter();\n\n /**\n * An event emitted when the expanding animation is finished on the panel. The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapsing animation is finished on the panel, and before the panel element is removed.\n * The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n config: NgbAccordionConfig, private _element: ElementRef, private _ngZone: NgZone,\n private _changeDetector: ChangeDetectorRef) {\n this.animation = config.animation;\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\n\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\n\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n } else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\n }\n }\n\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\n\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n\n // update panels open states\n this.panels.forEach(panel => { panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1; });\n\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0], false);\n this._updateActiveIds();\n }\n\n // Setup the initial classes here\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.panels.forEach(panel => {\n const panelElement = this._getPanelElement(panel.id);\n if (panelElement) {\n if (!panel.initClassDone) {\n panel.initClassDone = true;\n ngbRunTransition(this._ngZone, panelElement, ngbCollapsingTransition, {\n animation: false,\n runningTransition: 'continue',\n context: {direction: panel.isOpen ? 'show' : 'hide'}\n });\n }\n } else {\n // Classes must be initialized next time it will be in the dom\n panel.initClassDone = false;\n }\n });\n });\n }\n\n private _changeOpenState(panel: NgbPanel | null, nextState: boolean) {\n if (panel != null && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n\n this.panelChange.emit(\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n panel.transitionRunning = true;\n\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n this._runTransitions(this.animation);\n }\n }\n }\n\n private _closeOthers(panelId: string, enableTransition = true) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId && panel.isOpen) {\n panel.isOpen = false;\n panel.transitionRunning = enableTransition;\n }\n });\n }\n\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId) || null; }\n\n private _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n\n private _runTransitions(animation: boolean) {\n // detectChanges is performed to ensure that all panels are in the dom (via transitionRunning = true)\n // before starting the animation\n this._changeDetector.detectChanges();\n\n this.panels.forEach(panel => {\n // When panel.transitionRunning is true, the transition needs to be started OR reversed,\n // The direction (show or hide) is choosen by each panel.isOpen state\n if (panel.transitionRunning) {\n const panelElement = this._getPanelElement(panel.id);\n ngbRunTransition(this._ngZone, panelElement !, ngbCollapsingTransition, {\n animation,\n runningTransition: 'stop',\n context: {direction: panel.isOpen ? 'show' : 'hide'}\n }).subscribe(() => {\n panel.transitionRunning = false;\n const {id} = panel;\n if (panel.isOpen) {\n panel.shown.emit();\n this.shown.emit(id);\n } else {\n panel.hidden.emit();\n this.hidden.emit(id);\n }\n });\n }\n });\n }\n\n private _getPanelElement(panelId: string): HTMLElement | null {\n return this._element.nativeElement.querySelector('#' + panelId);\n }\n}\n\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\n@Directive({\n selector: 'button[ngbPanelToggle]',\n host: {\n 'type': 'button',\n '[disabled]': 'panel.disabled',\n '[class.collapsed]': '!panel.isOpen',\n '[attr.aria-expanded]': 'panel.isOpen',\n '[attr.aria-controls]': 'panel.id',\n '(click)': 'accordion.toggle(panel.id)'\n }\n})\nexport class NgbPanelToggle {\n static ngAcceptInputType_ngbPanelToggle: NgbPanel | '';\n\n @Input()\n set ngbPanelToggle(panel: NgbPanel) {\n if (panel) {\n this.panel = panel;\n }\n }\n\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\n\nexport {\n NgbAccordion,\n NgbPanel,\n NgbPanelTitle,\n NgbPanelContent,\n NgbPanelChangeEvent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelToggle\n} from './accordion';\nexport {NgbAccordionConfig} from './accordion-config';\n\nconst NGB_ACCORDION_DIRECTIVES =\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\n\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\nexport class NgbAccordionModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all alerts used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAlertConfig {\n dismissible = true;\n type = 'warning';\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\n\nexport const ngbAlertFadingTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n};\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation,\n NgZone\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {NgbAlertConfig} from './alert-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbAlertFadingTransition} from './alert-transition';\n\n/**\n * Alert is a component to provide contextual feedback messages for user.\n *\n * It supports several alert types and can be dismissed.\n */\n@Component({\n selector: 'ngb-alert',\n exportAs: 'ngbAlert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host:\n {'role': 'alert', 'class': 'alert show', '[class.fade]': 'animation', '[class.alert-dismissible]': 'dismissible'},\n template: `\n \n \n `,\n styleUrls: ['./alert.scss']\n})\nexport class NgbAlert implements OnInit,\n OnChanges {\n /**\n * If `true`, alert closing will be animated.\n *\n * Animation is triggered only when clicked on the close button (×)\n * or via the `.close()` function\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, alert can be dismissed by the user.\n *\n * The close button (×) will be displayed and you can be notified\n * of the event with the `(close)` output.\n */\n @Input() dismissible: boolean;\n\n /**\n * Type of the alert.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n *\n * @since 8.0.0\n */\n @Output() closed = new EventEmitter();\n\n\n constructor(\n config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef, private _zone: NgZone) {\n this.dismissible = config.dismissible;\n this.type = config.type;\n this.animation = config.animation;\n }\n\n /**\n * Triggers alert closing programmatically (same as clicking on the close button (×)).\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(closed)` output\n *\n * @since 8.0.0\n */\n close(): Observable {\n const transition = ngbRunTransition(\n this._zone, this._element.nativeElement, ngbAlertFadingTransition,\n {animation: this.animation, runningTransition: 'continue'});\n transition.subscribe(() => this.closed.emit());\n return transition;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const typeChange = changes['type'];\n if (typeChange && !typeChange.firstChange) {\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\n }\n }\n\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAlert} from './alert';\n\nexport {NgbAlert} from './alert';\nexport {NgbAlertConfig} from './alert-config';\n\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\nexport class NgbAlertModule {\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[ngbButtonLabel]',\n host:\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\n})\nexport class NgbButtonLabel {\n active: boolean;\n disabled: boolean;\n focused: boolean;\n}\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\n/**\n * Allows to easily create Bootstrap-style checkbox buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbButton][type=checkbox]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '(change)': 'onInputChange($event)',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n },\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbCheckBox), multi: true}]\n})\nexport class NgbCheckBox implements ControlValueAccessor {\n static ngAcceptInputType_disabled: boolean | '';\n\n checked;\n\n /**\n * If `true`, the checkbox button will be disabled\n */\n @Input() disabled = false;\n\n /**\n * The form control value when the checkbox is checked.\n */\n @Input() valueChecked = true;\n\n /**\n * The form control value when the checkbox is unchecked.\n */\n @Input() valueUnChecked = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n set focused(isFocused: boolean) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\n\n onInputChange($event) {\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\n this.onChange(modelToPropagate);\n this.onTouched();\n this.writeValue(modelToPropagate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nlet nextId = 0;\n\n/**\n * Allows to easily create Bootstrap-style radio buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbRadioGroup]',\n host: {'role': 'radiogroup'},\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRadioGroup), multi: true}]\n})\nexport class NgbRadioGroup implements ControlValueAccessor {\n private _radios: Set = new Set();\n private _value = null;\n private _disabled: boolean;\n\n get disabled() { return this._disabled; }\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\n\n /**\n * Name of the radio group applied to radio input elements.\n *\n * Will be applied to all radio input elements inside the group,\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\n *\n * If not provided, will be generated in the `ngb-radio-xx` format.\n */\n @Input() name = `ngb-radio-${nextId++}`;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n onRadioChange(radio: NgbRadio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n\n onRadioValueUpdate() { this._updateRadiosValue(); }\n\n register(radio: NgbRadio) { this._radios.add(radio); }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\n\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n}\n\n\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\n@Directive({\n selector: '[ngbButton][type=radio]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '[name]': 'nameAttr',\n '(change)': 'onChange()',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n }\n})\nexport class NgbRadio implements OnDestroy {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _checked: boolean;\n private _disabled: boolean;\n private _value: any = null;\n\n /**\n * The value for the 'name' property of the input element.\n *\n * All inputs of the radio group should have the same name. If not specified,\n * the name of the enclosing group is used.\n */\n @Input() name: string;\n\n /**\n * The form control value when current radio button is checked.\n */\n @Input('value')\n set value(value: any) {\n this._value = value;\n const stringValue = value ? value.toString() : '';\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\n this._group.onRadioValueUpdate();\n }\n\n /**\n * If `true`, current radio button will be disabled.\n */\n @Input('disabled')\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n\n set focused(isFocused: boolean) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n\n get checked() { return this._checked; }\n\n get disabled() { return this._group.disabled || this._disabled; }\n\n get value() { return this._value; }\n\n get nameAttr() { return this.name || this._group.name; }\n\n constructor(\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\n this._group.register(this);\n this.updateDisabled();\n }\n\n ngOnDestroy() { this._group.unregister(this); }\n\n onChange() { this._group.onRadioChange(this); }\n\n updateValue(value) {\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n if (this.value !== value) {\n this._cd.markForCheck();\n }\n\n this._checked = this.value === value;\n this._label.active = this._checked;\n }\n\n updateDisabled() { this._label.disabled = this.disabled; }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbButtonLabel} from './label';\nimport {NgbCheckBox} from './checkbox';\nimport {NgbRadio, NgbRadioGroup} from './radio';\n\nexport {NgbButtonLabel} from './label';\nexport {NgbCheckBox} from './checkbox';\nexport {NgbRadio, NgbRadioGroup} from './radio';\n\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\n\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\nexport class NgbButtonsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all carousels used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCarouselConfig {\n interval = 5000;\n wrap = true;\n keyboard = true;\n pauseOnHover = true;\n pauseOnFocus = true;\n showNavigationArrows = true;\n showNavigationIndicators = true;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n/**\n * Defines the carousel slide transition direction.\n */\nexport enum NgbSlideEventDirection {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\nexport interface NgbCarouselCtx { direction: 'left' | 'right'; }\n\nconst isBeingAnimated = ({classList}: HTMLElement) => {\n return classList.contains('carousel-item-left') || classList.contains('carousel-item-right');\n};\n\nconst removeDirectionClasses = (classList: DOMTokenList) => {\n classList.remove('carousel-item-left');\n classList.remove('carousel-item-right');\n};\n\nconst removeClasses = (classList: DOMTokenList) => {\n removeDirectionClasses(classList);\n classList.remove('carousel-item-prev');\n classList.remove('carousel-item-next');\n};\n\nexport const ngbCarouselTransitionIn: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n\n if (!animation) {\n removeDirectionClasses(classList);\n removeClasses(classList);\n classList.add('active');\n return;\n }\n\n if (isBeingAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(classList);\n } else {\n // For the 'in' transition, a 'pre-class' is applied to the element to ensure its visibility\n classList.add('carousel-item-' + (direction === NgbSlideEventDirection.LEFT ? 'next' : 'prev'));\n reflow(element);\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(classList);\n classList.add('active');\n };\n };\n\nexport const ngbCarouselTransitionOut: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n\n if (!animation) {\n removeDirectionClasses(classList);\n removeClasses(classList);\n classList.remove('active');\n return;\n }\n\n // direction is left or right, depending on the way the slide goes out.\n if (isBeingAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(classList);\n } else {\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(classList);\n classList.remove('active');\n };\n };\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n AfterViewInit\n} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport {NgbCarouselConfig} from './carousel-config';\n\nimport {BehaviorSubject, combineLatest, NEVER, Observable, Subject, timer, zip} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap, take, takeUntil} from 'rxjs/operators';\nimport {ngbCompleteTransition, ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {\n ngbCarouselTransitionIn,\n ngbCarouselTransitionOut,\n NgbSlideEventDirection,\n NgbCarouselCtx\n} from './carousel-transition';\n\nlet nextId = 0;\n\n/**\n * A directive that wraps the individual carousel slide.\n */\n@Directive({selector: 'ng-template[ngbSlide]'})\nexport class NgbSlide {\n /**\n * Slide id that must be unique for the entire document.\n *\n * If not provided, will be generated in the `ngb-slide-xx` format.\n */\n @Input() id = `ngb-slide-${nextId++}`;\n\n /**\n * An event emitted when the slide transition is finished\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n constructor(public tplRef: TemplateRef) {}\n}\n\n/**\n * Carousel is a component to easily create and control slideshows.\n *\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\n */\n@Component({\n selector: 'ngb-carousel',\n exportAs: 'ngbCarousel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'carousel slide',\n '[style.display]': '\"block\"',\n 'tabIndex': '0',\n '(keydown.arrowLeft)': 'keyboard && arrowLeft()',\n '(keydown.arrowRight)': 'keyboard && arrowRight()',\n '(mouseenter)': 'mouseHover = true',\n '(mouseleave)': 'mouseHover = false',\n '(focusin)': 'focused = true',\n '(focusout)': 'focused = false',\n '[attr.aria-activedescendant]': 'activeId'\n },\n template: `\n
    \n
  1. \n
\n
\n
\n \n Slide {{i + 1}} of {{c}}\n \n \n
\n
\n \n \n Previous\n \n \n \n Next\n \n `\n})\nexport class NgbCarousel implements AfterContentChecked,\n AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(NgbSlide) slides: QueryList;\n\n public NgbSlideEventSource = NgbSlideEventSource;\n\n private _destroy$ = new Subject();\n private _interval$ = new BehaviorSubject(0);\n private _mouseHover$ = new BehaviorSubject(false);\n private _focused$ = new BehaviorSubject(false);\n private _pauseOnHover$ = new BehaviorSubject(false);\n private _pauseOnFocus$ = new BehaviorSubject(false);\n private _pause$ = new BehaviorSubject(false);\n private _wrap$ = new BehaviorSubject(false);\n\n /**\n * A flag to enable/disable the animations.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * The slide id that should be displayed **initially**.\n *\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\n */\n @Input() activeId: string;\n\n /**\n * Time in milliseconds before the next slide is shown.\n */\n @Input()\n set interval(value: number) {\n this._interval$.next(value);\n }\n\n get interval() { return this._interval$.value; }\n\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n @Input()\n set wrap(value: boolean) {\n this._wrap$.next(value);\n }\n\n get wrap() { return this._wrap$.value; }\n\n /**\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\n */\n @Input() keyboard: boolean;\n\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n @Input()\n set pauseOnHover(value: boolean) {\n this._pauseOnHover$.next(value);\n }\n\n get pauseOnHover() { return this._pauseOnHover$.value; }\n\n /**\n * If `true`, will pause slide switching when the focus is inside the carousel.\n */\n @Input()\n set pauseOnFocus(value: boolean) {\n this._pauseOnFocus$.next(value);\n }\n\n get pauseOnFocus() { return this._pauseOnFocus$.value; }\n\n /**\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\n *\n * @since 2.2.0\n */\n @Input() showNavigationArrows: boolean;\n\n /**\n * If `true`, navigation indicators at the bottom of the slide will be visible.\n *\n * @since 2.2.0\n */\n @Input() showNavigationIndicators: boolean;\n\n /**\n * An event emitted just before the slide transition starts.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n */\n @Output() slide = new EventEmitter();\n\n /**\n * An event emitted right after the slide transition is completed.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n /*\n * Keep the ids of the panels currently transitionning\n * in order to allow only the transition revertion\n */\n private _transitionIds: [string, string] | null = null;\n\n set mouseHover(value: boolean) { this._mouseHover$.next(value); }\n\n get mouseHover() { return this._mouseHover$.value; }\n\n set focused(value: boolean) { this._focused$.next(value); }\n\n get focused() { return this._focused$.value; }\n\n constructor(\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\n private _cd: ChangeDetectorRef, private _container: ElementRef) {\n this.animation = config.animation;\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.pauseOnFocus = config.pauseOnFocus;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n\n arrowLeft() {\n this.focus();\n this.prev(NgbSlideEventSource.ARROW_LEFT);\n }\n\n arrowRight() {\n this.focus();\n this.next(NgbSlideEventSource.ARROW_RIGHT);\n }\n\n ngAfterContentInit() {\n // setInterval() doesn't play well with SSR and protractor,\n // so we should run it in the browser and outside Angular\n if (isPlatformBrowser(this._platformId)) {\n this._ngZone.runOutsideAngular(() => {\n const hasNextSlide$ = combineLatest([\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\n this._wrap$, this.slides.changes.pipe(startWith(null))\n ])\n .pipe(\n map(([currentSlideId, wrap]) => {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\n }),\n distinctUntilChanged());\n combineLatest([\n this._pause$, this._pauseOnHover$, this._mouseHover$, this._pauseOnFocus$, this._focused$, this._interval$,\n hasNextSlide$\n ])\n .pipe(\n map(([pause, pauseOnHover, mouseHover, pauseOnFocus, focused, interval,\n hasNextSlide]: [boolean, boolean, boolean, boolean, boolean, number, boolean]) =>\n ((pause || (pauseOnHover && mouseHover) || (pauseOnFocus && focused) || !hasNextSlide) ?\n 0 :\n interval)),\n\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\n takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._transitionIds ?.forEach(id => ngbCompleteTransition(this._getSlideElement(id)));\n this._transitionIds = null;\n\n this._cd.markForCheck();\n\n // The following code need to be done asynchronously, after the dom becomes stable,\n // otherwise all changes will be undone.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n for (const { id } of this.slides) {\n const element = this._getSlideElement(id);\n if (id === this.activeId) {\n element.classList.add('active');\n } else {\n element.classList.remove('active');\n }\n }\n });\n });\n }\n\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : '');\n }\n\n ngAfterViewInit() {\n // Initialize the 'active' class (not managed by the template)\n if (this.activeId) {\n const element = this._getSlideElement(this.activeId);\n if (element) {\n element.classList.add('active');\n }\n }\n }\n\n ngOnDestroy() { this._destroy$.next(); }\n\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId: string, source?: NgbSlideEventSource) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n\n /**\n * Navigates to the previous slide.\n */\n prev(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n\n /**\n * Navigates to the next slide.\n */\n next(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n\n /**\n * Set the focus on the carousel.\n */\n focus() { this._container.nativeElement.focus(); }\n\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\n const transitionIds = this._transitionIds;\n if (transitionIds && (transitionIds[0] !== slideIdx || transitionIds[1] !== this.activeId)) {\n // Revert prevented\n return;\n }\n\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this._transitionIds = [this.activeId, slideIdx];\n this.slide.emit(\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\n\n const options: NgbTransitionOptions = {\n animation: this.animation,\n runningTransition: 'stop',\n context: {direction},\n };\n\n const transitions: Array> = [];\n const activeSlide = this._getSlideById(this.activeId);\n if (activeSlide) {\n const activeSlideTransition =\n ngbRunTransition(this._ngZone, this._getSlideElement(activeSlide.id), ngbCarouselTransitionOut, options);\n activeSlideTransition.subscribe(() => { activeSlide.slid.emit({isShown: false, direction, source}); });\n transitions.push(activeSlideTransition);\n }\n\n const previousId = this.activeId;\n this.activeId = selectedSlide.id;\n const nextSlide = this._getSlideById(this.activeId);\n const transition =\n ngbRunTransition(this._ngZone, this._getSlideElement(selectedSlide.id), ngbCarouselTransitionIn, options);\n transition.subscribe(() => { nextSlide ?.slid.emit({isShown: true, direction, source}); });\n transitions.push(transition);\n\n zip(...transitions).pipe(take(1)).subscribe(() => {\n this._transitionIds = null;\n this.slid.emit(\n {prev: previousId, current: selectedSlide !.id, direction: direction, paused: this._pause$.value, source});\n });\n }\n\n // we get here after the interval fires or any external API call like next(), prev() or select()\n this._cd.markForCheck();\n }\n\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n\n private _getSlideById(slideId: string): NgbSlide | null {\n return this.slides.find(slide => slide.id === slideId) || null;\n }\n\n private _getSlideIdxById(slideId: string): number {\n const slide = this._getSlideById(slideId);\n return slide != null ? this.slides.toArray().indexOf(slide) : -1;\n }\n\n private _getNextSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n\n private _getPrevSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n\n private _getSlideElement(slideId: string): HTMLElement {\n return this._container.nativeElement.querySelector(`#slide-${slideId}`);\n }\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n */\nexport interface NgbSlideEvent {\n /**\n * The previous slide id.\n */\n prev: string;\n\n /**\n * The current slide id.\n */\n current: string;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Whether the pause() method was called (and no cycle() call was done afterwards).\n *\n * @since 5.1.0\n */\n paused: boolean;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n * @since 5.1.0\n */\n source?: NgbSlideEventSource;\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n *\n * @since 8.0.0\n */\nexport interface NgbSingleSlideEvent {\n /**\n * true if the slide is shown, false otherwise\n */\n isShown: boolean;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n */\n source?: NgbSlideEventSource;\n}\n\nexport enum NgbSlideEventSource {\n TIMER = 'timer',\n ARROW_LEFT = 'arrowLeft',\n ARROW_RIGHT = 'arrowRight',\n INDICATOR = 'indicator'\n}\n\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\n\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventSource} from './carousel';\nexport {NgbSlideEventDirection} from './carousel-transition';\nexport {NgbCarouselConfig} from './carousel-config';\n\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\nexport class NgbCarouselModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCollapse](#/components/collapse/api#NgbCollapse) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all collapses used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCollapseConfig {\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {NgbCollapseConfig} from './collapse-config';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\n@Directive({selector: '[ngbCollapse]', exportAs: 'ngbCollapse'})\nexport class NgbCollapse implements OnInit, OnChanges {\n /**\n * If `true`, collapse will be animated.\n *\n * Animation is triggered only when clicked on triggering element\n * or via the `.toggle()` function\n *\n * @since 8.0.0\n */\n @Input() animation;\n\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n @Input('ngbCollapse') collapsed = false;\n\n @Output() ngbCollapseChange = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n constructor(private _element: ElementRef, config: NgbCollapseConfig, private _zone: NgZone) {\n this.animation = config.animation;\n }\n\n ngOnInit() { this._runTransition(this.collapsed, false); }\n\n ngOnChanges({collapsed}: SimpleChanges) {\n if (!collapsed.firstChange) {\n this._runTransitionWithEvents(this.collapsed, this.animation);\n }\n }\n\n /**\n * Triggers collapsing programmatically.\n *\n * If there is a collapsing transition running already, it will be reversed.\n * If the animations are turned off this happens synchronously.\n *\n * @since 8.0.0\n */\n toggle(open: boolean = this.collapsed) {\n this.collapsed = !open;\n this.ngbCollapseChange.next(this.collapsed);\n this._runTransitionWithEvents(this.collapsed, this.animation);\n }\n\n private _runTransition(collapsed: boolean, animation: boolean) {\n return ngbRunTransition(\n this._zone, this._element.nativeElement, ngbCollapsingTransition,\n {animation, runningTransition: 'stop', context: {direction: collapsed ? 'hide' : 'show'}});\n }\n\n private _runTransitionWithEvents(collapsed: boolean, animation: boolean) {\n this._runTransition(collapsed, animation).subscribe(() => {\n if (collapsed) {\n this.hidden.emit();\n } else {\n this.shown.emit();\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbCollapse} from './collapse';\n\nexport {NgbCollapse} from './collapse';\nexport {NgbCollapseConfig} from './collapse-config';\n\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\nexport class NgbCollapseModule {\n}\n","import {NgbDateStruct} from './ngb-date-struct';\nimport {isInteger} from '../util/util';\n\n/**\n * A simple class that represents a date that datepicker also uses internally.\n *\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\n * like `.equals()`, `.before()`, etc.\n *\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\n *\n * In many cases it is simpler to manipulate these objects together with\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n *\n * @since 3.0.0\n */\nexport class NgbDate implements NgbDateStruct {\n /**\n * The year, for example 2016\n */\n year: number;\n\n /**\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\n */\n month: number;\n\n /**\n * The day of month, starting with 1\n */\n day: number;\n\n /**\n * A **static method** that creates a new date object from the `NgbDateStruct`,\n *\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\n *\n * If the `date` is already of `NgbDate` type, the method will return the same object.\n */\n static from(date?: NgbDateStruct | null): NgbDate | null {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n\n constructor(year: number, month: number, day: number) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\n }\n\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other?: NgbDateStruct | null): boolean {\n return other != null && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n\n /**\n * Checks if the current date is before another date.\n */\n before(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day < other.day;\n } else {\n return this.month < other.month;\n }\n } else {\n return this.year < other.year;\n }\n }\n\n /**\n * Checks if the current date is after another date.\n */\n after(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day > other.day;\n } else {\n return this.month > other.month;\n }\n } else {\n return this.year > other.year;\n }\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {Injectable} from '@angular/core';\nimport {isInteger} from '../util/util';\n\nexport function fromJSDate(jsDate: Date) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nexport function toJSDate(date: NgbDate) {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // this is done avoid 30 -> 1930 conversion\n if (!isNaN(jsDate.getTime())) {\n jsDate.setFullYear(date.year);\n }\n return jsDate;\n}\n\nexport type NgbPeriod = 'y' | 'm' | 'd';\n\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\n}\n\n/**\n * A service that represents the calendar used by the datepicker.\n *\n * The default implementation uses the Gregorian calendar. You can inject it in your own\n * implementations if necessary to simplify `NgbDate` calculations.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\nexport abstract class NgbCalendar {\n /**\n * Returns the number of days per week.\n */\n abstract getDaysPerWeek(): number;\n\n /**\n * Returns an array of months per year.\n *\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\n */\n abstract getMonths(year?: number): number[];\n\n /**\n * Returns the number of weeks per month.\n */\n abstract getWeeksPerMonth(): number;\n\n /**\n * Returns the weekday number for a given day.\n *\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\n */\n abstract getWeekday(date: NgbDate): number;\n\n /**\n * Adds a number of years, months or days to a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Subtracts a number of years, months or days from a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Returns the week number for a given week.\n */\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\n\n /**\n * Returns the today's date.\n */\n abstract getToday(): NgbDate;\n\n /**\n * Checks if a date is valid in the current calendar.\n */\n abstract isValid(date?: NgbDate | null): boolean;\n}\n\n@Injectable()\nexport class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\n\n switch (period) {\n case 'y':\n jsDate.setFullYear(jsDate.getFullYear() + number);\n break;\n case 'm':\n expectedMonth += number;\n jsDate.setMonth(expectedMonth);\n expectedMonth = expectedMonth % 12;\n if (expectedMonth < 0) {\n expectedMonth = expectedMonth + 12;\n }\n break;\n case 'd':\n jsDate.setDate(jsDate.getDate() + number);\n checkMonth = false;\n break;\n default:\n return date;\n }\n\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\n // this means the destination month has less days than the initial month\n // let's go back to the end of the previous month:\n jsDate.setDate(0);\n }\n\n return fromJSDate(jsDate);\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n let jsDate = toJSDate(date);\n let day = jsDate.getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\n\n const jsDate = toJSDate(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n jsDate.setMonth(0); // Compare with Jan 1\n jsDate.setDate(1);\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromJSDate(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n\n const jsDate = toJSDate(date);\n\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport function isChangedDate(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !dateComparator(prev, next);\n}\n\nexport function isChangedMonth(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\n\nexport function dateComparator(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\n\nexport function checkMinBeforeMax(minDate?: NgbDate | null, maxDate?: NgbDate | null): void {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\n\nexport function checkDateInRange(date?: NgbDate | null, minDate?: NgbDate | null, maxDate?: NgbDate | null): NgbDate |\n null {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n\n return date || null;\n}\n\nexport function isDateSelectable(date: NgbDate | null | undefined, state: DatepickerViewModel) {\n const {minDate, maxDate, disabled, markDisabled} = state;\n // clang-format off\n return !(\n date === null ||\n date === undefined ||\n disabled ||\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate))\n );\n // clang-format on\n}\n\nexport function generateSelectBoxMonths(\n calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n let months = calendar.getMonths(date.year);\n\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\n }\n\n if (maxDate && date.year === maxDate.year) {\n const index = months.findIndex(month => month === maxDate.month);\n months = months.slice(0, index + 1);\n }\n\n return months;\n}\n\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\n\n const length = end - start + 1;\n const numbers = Array(length);\n for (let i = 0; i < length; i++) {\n numbers[i] = start + i;\n }\n\n return numbers;\n}\n\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate | null) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\n return maxDate != null && nextDate.after(maxDate);\n}\n\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\n return minDate != null && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\n\nexport function buildMonths(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n force: boolean): MonthViewModel[] {\n const {displayMonths, months} = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\n\n // generate new first dates, nullify or reuse months\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\n months[i] = null;\n\n if (!force) {\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\n // move reused month back to months\n if (reusedIndex !== -1) {\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\n }\n }\n\n return firstDate;\n });\n\n // rebuild nullified months\n firstDates.forEach((firstDate, i) => {\n if (months[i] === null) {\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\n }\n });\n\n return months;\n}\n\nexport function buildMonth(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays} = state;\n const calendarToday = calendar.getToday();\n\n month.firstDate = null;\n month.lastDate = null;\n month.number = date.month;\n month.year = date.year;\n month.weeks = month.weeks || [];\n month.weekdays = month.weekdays || [];\n\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\n\n // month has weeks\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\n let weekObject = month.weeks[week];\n if (!weekObject) {\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\n }\n const days = weekObject.days;\n\n // week has days\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\n if (week === 0) {\n month.weekdays[day] = calendar.getWeekday(date);\n }\n\n const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n\n const ariaLabel = i18n.getDayAriaLabel(newDate);\n\n // marking date as disabled\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\n if (!disabled && markDisabled) {\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\n }\n\n // today\n let today = newDate.equals(calendarToday);\n\n // adding user-provided data to the context\n let contextUserData =\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\n\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {} as DayViewModel;\n }\n dayObject.date = newDate;\n dayObject.context = Object.assign(dayObject.context || {}, {\n $implicit: newDate,\n date: newDate,\n data: contextUserData,\n currentMonth: month.number,\n currentYear: month.year, disabled,\n focused: false,\n selected: false, today\n });\n dayObject.tabindex = -1;\n dayObject.ariaLabel = ariaLabel;\n dayObject.hidden = false;\n\n date = nextDate;\n }\n\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\n\n // marking week as collapsed\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\n days[days.length - 1].date.month !== month.number;\n }\n\n return month;\n}\n\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\n const daysPerWeek = calendar.getDaysPerWeek();\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth, formatDate} from '@angular/common';\nimport {NgbDateStruct} from './ngb-date-struct';\n\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\n}\n\n/**\n * A service supplying i18n data to the datepicker component.\n *\n * The default implementation of this service uses the Angular locale and registered locale data for\n * weekdays and month names (as explained in the Angular i18n guide).\n *\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\n * numerals. For other static labels the datepicker uses the default Angular i18n.\n *\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\n * a custom provider for i18n.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbDatepickerI18n {\n /**\n * Returns the short weekday name to display in the heading of the month view.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n abstract getWeekdayShortName(weekday: number): string;\n\n /**\n * Returns the short month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthShortName(month: number, year?: number): string;\n\n /**\n * Returns the full month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthFullName(month: number, year?: number): string;\n\n /**\n * Returns the value of the `aria-label` attribute for a specific date.\n *\n * @since 2.0.0\n */\n abstract getDayAriaLabel(date: NgbDateStruct): string;\n\n /**\n * Returns the textual representation of a day that is rendered in a day cell.\n *\n * @since 3.0.0\n */\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\n\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\n\n /**\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\n *\n * @since 3.0.0\n */\n getYearNumerals(year: number): string { return `${year}`; }\n}\n\n@Injectable()\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n private _weekdaysShort: Array;\n private _monthsShort: Array;\n private _monthsFull: Array;\n\n constructor(@Inject(LOCALE_ID) private _locale: string) {\n super();\n\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n\n getWeekdayShortName(weekday: number): string { return this._weekdaysShort[weekday - 1] || ''; }\n\n getMonthShortName(month: number): string { return this._monthsShort[month - 1] || ''; }\n\n getMonthFullName(month: number): string { return this._monthsFull[month - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n}\n","import {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\nimport {Injectable} from '@angular/core';\nimport {isInteger, toInteger} from '../util/util';\nimport {Observable, Subject} from 'rxjs';\nimport {\n buildMonths,\n checkDateInRange,\n checkMinBeforeMax,\n isChangedDate,\n isChangedMonth,\n isDateSelectable,\n generateSelectBoxYears,\n generateSelectBoxMonths,\n prevMonthDisabled,\n nextMonthDisabled\n} from './datepicker-tools';\n\nimport {filter} from 'rxjs/operators';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport interface DatepickerServiceInputs extends Partial<\n Required>> {}\n\n@Injectable()\nexport class NgbDatepickerService {\n private _VALIDATORS:\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial| void} = {\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return {dayTemplateData};\n }\n },\n displayMonths: (displayMonths: number) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return {displayMonths};\n }\n },\n disabled: (disabled: boolean) => {\n if (this._state.disabled !== disabled) {\n return {disabled};\n }\n },\n firstDayOfWeek: (firstDayOfWeek: number) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return {firstDayOfWeek};\n }\n },\n focusVisible: (focusVisible: boolean) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return {focusVisible};\n }\n },\n markDisabled: (markDisabled: NgbMarkDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return {markDisabled};\n }\n },\n maxDate: (date: NgbDate) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return {maxDate};\n }\n },\n minDate: (date: NgbDate) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return {minDate};\n }\n },\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\n if (this._state.navigation !== navigation) {\n return {navigation};\n }\n },\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\n if (this._state.outsideDays !== outsideDays) {\n return {outsideDays};\n }\n }\n };\n\n private _model$ = new Subject();\n\n private _dateSelect$ = new Subject();\n\n private _state: DatepickerViewModel = {\n dayTemplateData: null,\n markDisabled: null,\n maxDate: null,\n minDate: null,\n disabled: false,\n displayMonths: 1,\n firstDate: null,\n firstDayOfWeek: 1,\n lastDate: null,\n focusDate: null,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectedDate: null,\n selectBoxes: {years: [], months: []}\n };\n\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\n\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\n\n set(options: DatepickerServiceInputs) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => ({...obj, ...part}), {});\n\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\n\n focus(date?: NgbDate | null) {\n const focusedDate = this.toValidDate(date, null);\n if (focusedDate != null && !this._state.disabled && isChangedDate(this._state.focusDate, focusedDate)) {\n this._nextState({focusDate: date});\n }\n }\n\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, {emitEvent: true});\n }\n }\n\n open(date?: NgbDate | null) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (firstDate != null && !this._state.disabled &&\n (!this._state.firstDate || isChangedMonth(this._state.firstDate, firstDate))) {\n this._nextState({firstDate});\n }\n }\n\n select(date?: NgbDate | null, options: {emitEvent?: boolean} = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (selectedDate != null && !this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({selectedDate});\n }\n\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n\n toValidDate(date?: NgbDateStruct | null, defaultValue?: NgbDate | null): NgbDate | null {\n const ngbDate = NgbDate.from(date);\n if (defaultValue === undefined) {\n defaultValue = this._calendar.getToday();\n }\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\n }\n\n getMonth(struct: NgbDateStruct) {\n for (let month of this._state.months) {\n if (struct.month === month.number && struct.year === month.year) {\n return month;\n }\n }\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\n }\n\n private _nextState(patch: Partial) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n\n private _patchContexts(state: DatepickerViewModel) {\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\n state.months.forEach(month => {\n month.weeks.forEach(week => {\n week.days.forEach(day => {\n\n // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n\n // calculating tabindex\n day.tabindex =\n !disabled && focusDate && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\n }\n\n // visibility\n if (month.number !== day.date.month) {\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\n day.date.before(months[displayMonths - 1].lastDate));\n }\n });\n });\n });\n }\n\n private _updateState(patch: Partial): DatepickerViewModel {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n\n let startDate = state.firstDate;\n\n // min/max dates changed\n if ('minDate' in patch || 'maxDate' in patch) {\n checkMinBeforeMax(state.minDate, state.maxDate);\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n }\n\n // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\n }\n\n // focus date changed\n if ('focusDate' in patch) {\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n\n // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && state.focusDate && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\n }\n }\n\n // first date changed\n if ('firstDate' in patch) {\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.firstDate;\n }\n\n // rebuilding months\n if (startDate) {\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch;\n\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months[0].firstDate;\n state.lastDate = months[months.length - 1].lastDate;\n\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (!state.focusDate || state.focusDate.before(state.firstDate) || state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\n }\n }\n\n // adjusting months/years for the select box navigation\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\n if (state.navigation === 'select') {\n // years -> boundaries (min/max were changed)\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\n }\n\n // months -> when current year or boundaries change\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\n state.selectBoxes.months =\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\n }\n } else {\n state.selectBoxes = {years: [], months: []};\n }\n\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\n }\n }\n\n return state;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DayTemplateContext} from './datepicker-day-template-context';\n\nexport type NgbMarkDisabled = (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\nexport type NgbDayTemplateData = (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n\nexport type DayViewModel = {\n date: NgbDate,\n context: DayTemplateContext,\n tabindex: number,\n ariaLabel: string,\n hidden: boolean\n};\n\nexport type WeekViewModel = {\n number: number,\n days: DayViewModel[],\n collapsed: boolean\n};\n\nexport type MonthViewModel = {\n firstDate: NgbDate,\n lastDate: NgbDate,\n number: number,\n year: number,\n weeks: WeekViewModel[],\n weekdays: number[]\n};\n\n// clang-format off\nexport type DatepickerViewModel = {\n dayTemplateData: NgbDayTemplateData | null,\n disabled: boolean,\n displayMonths: number,\n firstDate: NgbDate | null,\n firstDayOfWeek: number,\n focusDate: NgbDate | null,\n focusVisible: boolean,\n lastDate: NgbDate | null,\n markDisabled: NgbMarkDisabled | null,\n maxDate: NgbDate | null,\n minDate: NgbDate | null,\n months: MonthViewModel[],\n navigation: 'select' | 'arrows' | 'none',\n outsideDays: 'visible' | 'collapsed' | 'hidden',\n prevDisabled: boolean,\n nextDisabled: boolean,\n selectBoxes: {\n years: number[],\n months: number[]\n },\n selectedDate: NgbDate | null\n};\n// clang-format on\n\nexport enum NavigationEvent {\n PREV,\n NEXT\n}\n","import {Injectable, TemplateRef} from '@angular/core';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerConfig {\n dayTemplate: TemplateRef;\n dayTemplateData: (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n footerTemplate: TemplateRef;\n displayMonths = 1;\n firstDayOfWeek = 1;\n markDisabled: (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n navigation: 'select' | 'arrows' | 'none' = 'select';\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\n showWeekdays = true;\n showWeekNumbers = false;\n startDate: {year: number, month: number};\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\n * any provided user date model `D`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding datepicker to a form control,\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\n *\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\nexport abstract class NgbDateAdapter {\n /**\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\n */\n abstract fromModel(value: D | null): NgbDateStruct | null;\n\n /**\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\n */\n abstract toModel(date: NgbDateStruct | null): D | null;\n}\n\n@Injectable()\nexport class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n}\n","import {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\nimport {hasClassName} from '../util/util';\n\n/**\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\n */\nexport interface NgbDatepickerNavigateEvent {\n /**\n * The currently displayed month.\n */\n current: {year: number, month: number} | null;\n\n /**\n * The month we're navigating to.\n */\n next: {year: number, month: number};\n\n /**\n * Calling this function will prevent navigation from happening.\n *\n * @since 4.1.0\n */\n preventDefault: () => void;\n}\n\n/**\n * An interface that represents the readonly public state of the datepicker.\n *\n * Accessible via the `datepicker.state` getter\n *\n * @since 5.2.0\n */\nexport interface NgbDatepickerState {\n /**\n * The earliest date that can be displayed or selected\n */\n readonly minDate: NgbDate | null;\n\n /**\n * The latest date that can be displayed or selected\n */\n readonly maxDate: NgbDate | null;\n\n /**\n * The first visible date of currently displayed months\n */\n readonly firstDate: NgbDate;\n\n /**\n * The last visible date of currently displayed months\n */\n readonly lastDate: NgbDate;\n\n /**\n * The date currently focused by the datepicker\n */\n readonly focusedDate: NgbDate;\n\n /**\n * First dates of months currently displayed by the datepicker\n *\n * @since 5.3.0\n */\n readonly months: NgbDate[];\n}\n\n/**\n * A directive that marks the content template that customizes the way datepicker months are displayed\n *\n * @since 5.3.0\n */\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\nexport class NgbDatepickerContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A highly configurable component that helps you with selecting calendar dates.\n *\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\n */\n@Component({\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker.scss'],\n template: `\n \n
\n
\n
\n\n \n
\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n\n \n `,\n providers:\n [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbDatepicker), multi: true}, NgbDatepickerService]\n})\nexport class NgbDatepicker implements OnDestroy,\n OnChanges, OnInit, ControlValueAccessor {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n model: DatepickerViewModel;\n\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\n\n private _controlValue: NgbDate | null = null;\n private _destroyed$ = new Subject();\n private _publicState: NgbDatepickerState = {};\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The latest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * The earliest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * An event emitted right before the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 5.2.0\n */\n @Output() dateSelect = new EventEmitter();\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate !;\n const oldDate = this.model ? this.model.firstDate : null;\n\n // update public state\n this._publicState = {\n maxDate: model.maxDate,\n minDate: model.minDate,\n firstDate: model.firstDate !,\n lastDate: model.lastDate !,\n focusedDate: model.focusDate !,\n months: model.months.map(viewModel => viewModel.firstDate)\n };\n\n let navigationPrevented = false;\n // emitting navigation event if the first month changes\n if (!newDate.equals(oldDate)) {\n this.navigate.emit({\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\n next: {year: newDate.year, month: newDate.month},\n preventDefault: () => navigationPrevented = true\n });\n\n // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n\n this.model = model;\n\n // handling selection change\n if (isChangedDate(newSelectedDate, this._controlValue)) {\n this._controlValue = newSelectedDate;\n this.onTouched();\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\n }\n\n // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n\n cd.markForCheck();\n });\n }\n\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state(): NgbDatepickerState { return this._publicState; }\n\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar(): NgbCalendar { return this._calendar; }\n\n /**\n * Focuses on given date.\n */\n focusDate(date?: NgbDateStruct | null): void { this._service.focus(NgbDate.from(date)); }\n\n /**\n * Selects focused date.\n */\n focusSelect(): void { this._service.focusSelect(); }\n\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus =\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\n }\n });\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\n }\n\n ngAfterViewInit() {\n this._ngZone.runOutsideAngular(() => {\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\n const {nativeElement} = this._elementRef;\n\n // we're changing 'focusVisible' only when entering or leaving months view\n // and ignoring all focus events where both 'target' and 'related' target are day cells\n merge(focusIns$, focusOuts$)\n .pipe(\n filter(\n ({target, relatedTarget}) =>\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\n takeUntil(this._destroyed$))\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\n });\n }\n\n ngOnDestroy() { this._destroyed$.next(); }\n\n ngOnInit() {\n if (this.model === undefined) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .filter(name => name in changes)\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n if ('startDate' in changes) {\n const {currentValue, previousValue} = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n\n onDateSelect(date: NgbDate) {\n this._service.focus(date);\n this._service.select(date, {emitEvent: true});\n }\n\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\n\n onNavigateEvent(event: NavigationEvent) {\n switch (event) {\n case NavigationEvent.PREV:\n this._service.open(this._calendar.getPrev(this.model.firstDate !, 'm', 1));\n break;\n case NavigationEvent.NEXT:\n this._service.open(this._calendar.getNext(this.model.firstDate !, 'm', 1));\n break;\n }\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\n\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n}\n","export enum Key {\n Tab = 9,\n Enter = 13,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {Key} from '../util/key';\n\n/**\n * A service that represents the keyboard navigation.\n *\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\n const {state, calendar} = datepicker;\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.PageUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.PageDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.End:\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\n break;\n case Key.Home:\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\n break;\n case Key.ArrowLeft:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.ArrowRight:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.Enter:\n case Key.Space:\n datepicker.focusSelect();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\nimport {NgbDatepickerService} from './datepicker-service';\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\n * the `` when you want to customize months layout.\n *\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\n *\n * @since 5.3.0\n */\n@Component({\n selector: 'ngb-datepicker-month',\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-month.scss'],\n template: `\n
\n
\n
\n {{ i18n.getWeekdayShortName(w) }}\n
\n
\n \n
\n
{{ i18n.getWeekNumerals(week.number) }}
\n
\n \n \n \n
\n
\n
\n `\n})\nexport class NgbDatepickerMonth {\n /**\n * The first date of month to be rendered.\n *\n * This month must one of the months present in the\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\n */\n @Input()\n set month(month: NgbDateStruct) {\n this.viewModel = this._service.getMonth(month);\n }\n\n viewModel: MonthViewModel;\n\n constructor(\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\n\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\n\n doSelect(day: DayViewModel) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n}\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation.scss'],\n template: `\n
\n \n
\n \n \n\n \n
0\">
\n
\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n
\n
\n
\n \n
\n `\n})\nexport class NgbDatepickerNavigation {\n navigation = NavigationEvent;\n\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: MonthViewModel[] = [];\n @Input() showSelect: boolean;\n @Input() prevDisabled: boolean;\n @Input() nextDisabled: boolean;\n @Input() selectBoxes: {years: number[], months: number[]};\n\n @Output() navigate = new EventEmitter();\n @Output() select = new EventEmitter();\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n onClickPrev(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.PREV);\n }\n\n onClickNext(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n}\n","import {NgZone} from '@angular/core';\nimport {fromEvent, Observable, race} from 'rxjs';\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\nimport {Key} from './key';\nimport {closest} from './util';\n\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\n array ? array.some(item => item.contains(element)) : false;\n\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\n !selector || closest(element, selector) != null;\n\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\nconst isMobile = (() => {\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\n const isAndroid = () => /Android/.test(navigator.userAgent);\n\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\n})();\n\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\n// when tapping on the triggering element\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\n\nexport const enum SOURCE {ESCAPE, CLICK}\n\nexport function ngbAutoClose(\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: (source: SOURCE) => void,\n closed$: Observable, insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n\n const shouldCloseOnClick = (event: MouseEvent) => {\n const element = event.target as HTMLElement;\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\n return false;\n }\n if (type === 'inside') {\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\n } else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n } else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(\n takeUntil(closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n\n\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ =\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\n takeUntil(closed$)) as Observable;\n\n\n race([\n escapes$.pipe(map(_ => SOURCE.ESCAPE)), closeableClicks$.pipe(map(_ => SOURCE.CLICK))\n ]).subscribe((source: SOURCE) => zone.run(() => close(source)));\n }));\n }\n}\n","import {NgZone} from '@angular/core';\n\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\n\nimport {Key} from './key';\n\n\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\n].join(', ');\n\n/**\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\n const list: HTMLElement[] =\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\n}\n\n/**\n * Function that enforces browser focus to be trapped inside a DOM element.\n *\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\n *\n * @param zone Angular zone\n * @param element The element around which focus will be trapped inside\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\n * and free internal resources\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\n * false)\n */\nexport const ngbFocusTrap =\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ =\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(\n takeUntil(stopFocusTrap$),\n // tslint:disable:deprecation\n filter(e => e.which === Key.Tab),\n // tslint:enable:deprecation\n withLatestFrom(lastFocusedElement$))\n .subscribe(([tabEvent, focusedElement]) => {\n const[first, last] = getFocusableBoundaryElements(element);\n\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n };\n","// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nexport class Positioning {\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\n\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\n\n private isStaticPositioned(element: HTMLElement): boolean {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n\n private offsetParent(element: HTMLElement): HTMLElement {\n let offsetParentEl = element.offsetParent || document.documentElement;\n\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n\n return offsetParentEl || document.documentElement;\n }\n\n position(element: HTMLElement, round = true): ClientRect {\n let elPosition: ClientRect;\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\n\n if (this.getStyle(element, 'position') === 'fixed') {\n elPosition = element.getBoundingClientRect();\n elPosition = {\n top: elPosition.top,\n bottom: elPosition.bottom,\n left: elPosition.left,\n right: elPosition.right,\n height: elPosition.height,\n width: elPosition.width\n };\n } else {\n const offsetParentEl = this.offsetParent(element);\n\n elPosition = this.offset(element, false);\n\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\n\n if (round) {\n elPosition.top = Math.round(elPosition.top);\n elPosition.bottom = Math.round(elPosition.bottom);\n elPosition.left = Math.round(elPosition.left);\n elPosition.right = Math.round(elPosition.right);\n }\n\n return elPosition;\n }\n\n offset(element: HTMLElement, round = true): ClientRect {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\n };\n\n let elOffset = {\n height: elBcr.height || element.offsetHeight,\n width: elBcr.width || element.offsetWidth,\n top: elBcr.top + viewportOffset.top,\n bottom: elBcr.bottom + viewportOffset.top,\n left: elBcr.left + viewportOffset.left,\n right: elBcr.right + viewportOffset.left\n };\n\n if (round) {\n elOffset.height = Math.round(elOffset.height);\n elOffset.width = Math.round(elOffset.width);\n elOffset.top = Math.round(elOffset.top);\n elOffset.bottom = Math.round(elOffset.bottom);\n elOffset.left = Math.round(elOffset.left);\n elOffset.right = Math.round(elOffset.right);\n }\n\n return elOffset;\n }\n\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\n boolean {\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\n\n const marginTop = parseFloat(targetElStyles.marginTop);\n const marginBottom = parseFloat(targetElStyles.marginBottom);\n const marginLeft = parseFloat(targetElStyles.marginLeft);\n const marginRight = parseFloat(targetElStyles.marginRight);\n\n let topPosition = 0;\n let leftPosition = 0;\n\n switch (placementPrimary) {\n case 'top':\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\n break;\n case 'bottom':\n topPosition = (hostElPosition.top + hostElPosition.height);\n break;\n case 'left':\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\n break;\n case 'right':\n leftPosition = (hostElPosition.left + hostElPosition.width);\n break;\n }\n\n switch (placementSecondary) {\n case 'top':\n topPosition = hostElPosition.top;\n break;\n case 'bottom':\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\n break;\n case 'left':\n leftPosition = hostElPosition.left;\n break;\n case 'right':\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\n break;\n case 'center':\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\n } else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\n }\n\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\n\n // Check if the targetElement is inside the viewport\n const targetElBCR = targetElement.getBoundingClientRect();\n const html = document.documentElement;\n const windowHeight = window.innerHeight || html.clientHeight;\n const windowWidth = window.innerWidth || html.clientWidth;\n\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\n\nconst placementSeparator = /\\s+/;\nexport const positionService = new Positioning();\n\n/*\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\n * Returns the applied placement.\n * In case of auto placement, placements are selected in order\n * 'top', 'bottom', 'left', 'right',\n * 'top-left', 'top-right',\n * 'bottom-left', 'bottom-right',\n * 'left-top', 'left-bottom',\n * 'right-top', 'right-bottom'.\n * */\nexport function positionElements(\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\n appendToBody?: boolean, baseClass?: string): Placement |\n null {\n let placementVals: Array =\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\n\n const allowedPlacements = [\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\n 'right-top', 'right-bottom'\n ];\n\n const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement: Placement): Array => {\n const[primary, secondary] = targetPlacement.split('-');\n const classes: string[] = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\n }\n\n // replace auto placement with other placements\n let hasAuto = placementVals.findIndex(val => val === 'auto');\n if (hasAuto >= 0) {\n allowedPlacements.forEach(function(obj) {\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\n placementVals.splice(hasAuto++, 1, obj as Placement);\n }\n });\n }\n\n // coordinates where to position\n\n // Required for transform:\n const style = targetElement.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style['will-change'] = 'transform';\n\n let testPlacement: Placement | null = null;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\n }\n }\n\n if (!isInViewport) {\n // If nothing match, the first placement is the default one\n testPlacement = placementVals[0];\n addClassesToTarget(testPlacement);\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\n }\n\n return testPlacement;\n}\n\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\n\nexport type PlacementArray = Placement | Array| string;\n","import {padNumber, toInteger, isNumber} from '../util/util';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {Injectable} from '@angular/core';\n\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\n}\n\n/**\n * An abstract service for parsing and formatting dates for the\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\n * input element.\n *\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\n * in the input.\n *\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\n * to use an alternative string format or a custom parsing logic.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\nexport abstract class NgbDateParserFormatter {\n /**\n * Parses the given `string` to an `NgbDateStruct`.\n *\n * Implementations should try their best to provide a result, even\n * partial. They must return `null` if the value can't be parsed.\n */\n abstract parse(value: string): NgbDateStruct | null;\n\n /**\n * Formats the given `NgbDateStruct` to a `string`.\n *\n * Implementations should return an empty string if the given date is `null`,\n * and try their best to provide a partial result if the given date is incomplete or invalid.\n */\n abstract format(date: NgbDateStruct | null): string;\n}\n\n@Injectable()\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value: string): NgbDateStruct | null {\n if (value != null) {\n const dateParts = value.trim().split('-');\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\n return {year: toInteger(dateParts[0]), month: null, day: null};\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepicker inputs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n container: null | 'body';\n positionTarget: string | HTMLElement;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n restoreFocus: true | HTMLElement | string = true;\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport {ngbAutoClose} from '../util/autoclose';\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {PlacementArray, positionElements} from '../util/positioning';\n\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {isString} from '../util/util';\n\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\n@Directive({\n selector: 'input[ngbDatepicker]',\n exportAs: 'ngbDatepicker',\n host: {\n '(input)': 'manualDateChange($event.target.value)',\n '(change)': 'manualDateChange($event.target.value, true)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '[disabled]': 'disabled'\n },\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\n {provide: NG_VALIDATORS, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\n ],\n})\nexport class NgbInputDatepicker implements OnChanges,\n OnDestroy, ControlValueAccessor, Validator {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_disabled: boolean | '';\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n private _cRef: ComponentRef| null = null;\n private _disabled = false;\n private _elWithFocus: HTMLElement | null = null;\n private _model: NgbDate | null = null;\n private _inputValue: string;\n private _zoneSubscription: any;\n\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n @Input() restoreFocus: true | string | HTMLElement;\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n @Input() positionTarget: string | HTMLElement;\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n @Output() closed = new EventEmitter();\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value === '' || (value && value !== 'false');\n\n if (this.isOpen()) {\n this._cRef !.instance.setDisabledState(this._disabled);\n }\n }\n\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n private _validatorChange = () => {};\n\n\n constructor(\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n config: NgbInputDatepickerConfig) {\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\n\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const {value} = c;\n\n if (value != null) {\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n\n if (!ngbDate) {\n return {'ngbDate': {invalid: value}};\n }\n\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\n }\n\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\n }\n }\n\n return null;\n }\n\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n\n manualDateChange(value: string, updateView = false) {\n const inputValueChanged = value !== this._inputValue;\n if (inputValueChanged) {\n this._inputValue = value;\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\n }\n if (inputValueChanged || !updateView) {\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\n }\n if (updateView && this._model) {\n this._writeModelValue(this._model);\n }\n }\n\n isOpen() { return !!this._cRef; }\n\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open() {\n if (!this.isOpen()) {\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\n this._cRef = this._vcRef.createComponent(cf);\n\n this._applyPopupStyling(this._cRef.location.nativeElement);\n this._applyDatepickerInputs(this._cRef.instance);\n this._subscribeForDatepickerOutputs(this._cRef.instance);\n this._cRef.instance.ngOnInit();\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\n\n // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n\n this._cRef.changeDetectorRef.detectChanges();\n\n this._cRef.instance.setDisabledState(this.disabled);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\n }\n\n // focus handling\n this._elWithFocus = this._document.activeElement;\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\n this._cRef.instance.focus();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\n }\n }\n\n /**\n * Closes the datepicker popup.\n */\n close() {\n if (this.isOpen()) {\n this._vcRef.remove(this._vcRef.indexOf(this._cRef !.hostView));\n this._cRef = null;\n this.closed.emit();\n this._changeDetector.markForCheck();\n\n // restore focus\n let elementToFocus: HTMLElement | null = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n } else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus as HTMLElement;\n }\n\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n } else {\n this._document.body.focus();\n }\n }\n }\n\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n if (this.isOpen()) {\n this._cRef !.instance.navigateTo(date);\n }\n }\n\n onBlur() { this._onTouched(); }\n\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef !.instance.minDate = this.minDate;\n }\n if (changes['maxDate']) {\n this._cRef !.instance.maxDate = this.maxDate;\n }\n this._cRef !.instance.ngOnChanges(changes);\n }\n }\n }\n\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName: string) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n\n private _applyPopupStyling(nativeElement: any) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\n datepickerInstance.dateSelect.subscribe(date => {\n this.dateSelect.emit(date);\n if (this.autoClose === true || this.autoClose === 'inside') {\n this.close();\n }\n });\n }\n\n private _writeModelValue(model: NgbDate | null) {\n const value = this._parserFormatter.format(model);\n this._inputValue = value;\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\n if (this.isOpen()) {\n this._cRef !.instance.writeValue(this._dateAdapter.toModel(model));\n this._onTouched();\n }\n }\n\n private _fromDateStruct(date: NgbDateStruct | null): NgbDate | null {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n\n private _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n\n let hostElement: HTMLElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n } else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n } else {\n hostElement = this._elRef.nativeElement;\n }\n\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-day-view.scss'],\n host: {\n 'class': 'btn-light',\n '[class.bg-primary]': 'selected',\n '[class.text-white]': 'selected',\n '[class.text-muted]': 'isMuted()',\n '[class.outside]': 'isMuted()',\n '[class.active]': 'focused'\n },\n template: `{{ i18n.getDayNumerals(date) }}`\n})\nexport class NgbDatepickerDayView {\n @Input() currentMonth: number;\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() focused: boolean;\n @Input() selected: boolean;\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterViewChecked,\n ViewChild,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {toInteger} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation-select.scss'],\n template: `\n \n `\n})\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: number[];\n @Input() years: number[];\n\n @Output() select = new EventEmitter();\n\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\n\n private _month = -1;\n private _year = -1;\n\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\n\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\n\n ngAfterViewChecked() {\n if (this.date) {\n if (this.date.month !== this._month) {\n this._month = this.date.month;\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\n }\n if (this.date.year !== this._year) {\n this._year = this.date.year;\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\n }\n }\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\n\n@Injectable()\nexport abstract class NgbCalendarHijri extends NgbCalendar {\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n abstract getDaysPerMonth(month: number, year: number): number;\n\n /**\n * Returns the equivalent Hijri date value for a give input Gregorian date.\n * `gDate` is s JS Date to be converted to Hijri.\n */\n abstract fromGregorian(gDate: Date): NgbDate;\n\n /**\n * Converts the current Hijri date to Gregorian.\n */\n abstract toGregorian(hDate: NgbDate): Date;\n\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = this._setYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = this._setMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return this._setDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = this.toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = this.toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\n\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n\n private _setDay(date: NgbDate, day: number): NgbDate {\n day = +day;\n let mDays = this.getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = this._setMonth(date, date.month - 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = this._setMonth(date, date.month + 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n }\n\n private _setMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n }\n\n private _setYear(date: NgbDate, year: number): NgbDate {\n date.year = +year;\n return date;\n }\n}\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear: number): boolean {\n return (14 + 11 * hYear) % 30 < 11;\n}\n\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate: Date): boolean {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\n/**\n * Returns the start of Hijri Month.\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year: number): number {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\n/**\n * The civil calendar is one type of Hijri calendars used in islamic countries.\n * Uses a fixed cycle of alternating 29- and 30-day months,\n * with a leap day added to the last month of 11 out of every 30 years.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\n * Dershowitz.\n */\n\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\n\n@Injectable()\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\n /**\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\n * `gDate` is a JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\n\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor(\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\n\n const days = julianDay - ISLAMIC_EPOCH;\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\n hMonth = Math.min(hMonth, 11);\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n\n /**\n * Returns the equivalent JS date value for a give input islamic(civil) date.\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay =\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\n yindex = Math.floor(dquad / 365);\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\n if (!(cent === 4 || yindex === 4)) {\n year++;\n }\n\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n\n const yearday = wjd - gYearStart;\n\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\n\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\n\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) +\n Math.floor(\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n\n const day = wjd - tjd2 + 1;\n\n return new Date(year, month - 1, day);\n }\n\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n getDaysPerMonth(month: number, year: number): number {\n year = year + Math.floor(month / 13);\n month = ((month - 1) % 12) + 1;\n let length = 29 + month % 2;\n if (month === 12 && isIslamicLeapYear(year)) {\n length++;\n }\n return length;\n }\n}\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\n * This Calendar is used by Saudi Arabia for administrative purpose.\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n */\n\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\nconst HIJRI_BEGIN = 1300;\nconst HIJRI_END = 1600;\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nconst MONTH_LENGTH = [\n // 1300-1304\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\n // 1305-1309\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\n // 1310-1314\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\n // 1315-1319\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\n // 1320-1324\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\n // 1325-1329\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\n // 1330-1334\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\n // 1335-1339\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\n // 1340-1344\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\n // 1345-1349\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\n // 1350-1354\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\n // 1355-1359\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\n // 1360-1364\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\n // 1365-1369\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\n // 1370-1374\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\n // 1375-1379\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\n // 1380-1384\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\n // 1385-1389\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\n // 1390-1394\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\n // 1395-1399\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\n // 1400-1404\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\n // 1405-1409\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\n // 1410-1414\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\n // 1415-1419\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\n // 1420-1424\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\n // 1425-1429\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\n // 1430-1434\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\n // 1435-1439\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\n // 1440-1444\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\n // 1445-1449\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\n // 1450-1454\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\n // 1455-1459\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\n // 1460-1464\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\n // 1465-1469\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\n // 1470-1474\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\n // 1475-1479\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\n // 1480-1484\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\n // 1485-1489\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\n // 1490-1494\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\n // 1495-1499\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\n // 1500-1504\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\n // 1505-1509\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\n // 1510-1514\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\n // 1515-1519\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\n // 1520-1524\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\n // 1525-1529\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\n // 1530-1534\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\n // 1535-1539\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\n // 1540-1544\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\n // 1545-1549\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\n // 1550-1554\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\n // 1555-1559\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\n // 1560-1564\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\n // 1565-1569\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\n // 1570-1574\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\n // 1575-1579\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\n // 1580-1584\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\n // 1585-1589\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\n // 1590-1594\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\n // 1595-1599\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\n // 1600\n '001010011101'\n];\n\nfunction getDaysDiff(date1: Date, date2: Date): number {\n // Ignores the time part in date1 and date2:\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\n const diff = Math.abs(time1 - time2);\n return Math.round(diff / ONE_DAY);\n}\n\n@Injectable()\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\n /**\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\n * `gdate` is s JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n let hDay = 1, hMonth = 0, hYear = 1300;\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\n let year = 1300;\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\n for (let j = 0; j < 12; j++) {\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\n if (daysDiff <= numOfDays) {\n hDay = daysDiff + 1;\n if (hDay > numOfDays) {\n hDay = 1;\n j++;\n }\n if (j > 11) {\n j = 0;\n year++;\n }\n hMonth = j;\n hYear = year;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n daysDiff = daysDiff - numOfDays;\n }\n }\n return null as any;\n } else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n let gDate = new Date(GREGORIAN_FIRST_DATE);\n let dayDiff = hDay - 1;\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\n for (let m = 0; m < 12; m++) {\n dayDiff += +MONTH_LENGTH[y][m] + 29;\n }\n }\n for (let m = 0; m < hMonth; m++) {\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\n }\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\n } else {\n gDate = super.toGregorian(hDate);\n }\n return gDate;\n }\n /**\n * Returns the number of days in a specific Hijri hMonth.\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\n getDaysPerMonth(hMonth: number, hYear: number): number {\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n const pos = hYear - HIJRI_BEGIN;\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\n }\n return super.getDaysPerMonth(hMonth, hYear);\n }\n}\n","import {NgbDate} from '../ngb-date';\n\n/**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\nexport function toGregorian(jalaliDate: NgbDate): Date {\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\n let date = julianToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n}\n\n/**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\n\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\n date.year = +yearValue;\n return date;\n}\n\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n}\n\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\n let mDays = getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = setJalaliMonth(date, date.month - 1);\n mDays = getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = setJalaliMonth(date, date.month + 1);\n mDays = getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\n\n/*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jalaliYear).\n @param jalaliYear Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gYear: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\nfunction jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n let breaks =\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\n }\n\n // Find the limiting years for the Jalali year jalaliYear.\n let jump;\n for (let i = 1; i < breaksLength; i += 1) {\n const jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n }\n\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n\n // Find how many years have passed since the last leap year.\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n let leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n\n return {leap: leap, gy: gYear, march: march};\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\n gMonth: Calendar month (1 to 12)\n gDay: Calendar day of the month M (1 to 28/29/30/31)\n */\nfunction julianToGregorian(julianDayNumber: number) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n\n return new Date(gYear, gMonth - 1, gDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n\n/*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param julianDayNumber Julian Day number\n @return\n jalaliYear: Jalali year (1 to 3100)\n jalaliMonth: Jalali month (1 to 12)\n jalaliDay: Jalali day (1 to 29/31)\n */\nfunction julianToJalali(julianDayNumber: number) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n ,\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\n jalaliMonth, numberOfDays;\n\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n } else {\n // The remaining months.\n numberOfDays -= 186;\n }\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jYear Jalali year (1 to 3100)\n @param jMonth Jalali month (1 to 12)\n @param jDay Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\n let r = jalCal(jYear);\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\n}\n\n/**\n * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDate} from '../ngb-date';\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\nimport {isInteger} from '../../util/util';\n\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\n\n@Injectable()\nexport class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = setJalaliYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setJalaliMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return setJalaliDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbDateStruct} from '../ngb-date-struct';\n\nconst PARTS_PER_HOUR = 1080;\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\nconst GREGORIAN_EPOCH = 1721425.5;\n\nfunction isGregorianLeapYear(year: number): boolean {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\nfunction numberOfFirstDayInYear(year: number): number {\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\n\n let dayOfWeek = dayNumber % 7; // 0 == Monday\n\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\n dayNumber++;\n dayOfWeek = dayNumber % 7;\n }\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\n dayNumber += 2;\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\n\nfunction getDaysInGregorianMonth(month: number, year: number): number {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\n\nfunction getHebrewMonths(year: number): number {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year: number): number {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\n\nexport function isHebrewLeapYear(year?: number): boolean {\n if (year != null) {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\n }\n return false;\n}\n\n/**\n * Returns the number of days in a specific Hebrew month.\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\n * `year` is any Hebrew year.\n */\nexport function getDaysInHebrewMonth(month: number, year: number): number {\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\n let leapYear = isHebrewLeapYear(year);\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\n if (yearType > 0) {\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\n }\n if (yearType > 1) {\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\n }\n return daysInMonth[month - 1];\n}\n\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\n let numberOfDay = 0;\n for (let i = 1; i < date.month; i++) {\n numberOfDay += getDaysInHebrewMonth(i, date.year);\n }\n return numberOfDay + date.day;\n}\n\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getHebrewMonths(date.year) - date.month) {\n val -= getHebrewMonths(date.year) - date.month + 1;\n date.year++;\n date.month = 1;\n } else {\n date.month += val;\n val = 0;\n }\n } else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n } else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\n date.year++;\n date.month = 1;\n date.day = 1;\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\n date.month++;\n date.day = 1;\n } else {\n date.day += val;\n val = 0;\n }\n } else {\n if (val >= date.day) {\n val -= date.day;\n date.month--;\n if (date.month === 0) {\n date.year--;\n date.month = getHebrewMonths(date.year);\n }\n date.day = getDaysInHebrewMonth(date.month, date.year);\n } else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\n/**\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to Hebrew date.\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay + 0.5);\n let daysSinceHebEpoch = julianDay - 347997;\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n while (dayOfYear < 1) {\n hYear--;\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n }\n let hMonth = 1;\n let hDay = dayOfYear;\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\n hMonth++;\n }\n return new NgbDate(hYear, hMonth, hDay);\n}\n\n/**\n * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\n const hYear = hebrewDate.year;\n const hMonth = hebrewDate.month;\n const hDay = hebrewDate.day;\n let days = numberOfFirstDayInYear(hYear);\n for (let i = 1; i < hMonth; i++) {\n days += getDaysInHebrewMonth(i, hYear);\n }\n days += hDay;\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\n let after = diffDays >= 0;\n if (!after) {\n diffDays = -diffDays;\n }\n let gYear = 1970;\n let gMonth = 1;\n let gDay = 1;\n while (diffDays > 0) {\n if (after) {\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\n gYear++;\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n } else {\n gDay += diffDays;\n diffDays = 0;\n }\n } else {\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\n gYear--;\n } else {\n if (gMonth > 1) {\n gMonth--;\n } else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n } else {\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\n diffDays = 0;\n }\n }\n }\n }\n return new Date(gYear, gMonth - 1, gDay);\n}\n\nexport function hebrewNumerals(numerals: number): string {\n if (!numerals) {\n return '';\n }\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\n const hArray10_19 = [\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\n ];\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\n const hArray100_900 = [\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\n '\\u05ea\\u05ea\\u05e7'\n ];\n const hArray1000_9000 = [\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\n ];\n const geresh = '\\u05f3', gershaim = '\\u05f4';\n let mem = 0;\n let result: string[] = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n } else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n } else {\n result.unshift(hArray10_19[mem]);\n }\n } else if (step === 2) {\n result.unshift(hArray100_900[m]);\n } else {\n if (m !== 5) {\n result.unshift(hArray1000_9000[m], geresh, ' ');\n }\n break;\n }\n numerals = Math.floor(numerals / 10);\n if (step === 0 && numerals === 0) {\n result.unshift(hArray0_9[m]);\n }\n step++;\n }\n result = result.join('').split('');\n if (result.length === 1) {\n result.push(geresh);\n } else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n","import {NgbDate} from '../ngb-date';\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\nimport {\n fromGregorian,\n getDayNumberInHebrewYear,\n getDaysInHebrewMonth,\n isHebrewLeapYear,\n toGregorian,\n setHebrewDay,\n setHebrewMonth\n} from './hebrew';\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths(year?: number) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n } else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n\n getWeeksPerMonth() { return 6; }\n\n isValid(date?: NgbDate | null): boolean {\n if (date != null) {\n let b = isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\n return b && !isNaN(toGregorian(date).getTime());\n }\n\n return false;\n }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date.year += number;\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setHebrewMonth(date, number);\n date.day = 1;\n return date;\n case 'd':\n return setHebrewDay(date, number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n /**\n * @since 3.4.0\n */\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\n\n /**\n * @since 3.4.0\n */\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\n}\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\nimport {NgbDateStruct} from '../../index';\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\nimport {Injectable} from '@angular/core';\n\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP =\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\n\n getMonthFullName(month: number, year?: number): string {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] || '' : MONTHS[month - 1] || '';\n }\n\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\n\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\n\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateAdapter} from './ngb-date-adapter';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\n@Injectable()\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date: Date | null): NgbDateStruct | null {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date: NgbDateStruct | null): Date | null {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // avoid 30 -> 1930 conversion\n jsDate.setFullYear(date.year);\n return jsDate;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\n // avoid 30 -> 1930 conversion\n jsDate.setUTCFullYear(date.year);\n return jsDate;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\nimport {NgbDatepickerMonth} from './datepicker-month';\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\nimport {NgbInputDatepicker} from './datepicker-input';\nimport {NgbDatepickerDayView} from './datepicker-day-view';\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\n\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\nexport {NgbInputDatepicker} from './datepicker-input';\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\nexport {NgbDatepickerMonth} from './datepicker-month';\nexport {NgbDatepickerDayView} from './datepicker-day-view';\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\nexport {NgbDatepickerConfig} from './datepicker-config';\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\nexport {NgbDatepickerI18n} from './datepicker-i18n';\nexport {NgbDateStruct} from './ngb-date-struct';\nexport {NgbDate} from './ngb-date';\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\n\n@NgModule({\n declarations: [\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\n NgbDatepickerDayView, NgbInputDatepicker\n ],\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\n imports: [CommonModule, FormsModule],\n entryComponents: [NgbDatepicker]\n})\nexport class NgbDatepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the dropdowns used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDropdownConfig {\n autoClose: boolean | 'outside' | 'inside' = true;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n container: null | 'body';\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n AfterContentInit,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n Optional\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {fromEvent, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\nimport {ngbAutoClose, SOURCE} from '../util/autoclose';\nimport {Key} from '../util/key';\n\nimport {NgbDropdownConfig} from './dropdown-config';\nimport {FOCUSABLE_ELEMENTS_SELECTOR} from '../util/focus-trap';\n\n@Directive({selector: '.navbar'})\nexport class NgbNavbar {\n}\n\n/**\n * A directive you should put on a dropdown item to enable keyboard navigation.\n * Arrow keys will move focus between items marked with this directive.\n *\n * @since 4.1.0\n */\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\nexport class NgbDropdownItem {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _disabled = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n\n get disabled(): boolean { return this._disabled; }\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\n@Directive({\n selector: '[ngbDropdownMenu]',\n host: {\n '[class.dropdown-menu]': 'true',\n '[class.show]': 'dropdown.isOpen()',\n '[attr.x-placement]': 'placement',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\n '(keydown.Space)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n }\n})\nexport class NgbDropdownMenu {\n nativeElement: HTMLElement;\n placement: Placement | null = 'bottom';\n isOpen = false;\n\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element to which dropdown menu will be anchored.\n *\n * This is a simple version of the `NgbDropdownToggle` directive.\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\n * for events other than click.\n *\n * @since 1.1.0\n */\n@Directive(\n {selector: '[ngbDropdownAnchor]', host: {'class': 'dropdown-toggle', '[attr.aria-expanded]': 'dropdown.isOpen()'}})\nexport class NgbDropdownAnchor {\n nativeElement: HTMLElement;\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element that will toggle dropdown via the `click` event.\n *\n * You can also use `NgbDropdownAnchor` as an alternative.\n */\n@Directive({\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '(click)': 'dropdown.toggle()',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n },\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\n})\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\n super(dropdown, elementRef);\n }\n}\n\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_display: string;\n private _closed$ = new Subject();\n private _zoneSubscription: Subscription;\n private _bodyContainer: HTMLElement | null = null;\n\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\n\n /**\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\n *\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\n */\n @Input() autoClose: boolean | 'outside' | 'inside';\n\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n @Input('open') _open = false;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * A selector specifying the element the dropdown should be appended to.\n * Currently only supports \"body\".\n *\n * @since 4.1.0\n */\n @Input() container: null | 'body';\n\n /**\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\n *\n * @since 4.2.0\n */\n @Input() display: 'dynamic' | 'static';\n\n /**\n * An event fired when the dropdown is opened or closed.\n *\n * The event payload is a `boolean`:\n * * `true` - the dropdown was opened\n * * `false` - the dropdown was closed\n */\n @Output() openChange = new EventEmitter();\n\n constructor(\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\n @Optional() ngbNavbar: NgbNavbar) {\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n\n this.display = ngbNavbar ? 'static' : 'dynamic';\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\n }\n\n ngAfterContentInit() {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this._applyPlacementClasses();\n if (this._open) {\n this._setCloseHandlers();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen(): boolean { return this._open; }\n\n /**\n * Opens the dropdown menu.\n */\n open(): void {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n if (this._anchor) {\n this._anchor.nativeElement.focus();\n }\n }\n }\n\n private _setCloseHandlers() {\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose,\n (source: SOURCE) => {\n this.close();\n if (source === SOURCE.ESCAPE) {\n this._anchor.nativeElement.focus();\n }\n },\n this._closed$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [],\n '.dropdown-item,.dropdown-divider');\n }\n\n /**\n * Closes the dropdown menu.\n */\n close(): void {\n if (this._open) {\n this._open = false;\n this._resetContainer();\n this._closed$.next();\n this.openChange.emit(false);\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the dropdown menu.\n */\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n ngOnDestroy() {\n this._resetContainer();\n\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n\n let position = -1;\n let itemElement: HTMLElement | null = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target as HTMLElement)) {\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (itemElement && (this.autoClose === true || this.autoClose === 'inside')) {\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\n // So we have to register a one-time click handler that will fire after any user defined click handlers\n // to close the dropdown\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\n }\n return;\n }\n\n if (key === Key.Tab) {\n if (event.target && this.isOpen() && this.autoClose) {\n if (this._anchor.nativeElement === event.target) {\n if (this.container === 'body' && !event.shiftKey) {\n /* This case is special: user is using [Tab] from the anchor/toggle.\n User expects the next focusable element in the dropdown menu to get focus.\n But the menu is not a sibling to anchor/toggle, it is at the end of the body.\n Trick is to synchronously focus the menu element, and let the [keydown.Tab] go\n so that browser will focus the proper element (first one focusable in the menu) */\n this._renderer.setAttribute(this._menu.nativeElement, 'tabindex', '0');\n this._menu.nativeElement.focus();\n this._renderer.removeAttribute(this._menu.nativeElement, 'tabindex');\n } else if (event.shiftKey) {\n this.close();\n }\n return;\n } else if (this.container === 'body') {\n const focusableElements = this._menu.nativeElement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR);\n if (event.shiftKey && event.target === focusableElements[0]) {\n this._anchor.nativeElement.focus();\n event.preventDefault();\n } else if (!event.shiftKey && event.target === focusableElements[focusableElements.length - 1]) {\n this._anchor.nativeElement.focus();\n this.close();\n }\n } else {\n fromEvent(event.target as HTMLElement, 'focusout').pipe(take(1)).subscribe(({relatedTarget}) => {\n if (!this._elementRef.nativeElement.contains(relatedTarget as HTMLElement)) {\n this.close();\n }\n });\n }\n }\n return;\n }\n\n // opening / navigating\n if (isEventFromToggle || itemElement) {\n this.open();\n\n if (itemElements.length) {\n switch (key) {\n case Key.ArrowDown:\n position = Math.min(position + 1, itemElements.length - 1);\n break;\n case Key.ArrowUp:\n if (this._isDropup() && position === -1) {\n position = itemElements.length - 1;\n break;\n }\n position = Math.max(position - 1, 0);\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = itemElements.length - 1;\n break;\n }\n itemElements[position].focus();\n }\n event.preventDefault();\n }\n }\n\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\n\n private _isEventFromToggle(event: KeyboardEvent) {\n return this._anchor.nativeElement.contains(event.target as HTMLElement);\n }\n\n private _getMenuElements(): HTMLElement[] {\n const menu = this._menu;\n if (menu == null) {\n return [];\n }\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\n }\n\n private _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(\n this.display === 'dynamic' ? positionElements(\n this._anchor.nativeElement, this._bodyContainer || this._menu.nativeElement,\n this.placement, this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n\n private _getFirstPlacement(placement: PlacementArray): Placement {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\n }\n\n private _resetContainer() {\n const renderer = this._renderer;\n if (this._menu) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = this._menu.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this._bodyContainer) {\n renderer.removeChild(this._document.body, this._bodyContainer);\n this._bodyContainer = null;\n }\n }\n\n private _applyContainer(container: null | 'body' = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menu.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\n\n // Override some styles to have the positionning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n\n private _applyPlacementClasses(placement?: Placement | null) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\n\n // remove the current placement classes\n renderer.removeClass(dropdownElement, 'dropup');\n renderer.removeClass(dropdownElement, 'dropdown');\n menu.placement = this.display === 'static' ? null : placement;\n\n /*\n * apply the new placement\n * in case of top use up-arrow or down-arrow otherwise\n */\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\n renderer.addClass(dropdownElement, dropdownClass);\n\n const bodyContainer = this._bodyContainer;\n if (bodyContainer) {\n renderer.removeClass(bodyContainer, 'dropup');\n renderer.removeClass(bodyContainer, 'dropdown');\n renderer.addClass(bodyContainer, dropdownClass);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\n\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\nexport {NgbDropdownConfig} from './dropdown-config';\n\nconst NGB_DROPDOWN_DIRECTIVES =\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\n\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\nexport class NgbDropdownModule {\n}\n","import {Injectable, Injector} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Options available when opening new modal windows with `NgbModal.open()` method.\n */\nexport interface NgbModalOptions {\n /**\n * If `true`, modal opening and closing will be animated.\n *\n * @since 8.0.0\n */\n animation?: boolean;\n\n /**\n * `aria-labelledby` attribute value to set on the modal window.\n *\n * @since 2.2.0\n */\n ariaLabelledBy?: string;\n\n /**\n * `aria-describedby` attribute value to set on the modal window.\n *\n * @since 6.1.0\n */\n ariaDescribedBy?: string;\n\n /**\n * If `true`, the backdrop element will be created for a given modal.\n *\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n *\n * Default value is `true`.\n */\n backdrop?: boolean | 'static';\n\n /**\n * Callback right before the modal will be dismissed.\n *\n * If this function returns:\n * * `false`\n * * a promise resolved with `false`\n * * a promise that is rejected\n *\n * then the modal won't be dismissed.\n */\n beforeDismiss?: () => boolean | Promise;\n\n /**\n * If `true`, the modal will be centered vertically.\n *\n * Default value is `false`.\n *\n * @since 1.1.0\n */\n centered?: boolean;\n\n /**\n * A selector specifying the element all new modal windows should be appended to.\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n *\n * If not specified, will be `body`.\n */\n container?: string | HTMLElement;\n\n /**\n * The `Injector` to use for modal content.\n */\n injector?: Injector;\n\n /**\n * If `true`, the modal will be closed when `Escape` key is pressed\n *\n * Default value is `true`.\n */\n keyboard?: boolean;\n\n /**\n * Scrollable modal content (false by default).\n *\n * @since 5.0.0\n */\n scrollable?: boolean;\n\n /**\n * Size of a new modal window.\n */\n size?: 'sm' | 'lg' | 'xl' | string;\n\n /**\n * A custom class to append to the modal window.\n */\n windowClass?: string;\n\n /**\n * A custom class to append to the modal backdrop.\n *\n * @since 1.1.0\n */\n backdropClass?: string;\n}\n\n/**\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n*\n* @since 3.1.0\n*/\n@Injectable({providedIn: 'root'})\nexport class NgbModalConfig implements Required {\n ariaLabelledBy: string;\n ariaDescribedBy: string;\n backdrop: boolean | 'static' = true;\n beforeDismiss: () => boolean | Promise;\n centered: boolean;\n container: string;\n injector: Injector;\n keyboard = true;\n scrollable: boolean;\n size: 'sm' | 'lg' | 'xl' | string;\n windowClass: string;\n backdropClass: string;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n NgZone,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ViewRef\n} from '@angular/core';\n\nimport {Observable, of} from 'rxjs';\nimport {mergeMap, take, tap} from 'rxjs/operators';\n\nimport {ngbRunTransition} from './transition/ngbTransition';\n\nexport class ContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\n}\n\nexport class PopupService {\n private _windowRef: ComponentRef| null = null;\n private _contentRef: ContentRef | null = null;\n\n constructor(\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, private _ngZone: NgZone,\n private _componentFactoryResolver: ComponentFactoryResolver, private _applicationRef: ApplicationRef) {}\n\n open(content?: string | TemplateRef, context?: any, animation = false):\n {windowRef: ComponentRef, transition$: Observable} {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\n this._injector, this._contentRef.nodes);\n }\n\n const {nativeElement} = this._windowRef.location;\n const transition$ = this._ngZone.onStable.pipe(\n take(1), mergeMap(\n () => ngbRunTransition(\n this._ngZone, nativeElement, ({classList}) => classList.add('show'),\n {animation, runningTransition: 'continue'})));\n\n return {windowRef: this._windowRef, transition$};\n }\n\n close(animation = false): Observable {\n if (!this._windowRef) {\n return of(undefined);\n }\n\n return ngbRunTransition(\n this._ngZone, this._windowRef.location.nativeElement, ({classList}) => classList.remove('show'),\n {animation, runningTransition: 'stop'})\n .pipe(tap(() => {\n if (this._windowRef) {\n // this is required because of the container='body' option\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\n }\n if (this._contentRef?.viewRef) {\n this._applicationRef.detachView(this._contentRef.viewRef);\n this._contentRef.viewRef.destroy();\n this._contentRef = null;\n }\n }));\n }\n\n private _getContentRef(content?: string | TemplateRef, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n } else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nconst noop = () => {};\n\n\n\n/** Type for the callback used to revert the scrollbar compensation. */\nexport type CompensationReverter = () => void;\n\n\n\n/**\n * Utility to handle the scrollbar.\n *\n * It allows to compensate the lack of a vertical scrollbar by adding an\n * equivalent padding on the right of the body, and to remove this compensation.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollBar {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n /**\n * To be called right before a potential vertical scrollbar would be removed:\n *\n * - if there was a scrollbar, adds some compensation padding to the body\n * to keep the same layout as when the scrollbar is there\n * - if there was none, there is nothing to do\n *\n * @return a callback used to revert the compensation (noop if there was none,\n * otherwise a function removing the padding)\n */\n compensate(): CompensationReverter {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\n }\n\n /**\n * Adds a padding of the given width on the right of the body.\n *\n * @return a callback used to revert the padding to its previous value\n */\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\n const body = this._document.body;\n const userSetPaddingStyle = body.style.paddingRight;\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\n return () => body.style['padding-right'] = userSetPaddingStyle;\n }\n\n /**\n * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n private _isPresent(scrollbarWidth: number): boolean {\n const rect = this._document.body.getBoundingClientRect();\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\n const uncertainty = 0.1 * scrollbarWidth;\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\n }\n\n /**\n * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n private _getWidth(): number {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n\n return width;\n }\n}\n","import {Component, ElementRef, Input, NgZone, OnInit, ViewEncapsulation} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n@Component({\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host: {\n '[class]': '\"modal-backdrop\" + (backdropClass ? \" \" + backdropClass : \"\")',\n '[class.show]': '!animation',\n '[class.fade]': 'animation',\n 'style': 'z-index: 1050'\n }\n})\nexport class NgbModalBackdrop implements OnInit {\n @Input() animation: boolean;\n @Input() backdropClass: string;\n\n constructor(private _el: ElementRef, private _zone: NgZone) {}\n\n ngOnInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n ngbRunTransition(this._zone, this._el.nativeElement, (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n }, {animation: this.animation, runningTransition: 'continue'});\n });\n }\n\n hide(): Observable {\n return ngbRunTransition(\n this._zone, this._el.nativeElement, ({classList}) => classList.remove('show'),\n {animation: this.animation, runningTransition: 'stop'});\n }\n}\n","import {ComponentRef} from '@angular/core';\n\nimport {Observable, of, Subject, zip} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nimport {ContentRef} from '../util/popup';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class NgbActiveModal {\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbModalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {}\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {}\n}\n\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nexport class NgbModalRef {\n private _closed = new Subject();\n private _dismissed = new Subject();\n private _hidden = new Subject();\n private _resolve: (result?: any) => void;\n private _reject: (reason?: any) => void;\n\n /**\n * The instance of a component used for the modal content.\n *\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n */\n get componentInstance(): any {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\n }\n }\n\n /**\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n */\n result: Promise;\n\n /**\n * The observable that emits when the modal is closed via the `.close()` method.\n *\n * It will emit the result passed to the `.close()` method.\n *\n * @since 8.0.0\n */\n get closed(): Observable { return this._closed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when the modal is dismissed via the `.dismiss()` method.\n *\n * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\n * reasons like backdrop click or ESC key press.\n *\n * @since 8.0.0\n */\n get dismissed(): Observable { return this._dismissed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when both modal window and backdrop are closed and animations were finished.\n * At this point modal and backdrop elements will be removed from the DOM tree.\n *\n * This observable will be completed after emitting.\n *\n * @since 8.0.0\n */\n get hidden(): Observable { return this._hidden.asObservable(); }\n\n /**\n * The observable that emits when modal is fully visible and animation was finished.\n * Modal DOM element is always available synchronously after calling 'modal.open()' service.\n *\n * This observable will be completed after emitting.\n * It will not emit, if modal is closed before open animation is finished.\n *\n * @since 8.0.0\n */\n get shown(): Observable { return this._windowCmptRef.instance.shown.asObservable(); }\n\n constructor(\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\n\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => {});\n }\n\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {\n if (this._windowCmptRef) {\n this._closed.next(result);\n this._resolve(result);\n this._removeModalElements();\n }\n }\n\n private _dismiss(reason?: any) {\n this._dismissed.next(reason);\n this._reject(reason);\n this._removeModalElements();\n }\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n } else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(\n result => {\n if (result !== false) {\n this._dismiss(reason);\n }\n },\n () => {});\n } else if (dismiss !== false) {\n this._dismiss(reason);\n }\n }\n }\n }\n\n private _removeModalElements() {\n const windowTransition$ = this._windowCmptRef.instance.hide();\n const backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\n\n // hiding window\n windowTransition$.subscribe(() => {\n const {nativeElement} = this._windowCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._windowCmptRef.destroy();\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._windowCmptRef = null;\n this._contentRef = null;\n });\n\n // hiding backdrop\n backdropTransition$.subscribe(() => {\n if (this._backdropCmptRef) {\n const {nativeElement} = this._backdropCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._backdropCmptRef.destroy();\n this._backdropCmptRef = null;\n }\n });\n\n // all done\n zip(windowTransition$, backdropTransition$).subscribe(() => {\n this._hidden.next();\n this._hidden.complete();\n });\n }\n}\n","export enum ModalDismissReasons {\n BACKDROP_CLICK,\n ESC\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {fromEvent, Observable, Subject, zip} from 'rxjs';\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\nimport {Key} from '../util/key';\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n@Component({\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-describedby]': 'ariaDescribedBy'\n },\n template: `\n
\n
\n
\n `,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./modal.scss']\n})\nexport class NgbModalWindow implements OnInit,\n AfterViewInit, OnDestroy {\n private _closed$ = new Subject();\n private _elWithFocus: Element | null = null; // element that is focused prior to modal opening\n\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\n\n @Input() animation: boolean;\n @Input() ariaLabelledBy: string;\n @Input() ariaDescribedBy: string;\n @Input() backdrop: boolean | string = true;\n @Input() centered: string;\n @Input() keyboard = true;\n @Input() scrollable: string;\n @Input() size: string;\n @Input() windowClass: string;\n\n @Output('dismiss') dismissEvent = new EventEmitter();\n\n shown = new Subject();\n hidden = new Subject();\n\n constructor(\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\n\n dismiss(reason): void { this.dismissEvent.emit(reason); }\n\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n\n ngAfterViewInit() { this._show(); }\n\n ngOnDestroy() { this._disableEventHandling(); }\n\n hide(): Observable {\n const {nativeElement} = this._elRef;\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'stop'};\n\n const windowTransition$ =\n ngbRunTransition(this._zone, nativeElement, () => nativeElement.classList.remove('show'), context);\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\n\n const transitions$ = zip(windowTransition$, dialogTransition$);\n transitions$.subscribe(() => {\n this.hidden.next();\n this.hidden.complete();\n });\n\n this._disableEventHandling();\n this._restoreFocus();\n\n return transitions$;\n }\n\n private _show() {\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'continue'};\n\n const windowTransition$ =\n ngbRunTransition(this._zone, this._elRef.nativeElement, (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n }, context);\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\n\n zip(windowTransition$, dialogTransition$).subscribe(() => {\n this.shown.next();\n this.shown.complete();\n });\n\n this._enableEventHandling();\n this._setFocus();\n }\n\n private _enableEventHandling() {\n const {nativeElement} = this._elRef;\n this._zone.runOutsideAngular(() => {\n fromEvent(nativeElement, 'keydown')\n .pipe(\n takeUntil(this._closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape))\n .subscribe(event => {\n if (this.keyboard) {\n requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n }\n });\n } else if (this.backdrop === 'static') {\n this._bumpBackdrop();\n }\n });\n\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n // inside the modal dialog and releasing it outside\n let preventClose = false;\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\n .pipe(\n takeUntil(this._closed$), tap(() => preventClose = false),\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n filter(({target}) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\n\n // We're listening to 'click' to dismiss modal on modal window click, except when:\n // 1. clicking on modal dialog itself\n // 2. closing was prevented by mousedown/up handlers\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\n if (nativeElement === target) {\n if (this.backdrop === 'static') {\n this._bumpBackdrop();\n } else if (this.backdrop === true && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n }\n\n preventClose = false;\n });\n });\n }\n\n private _disableEventHandling() { this._closed$.next(); }\n\n private _setFocus() {\n const {nativeElement} = this._elRef;\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n\n private _restoreFocus() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n } else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n }\n\n private _bumpBackdrop() {\n if (this.backdrop === 'static') {\n ngbRunTransition(this._zone, this._elRef.nativeElement, ({classList}) => {\n classList.add('modal-static');\n return () => classList.remove('modal-static');\n }, {animation: this.animation, runningTransition: 'continue'});\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n TemplateRef\n} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {ContentRef} from '../util/popup';\nimport {ScrollBar} from '../util/scrollbar';\nimport {isDefined, isString} from '../util/util';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalOptions} from './modal-config';\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\nimport {NgbModalWindow} from './modal-window';\n\n@Injectable({providedIn: 'root'})\nexport class NgbModalStack {\n private _activeWindowCmptHasChanged = new Subject();\n private _ariaHiddenValues: Map = new Map();\n private _backdropAttributes = ['animation', 'backdropClass'];\n private _modalRefs: NgbModalRef[] = [];\n private _windowAttributes = [\n 'animation', 'ariaLabelledBy', 'ariaDescribedBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size',\n 'windowClass'\n ];\n private _windowCmpts: ComponentRef[] = [];\n private _activeInstances: EventEmitter = new EventEmitter();\n\n constructor(\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\n // Trap focus on active WindowCmpt\n this._activeWindowCmptHasChanged.subscribe(() => {\n if (this._windowCmpts.length) {\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n this._revertAriaHidden();\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\n }\n });\n }\n\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\n this._document.querySelector(options.container) :\n this._document.body;\n const renderer = this._rendererFactory.createRenderer(null, null);\n\n const revertPaddingForScrollBar = this._scrollBar.compensate();\n const removeBodyClass = () => {\n if (!this._modalRefs.length) {\n renderer.removeClass(this._document.body, 'modal-open');\n this._revertAriaHidden();\n }\n };\n\n if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n\n const activeModal = new NgbActiveModal();\n const contentRef =\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n\n let backdropCmptRef: ComponentRef| undefined =\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : undefined;\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\n\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n\n get activeInstances() { return this._activeInstances; }\n\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\n\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\n let backdropCmptRef = backdropFactory.create(this._injector);\n this._applicationRef.attachView(backdropCmptRef.hostView);\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\n return backdropCmptRef;\n }\n\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\n ComponentRef {\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(windowCmptRef.hostView);\n containerEl.appendChild(windowCmptRef.location.nativeElement);\n return windowCmptRef;\n }\n\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\n this._windowAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\n this._backdropAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _getContentRef(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n } else if (isString(content)) {\n return this._createFromString(content);\n } else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\n const context = {\n $implicit: activeModal,\n close(result) { activeModal.close(result); },\n dismiss(reason) { activeModal.dismiss(reason); }\n };\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n\n private _createFromComponent(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector =\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\n const componentRef = contentCmptFactory.create(modalContentInjector);\n const componentNativeEl = componentRef.location.nativeElement;\n if (options.scrollable) {\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\n }\n this._applicationRef.attachView(componentRef.hostView);\n // FIXME: we should here get rid of the component nativeElement\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\n }\n\n private _setAriaHidden(element: Element) {\n const parent = element.parentElement;\n if (parent && element !== this._document.body) {\n Array.from(parent.children).forEach(sibling => {\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n });\n\n this._setAriaHidden(parent);\n }\n }\n\n private _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n\n private _registerModalRef(ngbModalRef: NgbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n this._activeInstances.emit(this._modalRefs);\n }\n };\n this._modalRefs.push(ngbModalRef);\n this._activeInstances.emit(this._modalRefs);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\n\n ngbWindowCmpt.onDestroy(() => {\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\n if (index > -1) {\n this._windowCmpts.splice(index, 1);\n this._activeWindowCmptHasChanged.next();\n }\n });\n }\n}\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\n\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\nimport {NgbModalRef} from './modal-ref';\nimport {NgbModalStack} from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbModal {\n constructor(\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\n private _config: NgbModalConfig) {}\n\n /**\n * Opens a new modal window with the specified content and supplied options.\n *\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n *\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\n */\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\n const combinedOptions = {...this._config, animation: this._config.animation, ...options};\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n\n /**\n * Returns an observable that holds the active modal instances.\n */\n get activeInstances() { return this._modalStack.activeInstances; }\n\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\n\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbModal} from './modal';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nexport {NgbModal} from './modal';\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@NgModule({\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n})\nexport class NgbModalModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the navs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbNavConfig {\n destroyOnHide = true;\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n roles: 'tablist' | false = 'tablist';\n keyboard: boolean | 'changeWithArrows' = false;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {isDefined} from '../util/util';\nimport {NgbNavConfig} from './nav-config';\nimport {Key} from '../util/key';\n\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\n\nlet navCounter = 0;\n\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n\n\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\n@Directive({selector: 'ng-template[ngbNavContent]'})\nexport class NgbNavContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\nexport class NgbNavItem implements AfterContentChecked, OnInit {\n private _nav: NgbNav;\n\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n @Input() disabled = false;\n\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n @Input() domId: string;\n\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n @Input('ngbNavItem') _id: any;\n\n /**\n * An event emitted when the fade in transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n contentTpl: NgbNavContent | null;\n\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\n }\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.contentTpl = this.contentTpls.first;\n }\n\n ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n\n get active() { return this._nav.activeId === this.id; }\n\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n\n get panelDomId() { return `${this.domId}-panel`; }\n\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n}\n\n\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: '[ngbNav]',\n exportAs: 'ngbNav',\n host: {\n '[class.nav]': 'true',\n '[class.flex-column]': `orientation === 'vertical'`,\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\n '(keydown.arrowLeft)': 'onKeyDown($event)',\n '(keydown.arrowRight)': 'onKeyDown($event)',\n '(keydown.arrowDown)': 'onKeyDown($event)',\n '(keydown.arrowUp)': 'onKeyDown($event)',\n '(keydown.Home)': 'onKeyDown($event)',\n '(keydown.End)': 'onKeyDown($event)'\n }\n})\nexport class NgbNav implements AfterContentInit,\n OnDestroy {\n static ngAcceptInputType_orientation: string;\n static ngAcceptInputType_roles: boolean | string;\n\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n @Input() activeId: any;\n\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n @Output() activeIdChange = new EventEmitter();\n\n /**\n * If `true`, nav change will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n @Input() roles: 'tablist' | false;\n\n /**\n * Keyboard support for nav focus/selection using arrow keys.\n *\n * * `false` - no keyboard support.\n * * `true` - navs will be focused using keyboard arrow keys\n * * `'changeWithArrows'` - nav will be selected using keyboard arrow keys\n *\n * See the [list of available keyboard shortcuts](#/components/nav/overview#keyboard-shortcuts).\n *\n * @since 6.1.0\n */\n @Input() keyboard: boolean | 'changeWithArrows';\n\n /**\n * An event emitted when the fade in transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just shown.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just hidden.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n @ContentChildren(NgbNavItem) items: QueryList;\n @ContentChildren(forwardRef(() => NgbNavLink), {descendants: true}) links: QueryList;\n\n destroy$ = new Subject();\n navItemChange$ = new Subject();\n\n constructor(\n @Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef,\n @Inject(DOCUMENT) private _document: any) {\n this.animation = config.animation;\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n this.keyboard = config.keyboard;\n }\n\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n @Output() navChange = new EventEmitter();\n\n click(item: NgbNavItem) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.roles !== 'tablist' || !this.keyboard) {\n return;\n }\n // tslint:disable-next-line: deprecation\n const key = event.which;\n const enabledLinks = this.links.filter(link => !link.navItem.disabled);\n const {length} = enabledLinks;\n\n let position = -1;\n\n enabledLinks.forEach((link, index) => {\n if (link.elRef.nativeElement === this._document.activeElement) {\n position = index;\n }\n });\n\n if (length) {\n switch (key) {\n case Key.ArrowLeft:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.ArrowRight:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowDown:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowUp:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = length - 1;\n break;\n }\n if (this.keyboard === 'changeWithArrows') {\n this.select(enabledLinks[position].navItem.id);\n }\n enabledLinks[position].elRef.nativeElement.focus();\n\n event.preventDefault();\n }\n }\n\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any) { this._updateActiveId(id, false); }\n\n ngAfterContentInit() {\n if (!isDefined(this.activeId)) {\n const nextId = this.items.first ? this.items.first.id : null;\n if (isValidNavId(nextId)) {\n this._updateActiveId(nextId, false);\n this._cd.detectChanges();\n }\n }\n\n this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this._notifyItemChanged(this.activeId));\n }\n\n ngOnChanges({activeId}: SimpleChanges): void {\n if (activeId && !activeId.firstChange) {\n this._notifyItemChanged(activeId.currentValue);\n }\n }\n\n ngOnDestroy() { this.destroy$.next(); }\n\n private _updateActiveId(nextId: any, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n\n if (emitNavChange) {\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\n }\n\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n this._notifyItemChanged(nextId);\n }\n }\n }\n\n private _notifyItemChanged(nextItemId: any) { this.navItemChange$.next(this._getItemById(nextItemId)); }\n\n private _getItemById(itemId: any): NgbNavItem | null {\n return this.items && this.items.find(item => item.id === itemId) || null;\n }\n}\n\n\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: 'a[ngbNavLink]',\n host: {\n '[id]': 'navItem.domId',\n '[class.nav-link]': 'true',\n '[class.nav-item]': 'hasNavItemClass()',\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\n 'href': '',\n '[class.active]': 'navItem.active',\n '[class.disabled]': 'navItem.disabled',\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\n '[attr.aria-selected]': 'navItem.active',\n '[attr.aria-disabled]': 'navItem.disabled',\n '(click)': 'nav.click(navItem); $event.preventDefault()'\n }\n})\nexport class NgbNavLink {\n constructor(\n @Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav,\n public elRef: ElementRef) {}\n\n hasNavItemClass() {\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\n }\n}\n\n\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: T;\n\n /**\n * Id of the newly selected nav.\n */\n nextId: T;\n\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\nexport const ngbNavFadeOutTransition: NgbTransitionStartFn = ({classList}) => {\n classList.remove('show');\n return () => classList.remove('active');\n};\n\nexport const ngbNavFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n};\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Input,\n NgZone,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport {distinctUntilChanged, skip, startWith, takeUntil} from 'rxjs/operators';\n\nimport {ngbNavFadeInTransition, ngbNavFadeOutTransition} from './nav-transition';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {NgbNav, NgbNavItem} from './nav';\n\n@Directive({\n selector: '[ngbNavPane]',\n host: {\n '[id]': 'item.panelDomId',\n 'class': 'tab-pane',\n '[class.fade]': 'nav.animation',\n '[attr.role]': 'role ? role : nav.roles ? \"tabpanel\" : undefined',\n '[attr.aria-labelledby]': 'item.domId'\n }\n})\nexport class NgbNavPane {\n @Input() item: NgbNavItem;\n @Input() nav: NgbNav;\n @Input() role: string;\n\n constructor(public elRef: ElementRef) {}\n}\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\n@Component({\n selector: '[ngbNavOutlet]',\n host: {'[class.tab-content]': 'true'},\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n \n
\n \n
\n
\n `\n})\nexport class NgbNavOutlet implements AfterViewInit {\n private _activePane: NgbNavPane | null = null;\n\n @ViewChildren(NgbNavPane) private _panes: QueryList;\n\n /**\n * A role to set on the nav pane\n */\n @Input() paneRole;\n\n /**\n * Reference to the `NgbNav`\n */\n @Input('ngbNavOutlet') nav: NgbNav;\n\n constructor(private _cd: ChangeDetectorRef, private _ngZone: NgZone) {}\n\n isPanelTransitioning(item: NgbNavItem) { return this._activePane ?.item === item; }\n\n ngAfterViewInit() {\n // initial display\n this._updateActivePane();\n\n // this will be emitted for all 3 types of nav changes: .select(), [activeId] or (click)\n this.nav.navItemChange$\n .pipe(takeUntil(this.nav.destroy$), startWith(this._activePane ?.item || null), distinctUntilChanged(), skip(1))\n .subscribe(nextItem => {\n const options: NgbTransitionOptions = {animation: this.nav.animation, runningTransition: 'stop'};\n\n // next panel we're switching to will only appear in DOM after the change detection is done\n // and `this._panes` will be updated\n this._cd.detectChanges();\n\n // fading out\n if (this._activePane) {\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeOutTransition, options)\n .subscribe(() => {\n const activeItem = this._activePane ?.item;\n this._activePane = this._getPaneForItem(nextItem);\n\n // mark for check when transition finishes as outlet or parent containers might be OnPush\n // without this the panes that have \"faded out\" will stay in DOM\n this._cd.markForCheck();\n\n // fading in\n if (this._activePane) {\n // we have to add the '.active' class before running the transition,\n // because it should be in place before `ngbRunTransition` does `reflow()`\n this._activePane.elRef.nativeElement.classList.add('active');\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeInTransition, options)\n .subscribe(() => {\n if (nextItem) {\n nextItem.shown.emit();\n this.nav.shown.emit(nextItem.id);\n }\n });\n }\n\n if (activeItem) {\n activeItem.hidden.emit();\n this.nav.hidden.emit(activeItem.id);\n }\n });\n } else {\n this._updateActivePane();\n }\n });\n }\n\n private _updateActivePane() {\n this._activePane = this._getActivePane();\n this._activePane ?.elRef.nativeElement.classList.add('show');\n this._activePane ?.elRef.nativeElement.classList.add('active');\n }\n\n private _getPaneForItem(item: NgbNavItem | null) {\n return this._panes && this._panes.find(pane => pane.item === item) || null;\n }\n\n private _getActivePane(): NgbNavPane | null {\n return this._panes && this._panes.find(pane => pane.item.active) || null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\nimport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\n\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\nexport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\nexport {NgbNavConfig} from './nav-config';\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet, NgbNavPane];\n\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\nexport class NgbNavModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the paginations used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPaginationConfig {\n disabled = false;\n boundaryLinks = false;\n directionLinks = true;\n ellipses = true;\n maxSize = 0;\n pageSize = 10;\n rotate = false;\n size: 'sm' | 'lg';\n}\n","import {\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbPaginationConfig} from './pagination-config';\n\n/**\n * A context for the\n * * `NgbPaginationFirst`\n * * `NgbPaginationPrevious`\n * * `NgbPaginationNext`\n * * `NgbPaginationLast`\n * * `NgbPaginationEllipsis`\n *\n * link templates in case you want to override one.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationLinkContext {\n /**\n * The currently selected page number\n */\n currentPage: number;\n\n /**\n * If `true`, the current link is disabled\n */\n disabled: boolean;\n}\n\n/**\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\n *\n * Extends `NgbPaginationLinkContext`.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\n /**\n * The page number, displayed by the current page link.\n */\n $implicit: number;\n}\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\nexport class NgbPaginationEllipsis {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\nexport class NgbPaginationFirst {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\nexport class NgbPaginationLast {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\nexport class NgbPaginationNext {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\nexport class NgbPaginationNumber {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\nexport class NgbPaginationPrevious {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\n@Component({\n selector: 'ngb-pagination',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'role': 'navigation'},\n template: `\n ««\n «\n »\n »»\n ...\n \n {{ page }}\n (current)\n \n \n `\n})\nexport class NgbPagination implements OnChanges {\n pageCount = 0;\n pages: number[] = [];\n\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\n\n /**\n * If `true`, pagination links will be disabled.\n */\n @Input() disabled: boolean;\n\n /**\n * If `true`, the \"First\" and \"Last\" page links are shown.\n */\n @Input() boundaryLinks: boolean;\n\n /**\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\n */\n @Input() directionLinks: boolean;\n\n /**\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\n */\n @Input() ellipses: boolean;\n\n /**\n * Whether to rotate pages when `maxSize` > number of pages.\n *\n * The current page always stays in the middle if `true`.\n */\n @Input() rotate: boolean;\n\n /**\n * The number of items in your paginated collection.\n *\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\n * you'll end up with 5 pages.\n */\n @Input() collectionSize: number;\n\n /**\n * The maximum number of pages to display.\n */\n @Input() maxSize: number;\n\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n @Input() page = 1;\n\n /**\n * The number of items per page.\n */\n @Input() pageSize: number;\n\n /**\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\n *\n * Event payload is the number of the newly selected page.\n *\n * Page numbers start with `1`.\n */\n @Output() pageChange = new EventEmitter(true);\n\n /**\n * The pagination display size.\n *\n * Bootstrap currently supports small and large sizes.\n */\n @Input() size: 'sm' | 'lg';\n\n constructor(config: NgbPaginationConfig) {\n this.disabled = config.disabled;\n this.boundaryLinks = config.boundaryLinks;\n this.directionLinks = config.directionLinks;\n this.ellipses = config.ellipses;\n this.maxSize = config.maxSize;\n this.pageSize = config.pageSize;\n this.rotate = config.rotate;\n this.size = config.size;\n }\n\n hasPrevious(): boolean { return this.page > 1; }\n\n hasNext(): boolean { return this.page < this.pageCount; }\n\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\n\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\n\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\n\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\n\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\n\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n private _applyEllipses(start: number, end: number) {\n if (this.ellipses) {\n if (start > 0) {\n // The first page will always be included. If the displayed range\n // starts after the third page, then add ellipsis. But if the range\n // starts on the third page, then add the second page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (start > 2) {\n this.pages.unshift(-1);\n } else if (start === 2) {\n this.pages.unshift(2);\n }\n this.pages.unshift(1);\n }\n if (end < this.pageCount) {\n // The last page will always be included. If the displayed range\n // ends before the third-last page, then add ellipsis. But if the range\n // ends on third-last page, then add the second-last page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (end < (this.pageCount - 2)) {\n this.pages.push(-1);\n } else if (end === (this.pageCount - 2)) {\n this.pages.push(this.pageCount - 1);\n }\n this.pages.push(this.pageCount);\n }\n }\n }\n\n /**\n * Rotates page numbers based on maxSize items visible.\n * Currently selected page stays in the middle:\n *\n * Ex. for selected page = 6:\n * [5,*6*,7] for maxSize = 3\n * [4,5,*6*,7] for maxSize = 4\n */\n private _applyRotation(): [number, number] {\n let start = 0;\n let end = this.pageCount;\n let leftOffset = Math.floor(this.maxSize / 2);\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\n\n if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n } else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n } else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n\n return [start, end];\n }\n\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n private _applyPagination(): [number, number] {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n\n return [start, end];\n }\n\n private _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n\n private _updatePages(newPage: number) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\n }\n\n // fill-in model needed to render pages\n this.pages.length = 0;\n for (let i = 1; i <= this.pageCount; i++) {\n this.pages.push(i);\n }\n\n // set page within 1..max range\n this._setPageInRange(newPage);\n\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n } else {\n [start, end] = this._applyPagination();\n }\n\n this.pages = this.pages.slice(start, end);\n\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\n\nexport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\nexport {NgbPaginationConfig} from './pagination-config';\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\n\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\nexport class NgbPaginationModule {\n}\n","import {Observable, merge} from 'rxjs';\nimport {share, filter, delay, map} from 'rxjs/operators';\nimport {Renderer2} from '@angular/core';\n\nexport class Trigger {\n constructor(public open: string, public close?: string) {\n if (!close) {\n this.close = open;\n }\n }\n\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\n\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\n\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function observeTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: Trigger[], isOpenedFn: () => boolean) {\n return new Observable(subscriber => {\n const listeners: Function[] = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n\n triggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n } else {\n listeners.push(\n renderer.listen(nativeElement, trigger.open, openFn),\n renderer.listen(nativeElement, trigger.close !, closeFn));\n }\n });\n\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\n\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\n\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\n return (input$: Observable) => {\n let pending: {open: boolean} | null = null;\n const filteredInput$ = input$.pipe(\n map(open => ({open})), filter(event => {\n const currentlyOpen = isOpenedFn();\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\n pending = event;\n return true;\n }\n if (pending && pending.open !== event.open) {\n pending = null;\n }\n return false;\n }),\n share());\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\n return merge(delayedOpen$, delayedClose$)\n .pipe(\n filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }),\n map(event => event.open));\n };\n}\n\nexport function listenToTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: string, isOpenedFn: () => boolean, openFn: Function,\n closeFn: Function, openDelay = 0, closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => {};\n }\n\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n\n return () => subscription.unsubscribe();\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the popovers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPopoverConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'click';\n container: string;\n disablePopover = false;\n popoverClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n OnChanges,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbPopoverConfig} from './popover-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `\n
\n

\n {{title}}\n \n

\n
`,\n styleUrls: ['./popover.scss']\n})\nexport class NgbPopoverWindow {\n @Input() animation: boolean;\n @Input() title: string | TemplateRef| null | undefined;\n @Input() id: string;\n @Input() popoverClass: string;\n @Input() context: any;\n\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n}\n\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, popover opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() ngbPopover: string | TemplateRef| null | undefined;\n\n /**\n * The title of the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() popoverTitle: string | TemplateRef| null | undefined;\n\n /**\n * The preferred placement of the popover.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n *\n * Currently only supports `body`.\n */\n @Input() container: string;\n\n /**\n * If `true`, popover is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disablePopover: boolean;\n\n /**\n * An optional class applied to the popover window element.\n *\n * @since 2.2.0\n */\n @Input() popoverClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the popover opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the popover closing animation has finished. Contains no payload.\n *\n * At this point popover is not in the DOM anymore.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n private _isDisabled(): boolean {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\n }\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disablePopover = config.disablePopover;\n this.popoverClass = config.popoverClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbPopoverWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-popover');\n }\n });\n }\n\n /**\n * Opens the popover.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the popover template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && !this._isDisabled()) {\n // this type assertion is safe because otherwise _isDisabled would return true\n const {windowRef, transition$} =\n this._popupService.open(this.ngbPopover as(string | TemplateRef), context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.title = this.popoverTitle;\n this._windowRef.instance.context = context;\n this._windowRef.instance.popoverClass = this.popoverClass;\n this._windowRef.instance.id = this._ngbPopoverWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening popover from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because popover won't work inside the OnPush component.\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the popover from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n close() {\n if (this._windowRef) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\n if (popoverClass && this.isOpen()) {\n this._windowRef !.instance.popoverClass = popoverClass.currentValue;\n }\n // close popover if title and content become empty, or disablePopover set to true\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbPopover, NgbPopoverWindow} from './popover';\nimport {CommonModule} from '@angular/common';\n\nexport {NgbPopover} from './popover';\nexport {NgbPopoverConfig} from './popover-config';\nexport {Placement} from '../util/positioning';\n\n@NgModule({\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n})\nexport class NgbPopoverModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the progress bars used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbProgressbarConfig {\n max = 100;\n animated = false;\n striped = false;\n textType: string;\n type: string;\n showValue = false;\n height: string;\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation, HostBinding} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbProgressbarConfig} from './progressbar-config';\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\n@Component({\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {class: 'progress'},\n template: `\n
\n {{getValue() / max | percent}}\n
\n `\n})\nexport class NgbProgressbar {\n private _max: number;\n\n /**\n * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n @Input()\n set max(max: number) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n\n get max(): number { return this._max; }\n\n /**\n * If `true`, the stripes on the progress bar are animated.\n *\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n */\n @Input() animated: boolean;\n\n /**\n * If `true`, the progress bars will be displayed as striped.\n */\n @Input() striped: boolean;\n\n /**\n * If `true`, the current percentage will be shown in the `xx%` format.\n */\n @Input() showValue: boolean;\n\n /**\n * Optional text variant type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n *\n * @since 5.2.0\n */\n @Input() textType: string;\n\n /**\n * The type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n */\n @Input() type: string;\n\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n @Input() value = 0;\n\n /**\n * The height of the progress bar.\n *\n * Accepts any valid CSS height values, ex. `\"2rem\"`\n */\n @Input() @HostBinding('style.height') height: string;\n\n constructor(config: NgbProgressbarConfig) {\n this.max = config.max;\n this.animated = config.animated;\n this.striped = config.striped;\n this.textType = config.textType;\n this.type = config.type;\n this.showValue = config.showValue;\n this.height = config.height;\n }\n\n getValue() { return getValueInRange(this.value, this.max); }\n\n getPercentValue() { return 100 * this.getValue() / this.max; }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbProgressbar} from './progressbar';\n\nexport {NgbProgressbar} from './progressbar';\nexport {NgbProgressbarConfig} from './progressbar-config';\n\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\nexport class NgbProgressbarModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbRatingConfig {\n max = 10;\n readonly = false;\n resettable = false;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbRatingConfig} from './rating-config';\nimport {getValueInRange} from '../util/util';\nimport {Key} from '../util/key';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n /**\n * The star fill percentage, an integer in the `[0, 100]` range.\n */\n fill: number;\n\n /**\n * Index of the star, starts with `0`.\n */\n index: number;\n}\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n selector: 'ngb-rating',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'd-inline-flex',\n '[tabindex]': 'disabled ? -1 : 0',\n 'role': 'slider',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuenow]': 'nextRate',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-disabled]': 'readonly ? true : null',\n '(blur)': 'handleBlur()',\n '(keydown)': 'handleKeyDown($event)',\n '(mouseleave)': 'reset()'\n },\n template: `\n {{ fill === 100 ? '★' : '☆' }}\n \n ({{ index < nextRate ? '*' : ' ' }})\n \n \n \n \n \n `,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRating), multi: true}]\n})\nexport class NgbRating implements ControlValueAccessor,\n OnInit, OnChanges {\n contexts: StarTemplateContext[] = [];\n disabled = false;\n nextRate: number;\n\n\n /**\n * The maximal rating that can be given.\n */\n @Input() max: number;\n\n /**\n * The current rating. Could be a decimal value like `3.75`.\n */\n @Input() rate: number;\n\n /**\n * If `true`, the rating can't be changed.\n */\n @Input() readonly: boolean;\n\n /**\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n */\n @Input() resettable: boolean;\n\n /**\n * The template to override the way each star is displayed.\n *\n * Alternatively put an `` as the only child of your `` element\n */\n @Input() starTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\n\n /**\n * An event emitted when the user is hovering over a given rating.\n *\n * Event payload equals to the rating being hovered over.\n */\n @Output() hover = new EventEmitter();\n\n /**\n * An event emitted when the user stops hovering over a given rating.\n *\n * Event payload equals to the rating of the last item being hovered over.\n */\n @Output() leave = new EventEmitter();\n\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n @Output() rateChange = new EventEmitter(true);\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\n this.max = config.max;\n this.readonly = config.readonly;\n }\n\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n\n isInteractive(): boolean { return !this.readonly && !this.disabled; }\n\n enter(value: number): void {\n if (this.isInteractive()) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n\n handleBlur() { this.onTouched(); }\n\n handleClick(value: number) {\n if (this.isInteractive()) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n case Key.ArrowLeft:\n this.update(this.rate - 1);\n break;\n case Key.ArrowUp:\n case Key.ArrowRight:\n this.update(this.rate + 1);\n break;\n case Key.Home:\n this.update(0);\n break;\n case Key.End:\n this.update(this.max);\n break;\n default:\n return;\n }\n\n // note 'return' in default case\n event.preventDefault();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n\n ngOnInit(): void {\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\n this._updateState(this.rate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n reset(): void {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n update(value: number, internalChange = true): void {\n const newRate = getValueInRange(value, this.max, 0);\n if (this.isInteractive() && this.rate !== newRate) {\n this.rate = newRate;\n this.rateChange.emit(this.rate);\n }\n if (internalChange) {\n this.onChange(this.rate);\n this.onTouched();\n }\n this._updateState(this.rate);\n }\n\n writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n\n private _updateState(nextValue: number) {\n this.nextRate = nextValue;\n this.contexts.forEach(\n (context, index) => context.fill = Math.round(getValueInRange(nextValue - index, 1, 0) * 100));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbRating} from './rating';\n\nexport {NgbRating} from './rating';\nexport {NgbRatingConfig} from './rating-config';\n\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\nexport class NgbRatingModule {\n}\n","import {isNumber, toInteger} from '../util/util';\n\nexport class NgbTime {\n hour: number;\n minute: number;\n second: number;\n\n constructor(hour?: number, minute?: number, second?: number) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n\n updateHour(hour: number) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n } else {\n this.hour = NaN;\n }\n }\n\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n\n updateMinute(minute: number) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n } else {\n this.minute = NaN;\n }\n }\n\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n\n updateSecond(second: number) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n } else {\n this.second = NaN;\n }\n }\n\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the timepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTimepickerConfig {\n meridian = false;\n spinners = true;\n seconds = false;\n hourStep = 1;\n minuteStep = 1;\n secondStep = 1;\n disabled = false;\n readonlyInputs = false;\n size: 'small' | 'medium' | 'large' = 'medium';\n}\n","import {Injectable} from '@angular/core';\nimport {NgbTimeStruct} from './ngb-time-struct';\nimport {isInteger} from '../util/util';\n\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\n * any provided user time model `T`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding timepicker to a form control,\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\n *\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\n *\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\n *\n * @since 2.2.0\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\nexport abstract class NgbTimeAdapter {\n /**\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\n */\n abstract fromModel(value: T | null): NgbTimeStruct | null;\n\n /**\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\n */\n abstract toModel(time: NgbTimeStruct | null): T | null;\n}\n\n@Injectable()\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\n\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\n}\n\n/**\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\n * as explained in the Angular i18n guide.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbTimepickerI18n {\n /**\n * Returns the name for the period before midday.\n */\n abstract getMorningPeriod(): string;\n\n /**\n * Returns the name for the period after midday.\n */\n abstract getAfternoonPeriod(): string;\n}\n\n@Injectable()\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n private _periods: [string, string];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n super();\n\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n\n getMorningPeriod(): string { return this._periods[0]; }\n\n getAfternoonPeriod(): string { return this._periods[1]; }\n}\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\nimport {NgbTime} from './ngb-time';\nimport {NgbTimepickerConfig} from './timepicker-config';\nimport {NgbTimeAdapter} from './ngb-time-adapter';\nimport {NgbTimepickerI18n} from './timepicker-i18n';\n\nconst FILTER_REGEX = /[^0-9]/g;\n\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\n@Component({\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./timepicker.scss'],\n template: `\n
\n
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n `,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTimepicker), multi: true}]\n})\nexport class NgbTimepicker implements ControlValueAccessor,\n OnChanges {\n static ngAcceptInputType_size: string;\n\n disabled: boolean;\n model: NgbTime;\n\n private _hourStep: number;\n private _minuteStep: number;\n private _secondStep: number;\n\n /**\n * Whether to display 12H or 24H mode.\n */\n @Input() meridian: boolean;\n\n /**\n * If `true`, the spinners above and below inputs are visible.\n */\n @Input() spinners: boolean;\n\n /**\n * If `true`, it is possible to select seconds.\n */\n @Input() seconds: boolean;\n\n /**\n * The number of hours to add/subtract when clicking hour spinners.\n */\n @Input()\n set hourStep(step: number) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n\n get hourStep(): number { return this._hourStep; }\n\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n @Input()\n set minuteStep(step: number) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n\n get minuteStep(): number { return this._minuteStep; }\n\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n @Input()\n set secondStep(step: number) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n\n get secondStep(): number { return this._secondStep; }\n\n /**\n * If `true`, the timepicker is readonly and can't be changed.\n */\n @Input() readonlyInputs: boolean;\n\n /**\n * The size of inputs and buttons.\n */\n @Input() size: 'small' | 'medium' | 'large';\n\n constructor(\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\n this.meridian = _config.meridian;\n this.spinners = _config.spinners;\n this.seconds = _config.seconds;\n this.hourStep = _config.hourStep;\n this.minuteStep = _config.minuteStep;\n this.secondStep = _config.secondStep;\n this.disabled = _config.disabled;\n this.readonlyInputs = _config.readonlyInputs;\n this.size = _config.size;\n }\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value) {\n const structValue = this._ngbTimeAdapter.fromModel(value);\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\n this.model.second = 0;\n }\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n changeHour(step: number) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n\n changeMinute(step: number) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n\n changeSecond(step: number) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n\n updateHour(newVal: string) {\n const isPM = this.model.hour >= 12;\n const enteredHour = toInteger(newVal);\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\n this.model.updateHour(enteredHour + 12);\n } else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n\n updateMinute(newVal: string) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n\n updateSecond(newVal: string) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\n\n formatHour(value?: number) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n } else {\n return padNumber(value % 24);\n }\n } else {\n return padNumber(NaN);\n }\n }\n\n formatMinSec(value?: number) { return padNumber(isNumber(value) ? value : NaN); }\n\n get isSmallSize(): boolean { return this.size === 'small'; }\n\n get isLargeSize(): boolean { return this.size === 'large'; }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n\n private propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\n } else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTimepicker} from './timepicker';\n\nexport {NgbTimepicker} from './timepicker';\nexport {NgbTimepickerConfig} from './timepicker-config';\nexport {NgbTimeStruct} from './ngb-time-struct';\nexport {NgbTimeAdapter} from './ngb-time-adapter';\nexport {NgbTimepickerI18n} from './timepicker-i18n';\n\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\nexport class NgbTimepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Interface used to type all toast config options. See `NgbToastConfig`.\n *\n * @since 5.0.0\n */\nexport interface NgbToastOptions {\n /**\n * Specify if the toast component should emit the `hide()` output\n * after a certain `delay` in ms.\n */\n autohide?: boolean;\n\n /**\n * Delay in ms after which the `hide()` output should be emitted.\n */\n delay?: number;\n\n /**\n * Type of aria-live attribute to be used.\n *\n * Could be one of these 2 values (as string):\n * - `polite` (default)\n * - `alert`\n */\n ariaLive?: 'polite' | 'alert';\n}\n\n/**\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\n * and customize the values of its properties in order to provide default values for all the toasts used in the\n * application.\n *\n * @since 5.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbToastConfig implements NgbToastOptions {\n autohide = true;\n delay = 500;\n ariaLive: 'polite' | 'alert' = 'polite';\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\nexport const ngbToastFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: true) => {\n const {classList} = element;\n\n if (!animation) {\n classList.add('show');\n return;\n }\n\n classList.remove('hide');\n reflow(element);\n classList.add('showing');\n\n return () => {\n classList.remove('showing');\n classList.add('show');\n };\n};\n\nexport const ngbToastFadeOutTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n return () => { classList.add('hide'); };\n};\n","import {\n AfterContentInit,\n Attribute,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n ElementRef,\n NgZone,\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {NgbToastConfig} from './toast-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbToastFadeInTransition, ngbToastFadeOutTransition} from './toast-transition';\n\n\n/**\n * This directive allows the usage of HTML markup or other directives\n * inside of the toast's header.\n *\n * @since 5.0.0\n */\n@Directive({selector: '[ngbToastHeader]'})\nexport class NgbToastHeader {\n}\n\n/**\n * Toasts provide feedback messages as notifications to the user.\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\n *\n * @since 5.0.0\n */\n@Component({\n selector: 'ngb-toast',\n exportAs: 'ngbToast',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'alert',\n '[attr.aria-live]': 'ariaLive',\n 'aria-atomic': 'true',\n 'class': 'toast',\n '[class.fade]': 'animation',\n },\n template: `\n \n {{header}}\n \n \n
\n \n \n
\n
\n
\n \n
\n `,\n styleUrls: ['./toast.scss']\n})\nexport class NgbToast implements AfterContentInit,\n OnChanges {\n /**\n * If `true`, toast opening and closing will be animated.\n *\n * Animation is triggered only when the `.hide()` or `.show()` functions are called\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n private _timeoutID;\n\n /**\n * Delay after which the toast will hide (ms).\n * default: `500` (ms) (inherited from NgbToastConfig)\n */\n @Input() delay: number;\n\n /**\n * Auto hide the toast after a delay in ms.\n * default: `true` (inherited from NgbToastConfig)\n */\n @Input() autohide: boolean;\n\n /**\n * Text to be used as toast's header.\n * Ignored if a ContentChild template is specified at the same time.\n */\n @Input() header: string;\n\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\n\n /**\n * An event fired after the animation triggered by calling `.show()` method has finished.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event fired after the animation triggered by calling `.hide()` method has finished.\n *\n * It can only occur in 2 different scenarios:\n * - `autohide` timeout fires\n * - user clicks on a closing cross\n *\n * Additionally this output is purely informative. The toast won't be removed from DOM automatically, it's up\n * to the user to take care of that.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n @Attribute('aria-live') public ariaLive: string, config: NgbToastConfig, private _zone: NgZone,\n private _element: ElementRef) {\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n this.animation = config.animation;\n }\n\n ngAfterContentInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n this._init();\n this.show();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n\n /**\n * Triggers toast closing programmatically.\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(hidden)` output\n *\n * @since 8.0.0\n */\n hide(): Observable {\n this._clearTimeout();\n const transition = ngbRunTransition(\n this._zone, this._element.nativeElement, ngbToastFadeOutTransition,\n {animation: this.animation, runningTransition: 'stop'});\n transition.subscribe(() => { this.hidden.emit(); });\n return transition;\n }\n\n /**\n * Triggers toast opening programmatically.\n *\n * The returned observable will emit and be completed once the opening transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(shown)` output\n *\n * @since 8.0.0\n */\n show(): Observable {\n const transition = ngbRunTransition(this._zone, this._element.nativeElement, ngbToastFadeInTransition, {\n animation: this.animation,\n runningTransition: 'continue',\n });\n transition.subscribe(() => { this.shown.emit(); });\n return transition;\n }\n\n private _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n\n private _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {NgbToast, NgbToastHeader} from './toast';\n\nexport {NgbToast, NgbToastHeader} from './toast';\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\n\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\nexport class NgbToastModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tooltips used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTooltipConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'hover focus';\n container: string;\n disableTooltip = false;\n tooltipClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbTooltipConfig} from './tooltip-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"tooltip\" + (tooltipClass ? \" \" + tooltipClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `
`,\n styleUrls: ['./tooltip.scss']\n})\nexport class NgbTooltipWindow {\n @Input() animation: boolean;\n @Input() id: string;\n @Input() tooltipClass: string;\n}\n\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, tooltip opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The preferred placement of the tooltip.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the tooltip should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, tooltip is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disableTooltip: boolean;\n\n /**\n * An optional class applied to the tooltip window element.\n *\n * @since 3.2.0\n */\n @Input() tooltipClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the tooltip opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the tooltip closing animation has finished. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbTooltip: string | TemplateRef| null | undefined;\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disableTooltip = config.disableTooltip;\n this.tooltipClass = config.tooltipClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbTooltipWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-tooltip');\n }\n });\n }\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\n *\n * If the content if falsy, the tooltip won't open.\n */\n @Input()\n set ngbTooltip(value: string | TemplateRef| null | undefined) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n\n get ngbTooltip() { return this._ngbTooltip; }\n\n /**\n * Opens the tooltip.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the tooltip template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n const {windowRef, transition$} = this._popupService.open(this._ngbTooltip, context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because tooltip won't work inside the OnPush component.\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the tooltip from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close(): void {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({tooltipClass}: SimpleChanges) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef !.instance.tooltipClass = tooltipClass.currentValue;\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\n\nexport {NgbTooltipConfig} from './tooltip-config';\nexport {NgbTooltip} from './tooltip';\nexport {Placement} from '../util/positioning';\n\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\nexport class NgbTooltipModule {\n}\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {regExpEscape, toString} from '../util/util';\n\n/**\n * A component that helps with text highlighting.\n *\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\n * highlighting:\n *\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\n */\n@Component({\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\n styleUrls: ['./highlight.scss']\n})\nexport class NgbHighlight implements OnChanges {\n parts: string[];\n\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n @Input() highlightClass = 'ngb-highlight';\n\n /**\n * The text highlighting is added to.\n *\n * If the `term` is found inside this text, it will be highlighted.\n * If the `term` contains array then all the items from it will be highlighted inside the text.\n */\n @Input() result?: string | null;\n\n /**\n * The term or array of terms to be highlighted.\n * Since version `v4.2.0` term could be a `string[]`\n */\n @Input() term: string | readonly string[];\n\n ngOnChanges(changes: SimpleChanges) {\n const result = toString(this.result);\n\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nimport {toString} from '../util/util';\n\n/**\n * The context for the typeahead result template in case you want to override the default one.\n */\nexport interface ResultTemplateContext {\n /**\n * Your typeahead result item.\n */\n result: any;\n\n /**\n * Search term from the `` used to get current result.\n */\n term: string;\n}\n\n@Component({\n selector: 'ngb-typeahead-window',\n exportAs: 'ngbTypeaheadWindow',\n encapsulation: ViewEncapsulation.None,\n host: {'(mousedown)': '$event.preventDefault()', 'class': 'dropdown-menu show', 'role': 'listbox', '[id]': 'id'},\n template: `\n \n \n \n \n \n \n `\n})\nexport class NgbTypeaheadWindow implements OnInit {\n activeIdx = 0;\n\n /**\n * The id for the typeahead window. The id should be unique and the same\n * as the associated typeahead's id.\n */\n @Input() id: string;\n\n /**\n * Flag indicating if the first row should be active initially\n */\n @Input() focusFirst = true;\n\n /**\n * Typeahead match results to be displayed\n */\n @Input() results;\n\n /**\n * Search term used to get current results\n */\n @Input() term: string;\n\n /**\n * A function used to format a given result before display. This function should return a formatted string without any\n * HTML markup\n */\n @Input() formatter = toString;\n\n /**\n * A template to override a matching result default display\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * Event raised when user selects a particular result row\n */\n @Output('select') selectEvent = new EventEmitter();\n\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n\n getActive() { return this.results[this.activeIdx]; }\n\n markActive(activeIdx: number) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n } else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n } else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n } else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n\n select(item) { this.selectEvent.emit(item); }\n\n ngOnInit() { this.resetActive(); }\n\n private _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n}\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n\n// usefulness (and default value) of delay documented in Material's CDK\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\nexport const ARIA_LIVE_DELAY = new InjectionToken(\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\n return 100;\n}\n\n\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\n\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n\n element.classList.add('sr-only');\n\n document.body.appendChild(element);\n }\n\n return element;\n}\n\n\n\n@Injectable({providedIn: 'root'})\nexport class Live implements OnDestroy {\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\n\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n // if exists, it will always be attached to the \n element.parentElement !.removeChild(element);\n }\n }\n\n say(message: string) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n\n if (element != null) {\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n } else {\n setTimeout(setText, delay);\n }\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the typeaheads used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTypeaheadConfig {\n container;\n editable = true;\n focusFirst = true;\n showHint = false;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ApplicationRef\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject, fromEvent, Observable, Subject, Subscription} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {Live} from '../util/accessibility/live';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\nimport {PopupService} from '../util/popup';\nimport {PlacementArray, positionElements} from '../util/positioning';\nimport {isDefined, toString} from '../util/util';\n\nimport {NgbTypeaheadConfig} from './typeahead-config';\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\n\n/**\n * An event emitted right before an item is selected from the result list.\n */\nexport interface NgbTypeaheadSelectItemEvent {\n /**\n * The item from the result list about to be selected.\n */\n item: T;\n\n /**\n * Calling this function will prevent item selection from happening.\n */\n preventDefault: () => void;\n}\n\nlet nextWindowId = 0;\n\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\n@Directive({\n selector: 'input[ngbTypeahead]',\n exportAs: 'ngbTypeahead',\n host: {\n '(blur)': 'handleBlur()',\n '[class.open]': 'isPopupOpen()',\n '(keydown)': 'handleKeyDown($event)',\n '[autocomplete]': 'autocomplete',\n 'autocapitalize': 'off',\n 'autocorrect': 'off',\n 'role': 'combobox',\n 'aria-multiline': 'false',\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\n '[attr.aria-expanded]': 'isPopupOpen()'\n },\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTypeahead), multi: true}]\n})\nexport class NgbTypeahead implements ControlValueAccessor,\n OnInit, OnDestroy {\n private _popupService: PopupService;\n private _subscription: Subscription | null = null;\n private _closed$ = new Subject();\n private _inputValueBackup: string | null = null;\n private _valueChanges: Observable;\n private _resubscribeTypeahead: BehaviorSubject;\n private _windowRef: ComponentRef| null = null;\n private _zoneSubscription: any;\n\n /**\n * The value for the `autocomplete` attribute for the `` element.\n *\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\n *\n * @since 2.1.0\n */\n @Input() autocomplete = 'off';\n\n /**\n * A selector specifying the element the typeahead popup will be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, model values will not be restricted only to items selected from the popup.\n */\n @Input() editable: boolean;\n\n /**\n * If `true`, the first item in the result list will always stay focused while typing.\n */\n @Input() focusFirst: boolean;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the `` field.\n *\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\n * be updated.\n */\n @Input() inputFormatter: (item: any) => string;\n\n /**\n * The function that converts a stream of text values from the `` element to the stream of the array of items\n * to display in the typeahead popup.\n *\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\n * popup will be closed.\n *\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\n *\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\n */\n @Input() ngbTypeahead: (text: Observable) => Observable;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the popup.\n *\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\n *\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\n */\n @Input() resultFormatter: (item: any) => string;\n\n /**\n * The template to override the way resulting items are displayed in the popup.\n *\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\n *\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * If `true`, will show the hint in the `` when an item in the result list matches.\n */\n @Input() showHint: boolean;\n\n /**\n * The preferred placement of the typeahead.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray = 'bottom-left';\n\n /**\n * An event emitted right before an item is selected from the result list.\n *\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\n */\n @Output() selectItem = new EventEmitter();\n\n activeDescendant: string | null = null;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n private _onTouched = () => {};\n private _onChange = (_: any) => {};\n\n constructor(\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\n this.container = config.container;\n this.editable = config.editable;\n this.focusFirst = config.focusFirst;\n this.showHint = config.showHint;\n this.placement = config.placement;\n\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => ($event.target as HTMLInputElement).value));\n\n this._resubscribeTypeahead = new BehaviorSubject(null);\n\n this._popupService = new PopupService(\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef !.location.nativeElement, this.placement,\n this.container === 'body');\n }\n });\n }\n\n ngOnInit(): void {\n const inputValues$ = this._valueChanges.pipe(tap(value => {\n this._inputValueBackup = this.showHint ? value : null;\n this._onChange(this.editable ? value : undefined);\n }));\n const results$ = inputValues$.pipe(this.ngbTypeahead);\n const userInput$ = this._resubscribeTypeahead.pipe(switchMap(() => results$));\n this._subscription = this._subscribeToUserInput(userInput$);\n }\n\n ngOnDestroy(): void {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n /**\n * Dismisses typeahead popup window\n */\n dismissPopup() {\n if (this.isPopupOpen()) {\n this._resubscribeTypeahead.next(null);\n this._closePopup();\n if (this.showHint && this._inputValueBackup !== null) {\n this._writeInputValue(this._inputValueBackup);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isPopupOpen()) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n event.preventDefault();\n this._windowRef !.instance.next();\n this._showHint();\n break;\n case Key.ArrowUp:\n event.preventDefault();\n this._windowRef !.instance.prev();\n this._showHint();\n break;\n case Key.Enter:\n case Key.Tab:\n const result = this._windowRef !.instance.getActive();\n if (isDefined(result)) {\n event.preventDefault();\n event.stopPropagation();\n this._selectResult(result);\n }\n this._closePopup();\n break;\n }\n }\n\n private _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n const {windowRef} = this._popupService.open();\n this._windowRef = windowRef;\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n this._changeDetector.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n\n private _closePopup() {\n this._popupService.close().subscribe(() => {\n this._closed$.next();\n this._windowRef = null;\n this.activeDescendant = null;\n });\n }\n\n private _selectResult(result: any) {\n let defaultPrevented = false;\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\n this._resubscribeTypeahead.next(null);\n\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n\n private _selectResultClosePopup(result: any) {\n this._selectResult(result);\n this._closePopup();\n }\n\n private _showHint() {\n if (this.showHint && this._windowRef?.instance.hasActive() && this._inputValueBackup != null) {\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\n\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\n this._elementRef.nativeElement['setSelectionRange'].apply(\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n } else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n\n private _formatItemForInput(item: any): string {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n\n private _writeInputValue(value: string): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n\n private _subscribeToUserInput(userInput$: Observable): Subscription {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n } else {\n this._openPopup();\n this._windowRef !.instance.focusFirst = this.focusFirst;\n this._windowRef !.instance.results = results;\n this._windowRef !.instance.term = this._elementRef.nativeElement.value;\n if (this.resultFormatter) {\n this._windowRef !.instance.formatter = this.resultFormatter;\n }\n if (this.resultTemplate) {\n this._windowRef !.instance.resultTemplate = this.resultTemplate;\n }\n this._windowRef !.instance.resetActive();\n\n // The observable stream we are subscribing to might have async steps\n // and if a component containing typeahead is using the OnPush strategy\n // the change detection turn wouldn't be invoked automatically.\n this._windowRef !.changeDetectorRef.detectChanges();\n\n this._showHint();\n }\n\n // live announcer\n const count = results ? results.length : 0;\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\n });\n }\n\n private _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbHighlight} from './highlight';\nimport {NgbTypeaheadWindow} from './typeahead-window';\nimport {NgbTypeahead} from './typeahead';\n\nexport {NgbHighlight} from './highlight';\nexport {NgbTypeaheadWindow} from './typeahead-window';\nexport {NgbTypeaheadConfig} from './typeahead-config';\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\n\n@NgModule({\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n})\nexport class NgbTypeaheadModule {\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbAccordionModule} from './accordion/accordion.module';\nimport {NgbAlertModule} from './alert/alert.module';\nimport {NgbButtonsModule} from './buttons/buttons.module';\nimport {NgbCarouselModule} from './carousel/carousel.module';\nimport {NgbCollapseModule} from './collapse/collapse.module';\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\nimport {NgbModalModule} from './modal/modal.module';\nimport {NgbNavModule} from './nav/nav.module';\nimport {NgbPaginationModule} from './pagination/pagination.module';\nimport {NgbPopoverModule} from './popover/popover.module';\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\nimport {NgbRatingModule} from './rating/rating.module';\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\nimport {NgbToastModule} from './toast/toast.module';\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\n\n\n\nexport {\n NgbAccordion,\n NgbAccordionConfig,\n NgbAccordionModule,\n NgbPanel,\n NgbPanelChangeEvent,\n NgbPanelContent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelTitle,\n NgbPanelToggle\n} from './accordion/accordion.module';\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\nexport {\n NgbCarousel,\n NgbCarouselConfig,\n NgbCarouselModule,\n NgbSlide,\n NgbSlideEvent,\n NgbSlideEventDirection,\n NgbSlideEventSource\n} from './carousel/carousel.module';\nexport {NgbCollapse, NgbCollapseConfig, NgbCollapseModule} from './collapse/collapse.module';\nexport {\n NgbCalendar,\n NgbCalendarGregorian,\n NgbCalendarHebrew,\n NgbCalendarIslamicCivil,\n NgbCalendarIslamicUmalqura,\n NgbCalendarPersian,\n NgbDate,\n NgbDateAdapter,\n NgbDateNativeAdapter,\n NgbDateNativeUTCAdapter,\n NgbDateParserFormatter,\n NgbDatepicker,\n NgbDatepickerConfig,\n NgbInputDatepickerConfig,\n NgbDatepickerContent,\n NgbDatepickerI18n,\n NgbDatepickerI18nHebrew,\n NgbDatepickerKeyboardService,\n NgbDatepickerModule,\n NgbDatepickerMonth,\n NgbDatepickerNavigateEvent,\n NgbDatepickerState,\n NgbDateStruct,\n NgbInputDatepicker,\n NgbPeriod\n} from './datepicker/datepicker.module';\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownConfig,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownModule,\n NgbDropdownToggle,\n NgbNavbar\n} from './dropdown/dropdown.module';\nexport {\n ModalDismissReasons,\n NgbActiveModal,\n NgbModal,\n NgbModalConfig,\n NgbModalModule,\n NgbModalOptions,\n NgbModalRef\n} from './modal/modal.module';\nexport {\n NgbNavChangeEvent,\n NgbNavConfig,\n NgbNav,\n NgbNavContent,\n NgbNavContentContext,\n NgbNavItem,\n NgbNavLink,\n NgbNavModule,\n NgbNavOutlet,\n NgbNavPane\n} from './nav/nav.module';\nexport {\n NgbPagination,\n NgbPaginationConfig,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationModule,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination/pagination.module';\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\nexport {\n NgbTimeAdapter,\n NgbTimepickerI18n,\n NgbTimepicker,\n NgbTimepickerConfig,\n NgbTimepickerModule,\n NgbTimeStruct\n} from './timepicker/timepicker.module';\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\nexport {\n NgbHighlight,\n NgbTypeahead,\n NgbTypeaheadConfig,\n NgbTypeaheadModule,\n NgbTypeaheadSelectItemEvent\n} from './typeahead/typeahead.module';\nexport {Placement} from './util/positioning';\n\nexport {NgbConfig} from './ngb-config';\n\n\nconst NGB_MODULES = [\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule\n];\n\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\nexport class NgbModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NGB_CAROUSEL_DIRECTIVES as ɵa} from './carousel/carousel';\nexport {NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵh,NgbDateStructAdapter as ɵi} from './datepicker/adapters/ngb-date-adapter';\nexport {NgbDatepickerDayView as ɵc} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵf,NgbDatepickerI18nDefault as ɵg} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵd} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵe} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵs} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵba} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵb} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵj,NgbDateISOParserFormatter as ɵk} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵt} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵv} from './modal/modal-stack';\nexport {NgbModalWindow as ɵu} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵl} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵm,NgbTimeStructAdapter as ɵn} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵo,NgbTimepickerI18nDefault as ɵp} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵq} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵr} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵx,ARIA_LIVE_DELAY_FACTORY as ɵy,Live as ɵz} from './util/accessibility/live';\nexport {ContentRef as ɵbb} from './util/popup';\nexport {ScrollBar as ɵw} from './util/scrollbar';","/**\n * @license Angular v10.2.5\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see http://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see http://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n ViewEncapsulation[ViewEncapsulation[\"Native\"] = 1] = \"Native\";\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalent(base, other) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!base[i].isEquivalent(other[i])) {\n return false;\n }\n }\n return true;\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text);\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text);\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForMessagePart = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForMessagePart(escapeStartingColon(escapeSlashes(messagePart)))\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForMessagePart(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`)\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = '';\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded += String.fromCharCode(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded += String.fromCharCode(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded += String.fromCharCode((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded += String.fromCharCode(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n arr.forEach(item => {\n (conditionFn(item) ? truthy : falsy).push(item);\n });\n return [truthy, falsy];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = {\n name: 'ɵɵdefineDirective',\n moduleName: CORE$1,\n};\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticViewQuery = { name: 'ɵɵstaticViewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticContentQuery = { name: 'ɵɵstaticContentQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n const ngJitMode = new ExternalExpr({ name: 'ngJitMode', moduleName: null });\n const jitFlagNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(ngJitMode), literal('undefined'));\n const jitFlagUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, jitFlagNotDefined, ngJitMode, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, jitFlagUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\nclass TextAttribute {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n // If the element is empty then the source span should include any closing tag\n if (children.length === 0 && startSourceSpan && endSourceSpan) {\n this.sourceSpan = new ParseSourceSpan(sourceSpan.start, endSourceSpan.end);\n }\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = stringToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return byteStringToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return byteStringToDecString(words32ToByteString([hi & 0x7fffffff, lo]));\n}\nfunction hash32(str, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = str.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n c = add32(c, wordAt(str, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(str, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction stringToWords32(str, endian) {\n const size = (str.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(str, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(str, index) {\n return index >= str.length ? 0 : str.charCodeAt(index) & 0xff;\n}\nfunction wordAt(str, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((str, word) => str + word32ToByteString(word), '');\n}\nfunction word32ToByteString(word) {\n let str = '';\n for (let i = 0; i < 4; i++) {\n str += String.fromCharCode((word >>> 8 * (3 - i)) & 0xff);\n }\n return str;\n}\nfunction byteStringToHexString(str) {\n let hex = '';\n for (let i = 0; i < str.length; i++) {\n const b = byteAt(str, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n// based on http://www.danvk.org/hex2dec.html (JS can not handle more than 56b)\nfunction byteStringToDecString(str) {\n let decimal = '';\n let toThePower = '1';\n for (let i = str.length - 1; i >= 0; i--) {\n decimal = addBigInt(decimal, numberTimesBigInt(byteAt(str, i), toThePower));\n toThePower = numberTimesBigInt(256, toThePower);\n }\n return decimal.split('').reverse().join('');\n}\n// x and y decimal, lowest significant digit first\nfunction addBigInt(x, y) {\n let sum = '';\n const len = Math.max(x.length, y.length);\n for (let i = 0, carry = 0; i < len || carry; i++) {\n const tmpSum = carry + +(x[i] || 0) + +(y[i] || 0);\n if (tmpSum >= 10) {\n carry = 1;\n sum += tmpSum - 10;\n }\n else {\n carry = 0;\n sum += tmpSum;\n }\n }\n return sum;\n}\nfunction numberTimesBigInt(num, b) {\n let product = '';\n let bToThePower = b;\n for (; num !== 0; num = num >>> 1) {\n if (num & 1)\n product = addBigInt(product, bToThePower);\n bToThePower = addBigInt(bToThePower, bToThePower);\n }\n return product;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n }\n minifiedName = declaredName;\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && publicName !== declaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\nfunction noop() { }\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n value = utf8Encode(value);\n for (let i = 0; i < value.length;) {\n const i1 = value.charCodeAt(i++);\n const i2 = value.charCodeAt(i++);\n const i3 = value.charCodeAt(i++);\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (isNaN(i2) ? 0 : i2 >> 4));\n b64 += isNaN(i2) ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 >> 6));\n b64 += isNaN(i2) || isNaN(i3) ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n //\n // The `$localize` function expects a \"template object\", which is an array of \"cooked\" strings\n // plus a `raw` property that contains an array of \"raw\" strings.\n //\n // In some environments a helper function called `__makeTemplateObject(cooked, raw)` might be\n // available, in which case we use that. Otherwise we must create our own helper function\n // inline.\n //\n // In the inline function, if `Object.defineProperty` is available we use that to attach the\n // `raw` array.\n ctx.print(ast, '$localize((this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})(');\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = new Function(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = new Function(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\n })));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n return { expression, type };\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, sourceSpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name) {\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver && ast.name == '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n }\n this.addImplicitReceiverAccess(ast.name);\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n }\n this.addImplicitReceiverAccess(ast.name);\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n }\n _convertColonRule(cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function (...m) {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n }\n _colonHostContextPartReplacer(host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n }\n _colonHostPartReplacer(host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan = null, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"TEXT\"] = 4] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 5] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 6] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 7] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 8] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 9] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 10] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 11] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 12] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 13] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 14] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 15] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 16] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 17] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 18] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 19] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 20] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See http://www.w3.org/TR/html51/syntax.html#writing\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n let tokensBeforeTagOpen = this.tokens.length;\n const innerStart = this._cursor.clone();\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n // When the start tag is invalid (including invalid \"attributes\"), assume we want a \"<\"\n this._cursor = innerStart;\n if (openTagToken) {\n this.tokens.length = tokensBeforeTagOpen;\n }\n // Back to back text tokens are merged at the end\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n const textToken = this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._escapedString || this._i18nNormalizeLineEndingsInICUs) {\n // Either the template is inline or,\n // we explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // The expression is in an external template and, for backward compatibility,\n // we are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $SLASH ||\n code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let fullStart = start;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (fullStart === start) {\n start = start.clone();\n }\n start.advance();\n }\n }\n const startLocation = this.locationFromCursor(start);\n const endLocation = this.locationFromCursor(this);\n const fullStartLocation = fullStart !== start ? this.locationFromCursor(fullStart) : startLocation;\n return new ParseSourceSpan(startLocation, endLocation, fullStartLocation);\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n locationFromCursor(cursor) {\n return new ParseLocation(cursor.file, cursor.state.offset, cursor.state.line, cursor.state.column);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end, token.sourceSpan.fullStart);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end, value.sourceSpan.fullStart);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end, start.sourceSpan.fullStart);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const prefix = startTagToken.parts[0];\n const name = startTagToken.parts[1];\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.start;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n // Create a separate `startSpan` because `span` may be modified when there is an `end` span.\n const startSpan = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n const el = new Element$1(fullName, attrs, [], span, startSpan, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end, attrName.sourceSpan.fullStart), valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], boundProps);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // TODO: pass a more accurate handlerSpan for this event.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '']);\n this.parseLiteralAttr(key, null, sourceSpan, absoluteValueOffset, undefined, targetMatchableAttrs, targetProps);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.valueSpan);\n }\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));\n break;\n default:\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n break;\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping