{"version":3,"sources":["./node_modules/lodash-es/_arrayIncludesWith.js","./node_modules/lodash-es/_baseSetToString.js","./node_modules/lodash-es/_copyObject.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","./node_modules/lodash-es/sortedIndexOf.js","./node_modules/lodash-es/bind.js","./node_modules/lodash-es/first.js","./node_modules/lodash-es/_setCacheAdd.js","./node_modules/lodash-es/identity.js","./node_modules/lodash-es/_assignMergeValue.js","./node_modules/lodash-es/dropRight.js","./node_modules/lodash-es/countBy.js","./node_modules/lodash-es/_getData.js","../../../../../../src/cdk/portal/portal-errors.ts","../../../../../../src/cdk/portal/portal.ts","../../../../../../src/cdk/portal/dom-portal-outlet.ts","../../../../../../src/cdk/portal/portal-directives.ts","../../../../../../src/cdk/portal/portal-injector.ts","../../../../../../src/cdk/portal/public-api.ts","../../../../../../src/cdk/portal/index.ts","./node_modules/moment/locale/nl.js","./node_modules/lodash-es/_memoizeCapped.js","./node_modules/lodash-es/isSafeInteger.js","./node_modules/moment/locale/se.js","./node_modules/lodash-es/_stringToPath.js","./node_modules/lodash-es/isArray.js","./node_modules/lodash-es/isArrayBuffer.js","./node_modules/lodash-es/_arrayReduce.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createSuper.js","./node_modules/lodash-es/update.js","./node_modules/lodash-es/conforms.js","./node_modules/moment/locale/x-pseudo.js","../../../src/internal/operators/repeat.ts","./node_modules/lodash-es/after.js","../../../../../../src/material/toolbar/toolbar.ts","../../../../../../src/material/toolbar/toolbar-module.ts","../../../../../../src/material/toolbar/public-api.ts","../../../../../../src/material/toolbar/index.ts","../../../src/internal/operators/distinctUntilChanged.ts","./node_modules/lodash-es/flattenDepth.js","./node_modules/lodash-es/_isKeyable.js","./node_modules/lodash-es/_unescapeHtmlChar.js","./node_modules/lodash-es/_setData.js","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../../../../src/cdk/collections/data-source.ts","../../../../../../src/cdk/collections/array-data-source.ts","../../../../../../src/cdk/collections/collection-viewer.ts","../../../../../../src/cdk/collections/dispose-view-repeater-strategy.ts","../../../../../../src/cdk/collections/recycle-view-repeater-strategy.ts","../../../../../../src/cdk/collections/selection-model.ts","../../../../../../src/cdk/collections/unique-selection-dispatcher.ts","../../../../../../src/cdk/collections/tree-adapter.ts","../../../../../../src/cdk/collections/view-repeater.ts","../../../../../../src/cdk/collections/public-api.ts","../../../../../../src/cdk/collections/index.ts","../../../src/internal/operators/concatAll.ts","../../../../../../src/material/dialog/dialog-config.ts","../../../../../../src/material/dialog/dialog-animations.ts","../../../../../../src/material/dialog/dialog-container.ts","../../../../../../src/material/dialog/dialog-ref.ts","../../../../../../src/material/dialog/dialog.ts","../../../../../../src/material/dialog/dialog-content-directives.ts","../../../../../../src/material/dialog/dialog-module.ts","../../../../../../src/material/dialog/public-api.ts","../../../../../../src/material/dialog/index.ts","../../../src/internal/operators/endWith.ts","./node_modules/lodash-es/_castSlice.js","./node_modules/lodash-es/curry.js","./node_modules/lodash-es/intersection.js","./node_modules/moment/locale/bo.js","./node_modules/lodash-es/mixin.js","./node_modules/moment/locale/pt-br.js","./node_modules/lodash-es/_baseIsEqualDeep.js","./node_modules/lodash-es/defaultsDeep.js","../../../src/internal/operators/reduce.ts","./node_modules/lodash-es/sample.js","../../../src/internal/operators/takeUntil.ts","./node_modules/lodash-es/orderBy.js","./node_modules/lodash-es/stubTrue.js","../../../src/internal/operators/sampleTime.ts","./node_modules/lodash-es/_baseIsRegExp.js","./node_modules/lodash-es/_baseHasIn.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/buddhist/buddhist.ts","../src/datepicker/buddhist/ngb-calendar-buddhist.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/lodash-es/sortBy.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/hy-am.js","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/lodash-es/parseInt.js","./node_modules/lodash-es/sortedLastIndex.js","./node_modules/lodash-es/attempt.js","./node_modules/moment/locale/ca.js","./node_modules/lodash-es/rangeRight.js","./node_modules/lodash-es/_basePick.js","./node_modules/lodash-es/_assignValue.js","./node_modules/lodash-es/_baseSortedIndexBy.js","./node_modules/lodash-es/_baseGetAllKeys.js","./node_modules/lodash-es/_baseEach.js","./node_modules/lodash-es/lowerFirst.js","./node_modules/lodash-es/string.default.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","./node_modules/lodash-es/_asciiWords.js","../../src/internal/BehaviorSubject.ts","../../src/internal/config.ts","./node_modules/moment/locale/fr-ca.js","./node_modules/lodash-es/dropRightWhile.js","./node_modules/lodash-es/_hasUnicodeWord.js","./node_modules/lodash-es/_nativeKeysIn.js","./node_modules/moment/locale/nl-be.js","./node_modules/lodash-es/_basePropertyOf.js","./node_modules/lodash-es/_cloneBuffer.js","./node_modules/lodash-es/sortedIndexBy.js","./node_modules/lodash-es/_parent.js","../../../src/internal/operators/skipWhile.ts","./node_modules/lodash-es/_escapeHtmlChar.js","../../../src/internal/operators/delay.ts","./node_modules/moment/locale/hi.js","./node_modules/lodash-es/isUndefined.js","./node_modules/lodash-es/overEvery.js","./node_modules/lodash-es/multiply.js","../../../src/internal/scheduler/AsyncAction.ts","./node_modules/lodash-es/_hashDelete.js","../../../../../../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","../../../../../../packages/forms/forms.ts","(webpack)/buildin/harmony-module.js","../../../src/internal/operators/auditTime.ts","./node_modules/lodash-es/_hashGet.js","./node_modules/lodash-es/_Map.js","./node_modules/lodash-es/_setWrapToString.js","./node_modules/lodash-es/findLastIndex.js","./node_modules/lodash-es/keysIn.js","../../../src/internal/operators/ignoreElements.ts","./node_modules/lodash-es/extendWith.js","../../../src/internal/util/ArgumentOutOfRangeError.ts","./node_modules/moment/locale/gu.js","../../../src/internal/observable/bindNodeCallback.ts","./node_modules/lodash-es/drop.js","./node_modules/lodash-es/pull.js","./node_modules/lodash-es/value.js","./node_modules/lodash-es/seq.default.js","./node_modules/moment/locale/en-ie.js","./node_modules/lodash-es/_createFlow.js","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","./node_modules/lodash-es/_baseXor.js","./node_modules/lodash-es/defaults.js","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","./node_modules/lodash-es/_wrapperClone.js","../../../src/internal/scheduled/scheduleObservable.ts","./node_modules/lodash-es/propertyOf.js","./node_modules/lodash-es/_baseForOwnRight.js","./node_modules/lodash-es/next.js","./node_modules/lodash-es/isArrayLike.js","./node_modules/lodash-es/unionWith.js","./node_modules/lodash-es/_baseSlice.js","./node_modules/lodash-es/_createOver.js","./node_modules/lodash-es/_lazyValue.js","../../../src/internal/observable/never.ts","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/km.js","./node_modules/lodash-es/isPlainObject.js","./node_modules/lodash-es/zipObject.js","./node_modules/lodash-es/split.js","../../../src/internal/operators/debounce.ts","./node_modules/lodash-es/_isFlattenable.js","./node_modules/lodash-es/overSome.js","../../../src/internal/util/isObservable.ts","./node_modules/moment/locale/et.js","./node_modules/moment/locale/en-in.js","./node_modules/lodash-es/get.js","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","./node_modules/lodash-es/_baseFunctions.js","./node_modules/moment/locale/si.js","./node_modules/lodash-es/_arrayLikeKeys.js","../../src/internal/Subscriber.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","./node_modules/moment/locale/pa-in.js","./node_modules/lodash-es/_setCacheHas.js","./node_modules/lodash-es/_compareAscending.js","../../../../../../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","./node_modules/lodash-es/_baseGetTag.js","./node_modules/lodash-es/clamp.js","../../../src/internal/util/canReportError.ts","./node_modules/lodash-es/_composeArgs.js","./node_modules/moment/locale/pt.js","./node_modules/lodash-es/xorWith.js","./node_modules/lodash-es/_unicodeToArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","./node_modules/lodash-es/isInteger.js","../../../../../../src/material/tree/node.ts","../../../../../../src/material/tree/padding.ts","../../../../../../src/material/tree/outlet.ts","../../../../../../src/material/tree/tree.ts","../../../../../../src/material/tree/toggle.ts","../../../../../../src/material/tree/tree-module.ts","../../../../../../src/material/tree/data-source/flat-data-source.ts","../../../../../../src/material/tree/data-source/nested-data-source.ts","../../../../../../src/material/tree/public-api.ts","../../../../../../src/material/tree/index.ts","./node_modules/lodash-es/_copySymbolsIn.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","./node_modules/lodash-es/_createCurry.js","../../../src/internal/operators/bufferCount.ts","./node_modules/lodash-es/_hashHas.js","./node_modules/lodash-es/isArguments.js","../../../src/internal/operators/elementAt.ts","./node_modules/lodash-es/round.js","./node_modules/lodash-es/isFinite.js","../../../src/internal/util/ObjectUnsubscribedError.ts","./node_modules/moment/locale/gd.js","./node_modules/lodash-es/_strictIndexOf.js","./node_modules/moment/locale/cv.js","../../../src/internal/operators/partition.ts","./node_modules/lodash-es/_baseSample.js","./node_modules/moment/locale/uz-latn.js","./node_modules/lodash-es/isArrayLikeObject.js","./node_modules/lodash-es/_baseIndexOf.js","./node_modules/lodash-es/_asciiSize.js","./node_modules/lodash-es/_arraySampleSize.js","./node_modules/moment/locale/ml.js","./node_modules/lodash-es/_defineProperty.js","./node_modules/lodash-es/nthArg.js","./node_modules/moment/locale/ja.js","./node_modules/lodash-es/sampleSize.js","../../../src/internal/operators/takeLast.ts","./node_modules/lodash-es/_hashClear.js","./node_modules/moment/locale/is.js","./node_modules/lodash-es/uniq.js","./node_modules/lodash-es/_LazyWrapper.js","./node_modules/lodash-es/_baseWrapperValue.js","./node_modules/lodash-es/endsWith.js","./node_modules/lodash-es/_compareMultiple.js","./node_modules/lodash-es/minBy.js","./node_modules/lodash-es/pick.js","./node_modules/moment/locale/fo.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/lodash-es/pullAllBy.js","./node_modules/lodash-es/zipObjectDeep.js","./node_modules/lodash-es/_Uint8Array.js","./node_modules/lodash-es/_baseClone.js","../../../src/internal/observable/from.ts","./node_modules/moment/locale/es-do.js","./node_modules/lodash-es/xorBy.js","./node_modules/moment/locale/ar-ma.js","./node_modules/lodash-es/find.js","./node_modules/lodash-es/iteratee.js","../../../src/internal/operators/mapTo.ts","./node_modules/moment/locale/eu.js","../../../src/internal/scheduler/async.ts","./node_modules/lodash-es/_charsStartIndex.js","../../../src/internal/util/isArray.ts","./node_modules/lodash-es/_nativeKeys.js","./node_modules/lodash-es/sum.js","./node_modules/moment/locale/gom-latn.js","./node_modules/lodash-es/_unicodeSize.js","./node_modules/lodash-es/_createPartial.js","./node_modules/lodash-es/upperFirst.js","./node_modules/moment/locale/fr-ch.js","./node_modules/lodash-es/_MapCache.js","./node_modules/moment/locale/en-au.js","./node_modules/lodash-es/delay.js","./node_modules/moment/locale/tr.js","./node_modules/lodash-es/escape.js","./node_modules/lodash-es/_baseIsMatch.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/tl-ph.js","./node_modules/lodash-es/upperCase.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/th.js","../../../src/internal/observable/ConnectableObservable.ts","./node_modules/lodash-es/isObjectLike.js","../../../src/internal/observable/empty.ts","./node_modules/lodash-es/_mapCacheSet.js","./node_modules/lodash-es/_lazyClone.js","./node_modules/lodash-es/_basePropertyDeep.js","./node_modules/lodash-es/_baseIsEqual.js","./node_modules/lodash-es/wrapperAt.js","./node_modules/lodash-es/tail.js","./node_modules/lodash-es/head.js","./node_modules/lodash-es/floor.js","./node_modules/lodash-es/differenceBy.js","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","./node_modules/lodash-es/_realNames.js","./node_modules/lodash-es/string.js","../../../../../../src/material/core/version.ts","../../../../../../src/material/core/animation/animation.ts","../../../../../../src/material/core/common-behaviors/common-module.ts","../../../../../../src/material/core/common-behaviors/disabled.ts","../../../../../../src/material/core/common-behaviors/color.ts","../../../../../../src/material/core/common-behaviors/disable-ripple.ts","../../../../../../src/material/core/common-behaviors/tabindex.ts","../../../../../../src/material/core/common-behaviors/error-state.ts","../../../../../../src/material/core/common-behaviors/initialized.ts","../../../../../../src/material/core/common-behaviors/index.ts","../../../../../../src/material/core/datetime/date-adapter.ts","../../../../../../src/material/core/datetime/date-formats.ts","../../../../../../src/material/core/datetime/native-date-adapter.ts","../../../../../../src/material/core/datetime/native-date-formats.ts","../../../../../../src/material/core/datetime/index.ts","../../../../../../src/material/core/error/error-options.ts","../../../../../../src/material/core/line/line.ts","../../../../../../src/material/core/ripple/ripple-ref.ts","../../../../../../src/material/core/ripple/ripple-renderer.ts","../../../../../../src/material/core/ripple/ripple.ts","../../../../../../src/material/core/ripple/index.ts","../../../../../../src/material/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../../../../src/material/core/selection/index.ts","../../../../../../src/material/core/option/optgroup.ts","../../../../../../src/material/core/option/option.ts","../../../../../../src/material/core/option/index.ts","../../../../../../src/material/core/label/label-options.ts","../../../../../../src/material/core/month-constants.ts","../../../../../../src/material/core/public-api.ts","../../../../../../src/material/core/index.ts","./node_modules/lodash-es/_baseMerge.js","../../../src/internal/operators/expand.ts","./node_modules/lodash-es/_charsEndIndex.js","./node_modules/lodash-es/_baseProperty.js","./node_modules/lodash-es/_mergeData.js","./node_modules/lodash-es/_baseUnset.js","../../../src/internal/operators/min.ts","./node_modules/lodash-es/lodash.default.js","./node_modules/lodash-es/_baseEvery.js","./node_modules/lodash-es/_baseSampleSize.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/lodash-es/size.js","../../../../../../src/cdk/keycodes/keycodes.ts","../../../../../../src/cdk/keycodes/modifiers.ts","../../../../../../src/cdk/keycodes/public-api.ts","../../../../../../src/cdk/keycodes/index.ts","./node_modules/lodash-es/_baseFill.js","../../../../../../src/cdk/tree/control/base-tree-control.ts","../../../../../../src/cdk/tree/control/flat-tree-control.ts","../../../../../../src/cdk/tree/control/nested-tree-control.ts","../../../../../../src/cdk/tree/outlet.ts","../../../../../../src/cdk/tree/node.ts","../../../../../../src/cdk/tree/tree-errors.ts","../../../../../../src/cdk/tree/tree.ts","../../../../../../src/cdk/tree/nested-node.ts","../../../../../../src/cdk/tree/padding.ts","../../../../../../src/cdk/tree/toggle.ts","../../../../../../src/cdk/tree/tree-module.ts","../../../../../../src/cdk/tree/public-api.ts","../../../../../../src/cdk/tree/index.ts","./node_modules/lodash-es/_baseOrderBy.js","./node_modules/moment/locale/mt.js","./node_modules/lodash-es/_baseFindIndex.js","./node_modules/lodash-es/_cloneTypedArray.js","./node_modules/lodash-es/_baseForOwn.js","./node_modules/lodash-es/isSymbol.js","./node_modules/lodash-es/_castArrayLikeObject.js","../../../src/internal/operators/takeWhile.ts","./node_modules/lodash-es/_baseGt.js","../../../../../../src/cdk/observers/observe-content.ts","../../../../../../src/cdk/observers/public-api.ts","../../../../../../src/cdk/observers/index.ts","./node_modules/lodash-es/cloneDeepWith.js","./node_modules/lodash-es/_setToArray.js","./node_modules/lodash-es/_baseValues.js","../../../src/internal/operators/every.ts","./node_modules/lodash-es/chain.js","../../../src/internal/operators/zip.ts","./node_modules/lodash-es/_LodashWrapper.js","../../../src/internal/operators/repeatWhen.ts","./node_modules/lodash-es/isMatchWith.js","./node_modules/lodash-es/_listCacheClear.js","./node_modules/lodash-es/concat.js","../../../src/internal/observable/concat.ts","./node_modules/lodash-es/takeWhile.js","./node_modules/lodash-es/times.js","./node_modules/lodash-es/trimStart.js","./node_modules/lodash-es/kebabCase.js","./node_modules/lodash-es/_initCloneArray.js","./node_modules/moment/locale/be.js","./node_modules/lodash-es/assign.js","../../src/internal/Observable.ts","./node_modules/lodash-es/findIndex.js","./node_modules/lodash-es/forEachRight.js","./node_modules/lodash-es/toLower.js","./node_modules/moment/locale/ar-ly.js","./node_modules/lodash-es/_baseAt.js","./node_modules/lodash-es/_hashSet.js","./node_modules/lodash-es/_shortOut.js","./node_modules/lodash-es/_baseInvoke.js","./node_modules/lodash-es/_baseSetData.js","../../../src/internal/scheduler/QueueScheduler.ts","./node_modules/lodash-es/flatMap.js","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","./node_modules/lodash-es/_baseSortedIndex.js","./node_modules/lodash-es/_arrayEachRight.js","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","./node_modules/moment/locale/ka.js","./node_modules/lodash-es/_baseSortedUniq.js","./node_modules/lodash-es/_arrayEach.js","./node_modules/lodash-es/_baseToNumber.js","../../../src/internal/scheduler/AsyncScheduler.ts","./node_modules/lodash-es/_castPath.js","./node_modules/lodash-es/_customDefaultsMerge.js","./node_modules/lodash-es/_baseIsMap.js","./node_modules/moment/locale/ko.js","../../../src/internal/operators/take.ts","./node_modules/lodash-es/isObject.js","./node_modules/lodash-es/unset.js","./node_modules/lodash-es/_mapCacheDelete.js","./node_modules/moment/locale/ku.js","../../../src/internal/operators/catchError.ts","./node_modules/lodash-es/_stackHas.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","./node_modules/lodash-es/flatMapDeep.js","./node_modules/moment/locale/bs.js","./node_modules/lodash-es/takeRightWhile.js","../../../src/internal/operators/startWith.ts","./node_modules/lodash-es/zipWith.js","../../../src/internal/operators/zipAll.ts","./node_modules/lodash-es/random.js","./node_modules/lodash-es/extend.js","./node_modules/lodash-es/invoke.js","./node_modules/lodash-es/isLength.js","./node_modules/lodash-es/_root.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/af.js","./node_modules/lodash-es/hasIn.js","./node_modules/lodash-es/sortedLastIndexBy.js","../../../src/internal/operators/findIndex.ts","./node_modules/lodash-es/fromPairs.js","./node_modules/lodash-es/over.js","./node_modules/lodash-es/_stackDelete.js","./node_modules/lodash-es/_setToPairs.js","./node_modules/moment/locale/vi.js","./node_modules/lodash-es/_getHolder.js","./node_modules/moment/locale/me.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","./node_modules/lodash-es/_stringToArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/lodash-es/stubFalse.js","./node_modules/lodash-es/findKey.js","./node_modules/lodash-es/_baseToString.js","../../../projects/ng2-charts/src/lib/default-colors.ts","../../../projects/ng2-charts/src/lib/get-colors.ts","../../../projects/ng2-charts/src/lib/theme.service.ts","../../../projects/ng2-charts/src/lib/base-chart.directive.ts","../../../projects/ng2-charts/src/lib/charts.module.ts","../../../projects/ng2-charts/src/lib/color.ts","../../../projects/ng2-charts/src/lib/colors.ts","../../../projects/ng2-charts/src/lib/monkey-patch-chart-js-legend.ts","../../../projects/ng2-charts/src/lib/monkey-patch-chart-js-tooltip.ts","../../../src/internal/observable/of.ts","./node_modules/lodash-es/_baseRest.js","../../../src/internal/symbol/iterator.ts","./node_modules/moment/locale/uz.js","./node_modules/lodash-es/isNil.js","./node_modules/lodash-es/isNull.js","../../../src/internal/scheduled/scheduleIterable.ts","./node_modules/lodash-es/_stackSet.js","./node_modules/lodash-es/result.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","./node_modules/lodash-es/_basePickBy.js","./node_modules/lodash-es/sortedUniqBy.js","./node_modules/chart.js/dist/Chart.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/lodash-es/once.js","./node_modules/lodash-es/_baseIntersection.js","./node_modules/lodash-es/_arrayFilter.js","./node_modules/lodash-es/_baseHas.js","../../../src/internal/operators/retryWhen.ts","./node_modules/lodash-es/isEqual.js","./node_modules/lodash-es/matches.js","./node_modules/lodash-es/wrapperValue.js","./node_modules/lodash-es/repeat.js","../../../../../../src/material/icon/icon-registry.ts","../../../../../../src/material/icon/icon.ts","../../../../../../src/material/icon/icon-module.ts","../../../../../../src/material/icon/public-api.ts","../../../../../../src/material/icon/index.ts","./node_modules/lodash-es/includes.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","./node_modules/lodash-es/unionBy.js","./node_modules/lodash-es/_DataView.js","../../../src/internal/observable/defer.ts","./node_modules/lodash-es/isBoolean.js","../../../src/internal/operators/publish.ts","./node_modules/lodash-es/_hasPath.js","./node_modules/lodash-es/commit.js","../../../src/internal/observable/race.ts","./node_modules/lodash-es/isError.js","./node_modules/lodash-es/reduceRight.js","./node_modules/lodash-es/_arraySample.js","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/lodash-es/isSet.js","./node_modules/lodash-es/_getWrapDetails.js","./node_modules/moment/locale/en-ca.js","./node_modules/lodash-es/_getValue.js","./node_modules/lodash-es/padEnd.js","./node_modules/lodash-es/invert.js","./node_modules/lodash-es/_baseRange.js","../../../src/internal/operators/groupBy.ts","./node_modules/lodash-es/forEach.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/mr.js","./node_modules/lodash-es/gte.js","./node_modules/lodash-es/isEqualWith.js","./node_modules/moment/locale/ne.js","./node_modules/lodash-es/remove.js","./node_modules/moment/locale/zh-mo.js","../../../src/internal/operators/bufferTime.ts","./node_modules/lodash-es/without.js","./node_modules/moment/locale/tg.js","./node_modules/lodash-es/at.js","./node_modules/moment/locale/cs.js","./node_modules/lodash-es/sortedLastIndexOf.js","./node_modules/lodash-es/create.js","./node_modules/lodash-es/lang.js","./node_modules/lodash-es/_reEscape.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","./node_modules/moment/locale/ta.js","../../../src/internal/operators/bufferWhen.ts","./node_modules/moment/locale/kn.js","./node_modules/lodash-es/spread.js","../../../src/internal/observable/timer.ts","./node_modules/lodash-es/_updateWrapDetails.js","./node_modules/lodash-es/_createHybrid.js","../../../src/internal/scheduler/AsapAction.ts","./node_modules/lodash-es/_createBind.js","./node_modules/lodash-es/forOwn.js","../../../src/internal/util/isInteropObservable.ts","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","./node_modules/moment/locale/ar-kw.js","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","./node_modules/lodash-es/pad.js","../../../../../../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/animations/public_api.ts","../../../../../../packages/animations/index.ts","../../../../../../packages/animations/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","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts","./node_modules/lodash-es/math.js","./node_modules/lodash-es/stubString.js","./node_modules/moment/locale/lb.js","./node_modules/lodash-es/template.js","./node_modules/lodash-es/_baseWhile.js","./node_modules/lodash-es/inRange.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/lodash-es/isDate.js","./node_modules/lodash-es/_insertWrapDetails.js","./node_modules/lodash-es/partition.js","./node_modules/lodash-es/_baseTrim.js","./node_modules/lodash-es/isMap.js","./node_modules/moment/locale/hr.js","./node_modules/lodash-es/functionsIn.js","./node_modules/moment/locale/az.js","./node_modules/lodash-es/_strictLastIndexOf.js","./node_modules/lodash-es/_safeGet.js","./node_modules/moment/locale/zh-hk.js","../../../src/internal/util/subscribeTo.ts","./node_modules/lodash-es/toNumber.js","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/lodash-es/lodash.js","./node_modules/lodash-es/_getAllKeys.js","./node_modules/lodash-es/values.js","./node_modules/lodash-es/_arrayEvery.js","./node_modules/lodash-es/templateSettings.js","./node_modules/lodash-es/fill.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/lodash-es/mapValues.js","./node_modules/lodash-es/_baseMergeDeep.js","./node_modules/lodash-es/toPairsIn.js","./node_modules/lodash-es/_toKey.js","./node_modules/lodash-es/_baseIndexOfWith.js","./node_modules/lodash-es/_flatRest.js","./node_modules/lodash-es/_getAllKeysIn.js","./node_modules/lodash-es/_baseSortBy.js","./node_modules/lodash-es/_Hash.js","./node_modules/lodash-es/valuesIn.js","./node_modules/lodash-es/_baseRepeat.js","./node_modules/lodash-es/_overArg.js","./node_modules/lodash-es/_baseDelay.js","./node_modules/lodash-es/object.default.js","./node_modules/lodash-es/tap.js","./node_modules/lodash-es/_overRest.js","./node_modules/moment/locale/id.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","./node_modules/lodash-es/before.js","./node_modules/moment/locale/ga.js","./node_modules/lodash-es/_baseGet.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","./node_modules/lodash-es/isMatch.js","./node_modules/lodash-es/_createCaseFirst.js","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","./node_modules/lodash-es/throttle.js","./node_modules/lodash-es/_baseRandom.js","./node_modules/lodash-es/toJSON.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/ss.js","./node_modules/lodash-es/capitalize.js","./node_modules/lodash-es/_getPrototype.js","./node_modules/moment/locale/tet.js","./node_modules/lodash-es/_baseZipObject.js","./node_modules/lodash-es/method.js","./node_modules/lodash-es/_copySymbols.js","../../../src/internal/observable/merge.ts","./node_modules/moment/locale/es-us.js","./node_modules/lodash-es/trim.js","../../../src/internal/scheduler/AnimationFrameAction.ts","./node_modules/lodash-es/toPlainObject.js","./node_modules/lodash-es/_objectToString.js","./node_modules/lodash-es/lt.js","./node_modules/lodash-es/number.js","./node_modules/lodash-es/stubArray.js","../../src/internal/Notification.ts","./node_modules/lodash-es/isBuffer.js","../../../src/internal/observable/generate.ts","./node_modules/moment/locale/dv.js","./node_modules/lodash-es/bindAll.js","./node_modules/lodash-es/zip.js","./node_modules/lodash-es/toArray.js","./node_modules/lodash-es/_baseMap.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/hu.js","./node_modules/lodash-es/difference.js","../../../src/internal/util/toSubscriber.ts","./node_modules/lodash-es/transform.js","./node_modules/lodash-es/startsWith.js","./node_modules/moment/locale/sv.js","../../../src/internal/operators/throwIfEmpty.ts","./node_modules/moment/locale/zh-cn.js","./node_modules/lodash-es/_baseLodash.js","./node_modules/lodash-es/_isIterateeCall.js","./node_modules/lodash-es/cloneDeep.js","./node_modules/lodash-es/_asciiToArray.js","./node_modules/lodash-es/_customOmitClone.js","./node_modules/moment/locale/te.js","../../src/internal/Subject.ts","./node_modules/lodash-es/forInRight.js","./node_modules/lodash-es/_reInterpolate.js","./node_modules/lodash-es/_createFind.js","./node_modules/lodash-es/range.js","./node_modules/lodash-es/castArray.js","../../../src/internal/util/isObject.ts","./node_modules/lodash-es/_freeGlobal.js","../../../src/internal/operators/exhaustMap.ts","./node_modules/lodash-es/add.js","../../src/internal/Scheduler.ts","./node_modules/lodash-es/rest.js","./node_modules/lodash-es/updateWith.js","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/lodash-es/_getNative.js","./node_modules/lodash-es/_baseExtremum.js","./node_modules/lodash-es/eq.js","./node_modules/lodash-es/_getTag.js","./node_modules/moment/locale/ug-cn.js","./node_modules/lodash-es/_baseClamp.js","./node_modules/lodash-es/deburr.js","./node_modules/lodash-es/_metaMap.js","./node_modules/lodash-es/xor.js","./node_modules/lodash-es/_mapToArray.js","./node_modules/lodash-es/assignIn.js","./node_modules/lodash-es/mean.js","./node_modules/lodash-es/reverse.js","../../src/internal/SubjectSubscription.ts","./node_modules/lodash-es/toSafeInteger.js","./node_modules/lodash-es/_isMaskable.js","./node_modules/lodash-es/isNaN.js","../../../src/internal/scheduler/QueueAction.ts","(webpack)/buildin/module.js","./node_modules/lodash-es/_baseDifference.js","./node_modules/lodash-es/_equalByTag.js","./node_modules/lodash-es/filter.js","./node_modules/lodash-es/keyBy.js","./node_modules/moment/locale/sd.js","./node_modules/lodash-es/toPairs.js","./node_modules/lodash-es/matchesProperty.js","./node_modules/moment/locale/ms-my.js","./node_modules/lodash-es/chunk.js","./node_modules/lodash-es/mapKeys.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","./node_modules/lodash-es/max.js","./node_modules/lodash-es/_assocIndexOf.js","../../../src/internal/util/subscribeToResult.ts","./node_modules/lodash-es/_cacheHas.js","./node_modules/moment/locale/eo.js","./node_modules/lodash-es/_createSet.js","./node_modules/lodash-es/flatMapDepth.js","./node_modules/lodash-es/_isLaziable.js","./node_modules/lodash-es/_castFunction.js","./node_modules/lodash-es/isRegExp.js","./node_modules/lodash-es/_Promise.js","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","../../../../../../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","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","./node_modules/lodash-es/toUpper.js","../../../src/internal/util/subscribeToPromise.ts","./node_modules/lodash-es/_baseMatchesProperty.js","../../../src/internal/operators/switchMapTo.ts","./node_modules/moment/locale/br.js","./node_modules/moment/locale/mi.js","./node_modules/lodash-es/_baseMatches.js","./node_modules/moment/locale/mk.js","./node_modules/lodash-es/_baseFor.js","./node_modules/lodash-es/_baseIsArrayBuffer.js","./node_modules/lodash-es/date.js","./node_modules/lodash-es/nth.js","./node_modules/lodash-es/_equalArrays.js","./node_modules/lodash-es/_baseAssignIn.js","./node_modules/lodash-es/now.js","./node_modules/lodash-es/rearg.js","./node_modules/moment/locale/en-nz.js","../../../src/internal/operators/mergeAll.ts","./node_modules/moment/locale/nb.js","../../../src/internal/operators/concatMap.ts","./node_modules/lodash-es/compact.js","../../../../../../src/material/checkbox/checkbox-config.ts","../../../../../../src/material/checkbox/checkbox.ts","../../../../../../src/material/checkbox/checkbox-required-validator.ts","../../../../../../src/material/checkbox/checkbox-module.ts","../../../../../../src/material/checkbox/public-api.ts","../../../../../../src/material/checkbox/index.ts","../../../../../../src/material/button/button.ts","../../../../../../src/material/button/button-module.ts","../../../../../../src/material/button/public-api.ts","../../../../../../src/material/button/index.ts","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/ar-tn.js","./node_modules/lodash-es/_getMatchData.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/it-ch.js","../../../src/internal/util/isPromise.ts","./node_modules/lodash-es/lte.js","./node_modules/lodash-es/_baseCreate.js","../../../src/internal/operators/sample.ts","./node_modules/lodash-es/_baseMean.js","../../../src/internal/util/Immediate.ts","./node_modules/lodash-es/invokeMap.js","./node_modules/lodash-es/every.js","../../../src/internal/operators/find.ts","./node_modules/lodash-es/_baseFindKey.js","./node_modules/lodash-es/_createRelationalOperation.js","./node_modules/lodash-es/constant.js","../../../../../../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","./node_modules/moment/locale/fy.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","./node_modules/lodash-es/_isIndex.js","./node_modules/lodash-es/array.js","./node_modules/lodash-es/union.js","./node_modules/lodash-es/shuffle.js","./node_modules/lodash-es/array.default.js","./node_modules/lodash-es/_stackClear.js","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","./node_modules/lodash-es/_arrayIncludes.js","../../../src/internal/operators/single.ts","./node_modules/moment/locale/en-il.js","./node_modules/lodash-es/toIterator.js","./node_modules/lodash-es/_baseSum.js","./node_modules/lodash-es/_stackGet.js","../../../../../../src/material/select/select-animations.ts","../../../../../../src/material/select/select-errors.ts","../../../../../../src/material/select/select.ts","../../../../../../src/material/select/select-module.ts","../../../../../../src/material/select/public-api.ts","../../../../../../src/material/select/index.ts","./node_modules/lodash-es/truncate.js","./node_modules/lodash-es/_toSource.js","./node_modules/moment/locale/sw.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","./node_modules/lodash-es/clone.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","./node_modules/lodash-es/gt.js","./node_modules/lodash-es/mergeWith.js","../../../src/internal/operators/materialize.ts","./node_modules/lodash-es/partialRight.js","./node_modules/lodash-es/flow.js","./node_modules/moment/locale/sk.js","./node_modules/lodash-es/_hasUnicode.js","./node_modules/lodash-es/_copyArray.js","./node_modules/lodash-es/_createRange.js","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","./node_modules/lodash-es/_baseLt.js","./node_modules/lodash-es/invertBy.js","./node_modules/lodash-es/_listCacheSet.js","./node_modules/lodash-es/_reorder.js","./node_modules/lodash-es/sortedUniq.js","./node_modules/lodash-es/intersectionWith.js","./node_modules/lodash-es/divide.js","./node_modules/lodash-es/toString.js","./node_modules/lodash-es/_createMathOperation.js","./node_modules/lodash-es/forOwnRight.js","./node_modules/lodash-es/each.js","./node_modules/lodash-es/functions.js","../../../src/internal/operators/concat.ts","./node_modules/lodash-es/_createPadding.js","./node_modules/lodash-es/snakeCase.js","./node_modules/lodash-es/_createCompounder.js","../../../src/internal/operators/combineLatest.ts","./node_modules/lodash-es/_arraySome.js","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/lodash-es/lang.default.js","./node_modules/lodash-es/uniqueId.js","./node_modules/lodash-es/flip.js","./node_modules/lodash-es/toInteger.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","./node_modules/lodash-es/_getFuncName.js","./node_modules/lodash-es/isEmpty.js","./node_modules/lodash-es/conformsTo.js","./node_modules/lodash-es/_baseIteratee.js","./node_modules/moment/locale/yo.js","./node_modules/lodash-es/toPath.js","./node_modules/lodash-es/wrapperChain.js","./node_modules/lodash-es/_baseNth.js","./node_modules/lodash-es/cond.js","../../src/internal/Observer.ts","./node_modules/lodash-es/isString.js","./node_modules/moment/locale/sl.js","./node_modules/lodash-es/assignInWith.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","./node_modules/lodash-es/_mapCacheHas.js","../../../src/internal/operators/throttleTime.ts","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/ar-sa.js","./node_modules/lodash-es/_shuffleSelf.js","./node_modules/lodash-es/startCase.js","./node_modules/lodash-es/ceil.js","./node_modules/moment/locale/bg.js","../../../src/internal/observable/pairs.ts","./node_modules/lodash-es/_initCloneObject.js","./node_modules/lodash-es/debounce.js","./node_modules/lodash-es/flattenDeep.js","./node_modules/lodash-es/object.js","./node_modules/lodash-es/words.js","./node_modules/moment/locale/my.js","./node_modules/lodash-es/bindKey.js","./node_modules/lodash-es/_createToPairs.js","./node_modules/lodash-es/unary.js","./node_modules/lodash-es/flowRight.js","./node_modules/lodash-es/unzipWith.js","./node_modules/lodash-es/_baseAssign.js","./node_modules/lodash-es/_composeArgsRight.js","./node_modules/moment/locale/gl.js","../../../src/internal/scheduler/VirtualTimeScheduler.ts","./node_modules/lodash-es/_coreJsData.js","./node_modules/lodash-es/_getView.js","./node_modules/moment/locale/es.js","../../../../../../src/material/datepicker/datepicker-errors.ts","../../../../../../src/material/datepicker/datepicker-intl.ts","../../../../../../src/material/datepicker/calendar-body.ts","../../../../../../src/material/datepicker/date-selection-model.ts","../../../../../../src/material/datepicker/date-range-selection-strategy.ts","../../../../../../src/material/datepicker/month-view.ts","../../../../../../src/material/datepicker/multi-year-view.ts","../../../../../../src/material/datepicker/year-view.ts","../../../../../../src/material/datepicker/calendar.ts","../../../../../../src/material/datepicker/datepicker-animations.ts","../../../../../../src/material/datepicker/datepicker-base.ts","../../../../../../src/material/datepicker/datepicker.ts","../../../../../../src/material/datepicker/datepicker-input-base.ts","../../../../../../src/material/datepicker/datepicker-input.ts","../../../../../../src/material/datepicker/datepicker-toggle.ts","../../../../../../src/material/datepicker/date-range-input-parts.ts","../../../../../../src/material/datepicker/date-range-picker.ts","../../../../../../src/material/datepicker/date-range-input.ts","../../../../../../src/material/datepicker/datepicker-module.ts","../../../../../../src/material/datepicker/public-api.ts","../../../../../../src/material/datepicker/index.ts","./node_modules/lodash-es/_baseReduce.js","./node_modules/lodash-es/noop.js","../../../../../../src/cdk/text-field/autofill.ts","../../../../../../src/cdk/text-field/autosize.ts","../../../../../../src/cdk/text-field/text-field-module.ts","../../../../../../src/cdk/text-field/public-api.ts","../../../../../../src/cdk/text-field/index.ts","./node_modules/lodash-es/stubObject.js","./node_modules/lodash-es/uniqWith.js","../../../src/internal/observable/combineLatest.ts","./node_modules/lodash-es/number.default.js","./node_modules/lodash-es/maxBy.js","./node_modules/lodash-es/_getMapData.js","./node_modules/lodash-es/_baseUniq.js","./node_modules/lodash-es/_baseKeys.js","./node_modules/lodash-es/_getSymbols.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/pl.js","./node_modules/lodash-es/_baseInRange.js","../../../src/internal/scheduled/scheduleArray.ts","./node_modules/lodash-es/omitBy.js","./node_modules/moment/locale/fa.js","../../../../../../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/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","./node_modules/moment/locale/ar.js","./node_modules/lodash-es/_baseIsArguments.js","./node_modules/lodash-es/_arrayReduceRight.js","../../src/internal/ReplaySubject.ts","./node_modules/lodash-es/_escapeStringChar.js","./node_modules/lodash-es/_cloneRegExp.js","./node_modules/lodash-es/_isMasked.js","./node_modules/moment/locale/bn.js","../../../src/internal/symbol/observable.ts","./node_modules/moment/locale/zh-tw.js","../../src/operators/index.ts","./node_modules/lodash-es/assignWith.js","./node_modules/lodash-es/_baseIsDate.js","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","./node_modules/lodash-es/sumBy.js","../../../../../../src/material/form-field/error.ts","../../../../../../src/material/form-field/form-field-animations.ts","../../../../../../src/material/form-field/form-field-control.ts","../../../../../../src/material/form-field/form-field-errors.ts","../../../../../../src/material/form-field/hint.ts","../../../../../../src/material/form-field/label.ts","../../../../../../src/material/form-field/placeholder.ts","../../../../../../src/material/form-field/prefix.ts","../../../../../../src/material/form-field/suffix.ts","../../../../../../src/material/form-field/form-field.ts","../../../../../../src/material/form-field/form-field-module.ts","../../../../../../src/material/form-field/public-api.ts","../../../../../../src/material/form-field/index.ts","./node_modules/lodash-es/_baseEachRight.js","./node_modules/lodash-es/cloneWith.js","./node_modules/lodash-es/_createAssigner.js","./node_modules/lodash-es/_baseIsTypedArray.js","./node_modules/lodash-es/eachRight.js","./node_modules/moment/locale/cy.js","../../../src/internal/observable/interval.ts","./node_modules/lodash-es/defaultTo.js","../../src/internal/OuterSubscriber.ts","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/typeof.js","./node_modules/lodash-es/some.js","./node_modules/lodash-es/uniqBy.js","../../../src/internal/operators/map.ts","./node_modules/lodash-es/_baseIsNative.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/mn.js","./node_modules/lodash-es/valueOf.js","./node_modules/lodash-es/isNative.js","./node_modules/moment/locale/ky.js","./node_modules/lodash-es/function.js","./node_modules/lodash-es/_cloneArrayBuffer.js","./node_modules/lodash-es/_baseInverter.js","./node_modules/lodash-es/_arrayShuffle.js","./node_modules/moment/locale/bn-bd.js","../../../src/internal/operators/windowCount.ts","./node_modules/lodash-es/wrap.js","./node_modules/lodash-es/wrapperLodash.js","./node_modules/lodash-es/_createBaseEach.js","./node_modules/moment/locale/ro.js","../../../src/internal/operators/isEmpty.ts","./node_modules/lodash-es/_WeakMap.js","./node_modules/lodash-es/_createAggregator.js","./node_modules/lodash-es/dropWhile.js","./node_modules/lodash-es/omit.js","./node_modules/lodash-es/_baseSet.js","../../../src/internal/util/pipe.ts","./node_modules/lodash-es/slice.js","./node_modules/lodash-es/forIn.js","./node_modules/lodash-es/lowerCase.js","./node_modules/lodash-es/_baseConforms.js","./node_modules/lodash-es/pullAt.js","../../../src/internal/operators/window.ts","./node_modules/lodash-es/keys.js","../../../src/internal/util/isDate.ts","./node_modules/lodash-es/isElement.js","./node_modules/lodash-es/function.default.js","./node_modules/lodash-es/_SetCache.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/inherits.js","./node_modules/lodash-es/_getSymbolsIn.js","../../../src/internal/util/isFunction.ts","./node_modules/lodash-es/padStart.js","../../../../../../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","./node_modules/lodash-es/_ListCache.js","./node_modules/lodash-es/_lazyReverse.js","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","./node_modules/lodash-es/_createWrap.js","./node_modules/lodash-es/_basePullAt.js","./node_modules/moment/locale/fr.js","./node_modules/lodash-es/_replaceHolders.js","./node_modules/moment/locale/ar-dz.js","./node_modules/lodash-es/_baseConformsTo.js","./node_modules/lodash-es/_mapCacheGet.js","./node_modules/lodash-es/unzip.js","../../../src/internal/operators/multicast.ts","./node_modules/lodash-es/_Stack.js","./node_modules/lodash-es/memoize.js","./node_modules/lodash-es/isTypedArray.js","./node_modules/lodash-es/merge.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","../../../../../../packages/common/common.ts","./node_modules/lodash-es/subtract.js","./node_modules/lodash-es/takeRight.js","./node_modules/lodash-es/_initCloneByTag.js","./node_modules/lodash-es/_baseUnary.js","./node_modules/lodash-es/reduce.js","./node_modules/moment/locale/bm.js","./node_modules/lodash-es/collection.js","../../../src/internal/operators/buffer.ts","./node_modules/lodash-es/_castRest.js","./node_modules/lodash-es/groupBy.js","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","./node_modules/lodash-es/meanBy.js","./node_modules/lodash-es/_Set.js","../../../../../../packages/compiler/src/compiler_facade_interface.ts","./node_modules/lodash-es/_baseAggregator.js","../../../src/internal/operators/windowWhen.ts","./node_modules/lodash-es/sortedIndex.js","./node_modules/lodash-es/escapeRegExp.js","../../../src/internal/util/UnsubscriptionError.ts","./node_modules/lodash-es/trimEnd.js","../../../src/internal/operators/observeOn.ts","./node_modules/lodash-es/_isPrototype.js","./node_modules/lodash-es/ary.js","./node_modules/lodash-es/math.default.js","./node_modules/lodash-es/entries.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","./node_modules/lodash-es/last.js","../src/index.ts","./node_modules/lodash-es/setWith.js","../../../../../../src/material/input/autosize.ts","../../../../../../src/material/input/input-errors.ts","../../../../../../src/material/input/input-value-accessor.ts","../../../../../../src/material/input/input.ts","../../../../../../src/material/input/input-module.ts","../../../../../../src/material/input/public-api.ts","../../../../../../src/material/input/index.ts","./node_modules/lodash-es/pullAll.js","../../../src/internal/operators/publishLast.ts","./node_modules/lodash-es/_countHolders.js","../../../src/internal/scheduler/queue.ts","./node_modules/lodash-es/isWeakMap.js","./node_modules/lodash-es/_customDefaultsAssignIn.js","../../src/internal/Subscription.ts","./node_modules/moment/locale/gom-deva.js","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","../../../../../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../../../../../src/cdk/overlay/position/scroll-clip.ts","../../../../../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../../../../../src/cdk/overlay/scroll/index.ts","../../../../../../src/cdk/overlay/overlay-config.ts","../../../../../../src/cdk/overlay/position/connected-position.ts","../../../../../../src/cdk/overlay/dispatchers/base-overlay-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-keyboard-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-outside-click-dispatcher.ts","../../../../../../src/cdk/overlay/overlay-container.ts","../../../../../../src/cdk/overlay/overlay-ref.ts","../../../../../../src/cdk/overlay/position/flexible-connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/global-position-strategy.ts","../../../../../../src/cdk/overlay/position/overlay-position-builder.ts","../../../../../../src/cdk/overlay/overlay.ts","../../../../../../src/cdk/overlay/overlay-directives.ts","../../../../../../src/cdk/overlay/overlay-module.ts","../../../../../../src/cdk/overlay/dispatchers/index.ts","../../../../../../src/cdk/overlay/fullscreen-overlay-container.ts","../../../../../../src/cdk/overlay/public-api.ts","../../../../../../src/cdk/overlay/index.ts","./node_modules/lodash-es/findLastKey.js","./node_modules/lodash-es/_baseUpdate.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/superPropBase.js","./node_modules/moment/locale/uk.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","./node_modules/lodash-es/_baseSome.js","./node_modules/lodash-es/_baseForRight.js","./node_modules/lodash-es/_baseToPairs.js","./node_modules/lodash-es/seq.js","./node_modules/moment/locale/de-at.js","./node_modules/lodash-es/date.default.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","./node_modules/moment/locale/lo.js","./node_modules/lodash-es/defer.js","../../../src/internal/operators/timeoutWith.ts","./node_modules/moment/locale/en-sg.js","./node_modules/lodash-es/lastIndexOf.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/get.js","../../../../../../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","../../../../../../packages/animations/browser/src/browser.ts","../../../../../../packages/animations/browser/public_api.ts","../../../../../../packages/animations/browser/index.ts","../../../../../../packages/animations/browser/browser.ts","./node_modules/moment/locale/de.js","./node_modules/lodash-es/_arrayPush.js","./node_modules/lodash-es/_createCtor.js","../../../src/internal/operators/timeout.ts","./node_modules/moment/locale/tzm-latn.js","./node_modules/lodash-es/_cloneSymbol.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/es-mx.js","../../../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","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","../../../src/internal/operators/audit.ts","./node_modules/lodash-es/_arrayMap.js","../../../../../../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/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/lodash-es/_baseTimes.js","./node_modules/moment/locale/de-ch.js","./node_modules/lodash-es/pickBy.js","../../../../../../src/cdk/a11y/aria-describer/aria-reference.ts","../../../../../../src/cdk/a11y/aria-describer/aria-describer.ts","../../../../../../src/cdk/a11y/key-manager/list-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../../../../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/polyfill.ts","../../../../../../src/cdk/a11y/focus-trap/event-listener-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-config.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-manager.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-factory.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer-tokens.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer.ts","../../../../../../src/cdk/a11y/fake-mousedown.ts","../../../../../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../../../../../src/cdk/a11y/high-contrast-mode/high-contrast-mode-detector.ts","../../../../../../src/cdk/a11y/a11y-module.ts","../../../../../../src/cdk/a11y/public-api.ts","../../../../../../src/cdk/a11y/index.ts","./node_modules/lodash-es/_unicodeWords.js","./node_modules/lodash-es/property.js","./node_modules/lodash-es/_listCacheHas.js","./node_modules/lodash-es/_baseAssignValue.js","./node_modules/moment/locale/nn.js","./node_modules/lodash-es/toLength.js","./node_modules/lodash-es/_trimmedEndIndex.js","./node_modules/lodash-es/_listCacheDelete.js","./node_modules/lodash-es/min.js","./node_modules/lodash-es/_apply.js","./node_modules/lodash-es/_baseFlatten.js","../../../src/internal/operators/onErrorResumeNext.ts","./node_modules/lodash-es/reject.js","./node_modules/moment/locale/lv.js","./node_modules/lodash-es/indexOf.js","../../../src/internal/operators/retry.ts","./node_modules/lodash-es/_createRecurry.js","./node_modules/lodash-es/_iteratorToArray.js","./node_modules/lodash-es/overArgs.js","./node_modules/lodash-es/set.js","./node_modules/lodash-es/has.js","./node_modules/lodash-es/isFunction.js","./node_modules/lodash-es/findLast.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","./node_modules/lodash-es/_baseFilter.js","./node_modules/lodash-es/_isKey.js","./node_modules/lodash-es/_cloneDataView.js","./node_modules/lodash-es/differenceWith.js","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","../../../../../../src/cdk/scrolling/virtual-scroll-strategy.ts","../../../../../../src/cdk/scrolling/fixed-size-virtual-scroll.ts","../../../../../../src/cdk/scrolling/scroll-dispatcher.ts","../../../../../../src/cdk/scrolling/scrollable.ts","../../../../../../src/cdk/scrolling/viewport-ruler.ts","../../../../../../src/cdk/scrolling/virtual-scroll-viewport.ts","../../../../../../src/cdk/scrolling/virtual-for-of.ts","../../../../../../src/cdk/scrolling/scrolling-module.ts","../../../../../../src/cdk/scrolling/virtual-scroll-repeater.ts","../../../../../../src/cdk/scrolling/public-api.ts","../../../../../../src/cdk/scrolling/index.ts","../../../src/internal/operators/share.ts","./node_modules/lodash-es/_baseShuffle.js","./node_modules/lodash-es/replace.js","./node_modules/lodash-es/wrapperReverse.js","./node_modules/lodash-es/_createInverter.js","./node_modules/lodash-es/take.js","./node_modules/lodash-es/_baseIsSet.js","./node_modules/lodash-es/_baseKeysIn.js","./node_modules/lodash-es/_matchesStrictComparable.js","./node_modules/lodash-es/methodOf.js","../../../src/internal/operators/pluck.ts","./node_modules/moment/locale/tzm.js","./node_modules/lodash-es/intersectionBy.js","./node_modules/moment/moment.js","./node_modules/lodash-es/join.js","./node_modules/lodash-es/util.default.js","./node_modules/lodash-es/_deburrLetter.js","./node_modules/lodash-es/_createRound.js","./node_modules/lodash-es/curryRight.js","../../../src/internal/operators/refCount.ts","./node_modules/lodash-es/_mapCacheClear.js","./node_modules/lodash-es/_equalObjects.js","./node_modules/lodash-es/isWeakSet.js","./node_modules/moment/locale/he.js","./node_modules/lodash-es/pullAllWith.js","./node_modules/lodash-es/unescape.js","./node_modules/lodash-es/_createBaseFor.js","./node_modules/lodash-es/_baseIsNaN.js","./node_modules/lodash-es/_basePullAll.js","./node_modules/lodash-es/_reEvaluate.js","./node_modules/lodash-es/flatten.js","../../../src/internal/operators/defaultIfEmpty.ts","./node_modules/lodash-es/entriesIn.js","../../../src/internal/observable/fromEvent.ts","./node_modules/lodash-es/_setToString.js","./node_modules/lodash-es/camelCase.js","./node_modules/lodash-es/partial.js","./node_modules/lodash-es/_nodeUtil.js","../../../../../../src/cdk/version.ts","../../../../../../src/cdk/public-api.ts","../../../../../../src/cdk/index.ts","./node_modules/lodash-es/plant.js","./node_modules/lodash-es/_getRawTag.js","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","./node_modules/lodash-es/isNumber.js","./node_modules/moment/locale/sq.js","./node_modules/lodash-es/_Symbol.js","../../../src/internal/operators/throttle.ts","./node_modules/lodash-es/toFinite.js","./node_modules/lodash-es/_listCacheGet.js","../../../src/internal/util/isScheduler.ts","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tlh.js","./node_modules/lodash-es/_nativeCreate.js","./node_modules/lodash-es/negate.js","../../../src/internal/observable/throwError.ts","./node_modules/lodash-es/util.js","./node_modules/lodash-es/_stringSize.js","./node_modules/lodash-es/_isStrictComparable.js","../../../src/internal/operators/skip.ts","./node_modules/lodash-es/initial.js","./node_modules/lodash-es/collection.default.js","./node_modules/lodash-es/map.js","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","./node_modules/lodash-es/thru.js","../../../src/internal/operators/exhaust.ts","./node_modules/lodash-es/_arrayAggregator.js","../../src/internal/innerSubscribe.ts","./node_modules/moment/locale/sr.js"],"names":["arrayIncludesWith","array","value","comparator","index","length","baseSetToString","defineProperty","identity","func","string","constant","copyObject","source","props","object","customizer","isNew","key","newValue","undefined","baseAssignValue","assignValue","sortedIndexOf","baseSortedIndex","eq","WRAP_BIND_FLAG","WRAP_PARTIAL_FLAG","bind","baseRest","thisArg","partials","bitmask","holders","replaceHolders","getHolder","createWrap","placeholder","HASH_UNDEFINED","setCacheAdd","__data__","set","assignMergeValue","dropRight","n","guard","toInteger","baseSlice","objectProto","Object","prototype","hasOwnProperty","countBy","createAggregator","result","call","getData","metaMap","noop","get","global","factory","require","moment","monthsShortWithDots","split","monthsShortWithoutDots","monthsParse","monthsRegex","nl","defineLocale","months","monthsShort","m","format","test","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","mm","h","hh","d","dd","w","ww","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","number","week","dow","doy","MAX_MEMOIZE_SIZE","memoizeCapped","memoize","cache","size","clear","MAX_SAFE_INTEGER","isSafeInteger","isInteger","se","rePropName","reEscapeChar","stringToPath","charCodeAt","push","replace","match","quote","subString","isArray","Array","nodeIsArrayBuffer","nodeUtil","isArrayBuffer","baseUnary","baseIsArrayBuffer","arrayReduce","iteratee","accumulator","initAccum","update","path","updater","baseUpdate","castFunction","CLONE_DEEP_FLAG","conforms","baseConforms","baseClone","xPseudo","monthsParseExact","b","output","FUNC_ERROR_TEXT","after","TypeError","apply","arguments","flattenDepth","depth","baseFlatten","isKeyable","type","htmlUnescapes","unescapeHtmlChar","basePropertyOf","setData","shortOut","baseSetData","observableOf","castSlice","start","end","WRAP_CURRY_FLAG","curry","arity","intersection","arrays","mapped","arrayMap","castArrayLikeObject","baseIntersection","symbolMap","numberMap","bo","preparse","postformat","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","mixin","options","keys","methodNames","baseFunctions","chain","isObject","isFunc","isFunction","arrayEach","methodName","chainAll","__chain__","__wrapped__","actions","__actions__","copyArray","arrayPush","ptBr","day","invalidDate","COMPARE_PARTIAL_FLAG","argsTag","arrayTag","objectTag","baseIsEqualDeep","other","equalFunc","stack","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","isBuffer","Stack","isTypedArray","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","defaultsDeep","args","customDefaultsMerge","mergeWith","sample","collection","arraySample","baseSample","orderBy","iteratees","orders","baseOrderBy","stubTrue","regexpTag","baseIsRegExp","isObjectLike","baseGetTag","baseHasIn","nextId","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","sortBy","isIterateeCall","fil","hyAm","standalone","isPM","input","period","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","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","concat","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","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","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","createAttribute","attributeName","createContentChildren","data","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","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","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","isEquivalent","areAllEquivalent","len","Expression","sourceSpan","ReadPropExpr","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","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","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","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","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","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","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","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","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","low","fromCharCode","stringify","overriddenName","toString","newLineIndex","substring","resolveForwardRef","Version","full","splits","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","_global","newArray","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","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","mapEntry","arg","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","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","module","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","content","ch","priorLine","lastIndexOf","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","ParseSourceFile","ParseSourceSpan","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","expressionPlaceholder","ph","RecurseVisitor","child","k","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","stringToWords32","Endian","Big","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","count","num","endian","byteAt","word","word32ToByteString","hex","decimal","toThePower","addBigInt","numberTimesBigInt","reverse","x","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","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","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","exports","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","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","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","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","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","cloned","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","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","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","_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","fullStart","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","isKeyword","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","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","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","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","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","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","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","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","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","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","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","_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","reTrimStart","nativeParseInt","root","radix","sortedLastIndex","attempt","ca","isFormat","ll","lll","llll","hours","rangeRight","createRange","basePick","paths","basePickBy","hasIn","objValue","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","nativeFloor","nativeMin","min","baseSortedIndexBy","retHighest","valIsNaN","valIsNull","valIsSymbol","isSymbol","valIsUndefined","mid","computed","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseGetAllKeys","keysFunc","symbolsFunc","baseEach","createBaseEach","baseForOwn","lowerFirst","createCaseFirst","camelCase","capitalize","deburr","escape","kebabCase","lowerCase","pad","padEnd","padStart","repeat","snakeCase","startCase","templateSettings","toLower","toUpper","trimEnd","trimStart","truncate","upperCase","upperFirst","words","reAsciiWord","asciiWords","frCa","dropRightWhile","baseWhile","baseIteratee","reHasUnicodeWord","hasUnicodeWord","nativeKeysIn","nlBe","freeExports","nodeType","freeModule","moduleExports","Buffer","allocUnsafe","cloneBuffer","isDeep","copy","sortedIndexBy","baseGet","htmlEscapes","escapeHtmlChar","isUndefined","overEvery","createOver","arrayEvery","multiply","createMathOperation","multiplier","multiplicand","hashDelete","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","originalModule","webpackPolyfill","hashGet","nativeCreate","getNative","setWrapToString","setToString","insertWrapDetails","updateWrapDetails","getWrapDetails","nativeMax","findLastIndex","fromIndex","baseFindIndex","keysIn","isArrayLike","arrayLikeKeys","baseKeysIn","gu","drop","pull","pullAll","at","commit","lodash","plant","tap","thru","toIterator","toJSON","valueOf","wrapperChain","enIe","WRAP_ARY_FLAG","WRAP_REARG_FLAG","createFlow","fromRight","flatRest","funcs","prereq","LodashWrapper","getFuncName","funcName","isLaziable","baseXor","baseUniq","othIndex","baseDifference","propsIndex","propsLength","wrapperClone","LazyWrapper","__index__","__values__","propertyOf","baseForOwnRight","baseForRight","wrapperNext","toArray","isLength","unionWith","isArrayLikeObject","arrayFunc","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","lazyValue","__dir__","isArr","isRight","arrLength","view","getView","__views__","__iteratees__","iterLength","resIndex","takeCount","__takeCount__","baseWrapperValue","outer","iterIndex","ms","minutes","km","funcProto","funcToString","objectCtorString","isPlainObject","proto","getPrototype","Ctor","zipObject","baseZipObject","isRegExp","baseToString","hasUnicode","stringToArray","spreadableSymbol","Symbol","isConcatSpreadable","isFlattenable","isArguments","overSome","arraySome","processRelativeTime","withoutSuffix","isFuture","et","enIn","arrayFilter","si","inherited","isArg","isBuff","isType","skipIndexes","baseTimes","isIndex","paIn","setCacheHas","compareAscending","valIsDefined","valIsReflexive","nullTag","undefinedTag","symToStringTag","toStringTag","getRawTag","objectToString","clamp","lower","upper","baseClamp","composeArgs","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","pt","xorWith","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","copySymbolsIn","getSymbolsIn","createCurry","createCtor","createRecurry","createHybrid","hashHas","propertyIsEnumerable","baseIsArguments","round","createRound","nativeIsFinite","isFinite","gd","strictIndexOf","cv","affix","uzLatn","baseIndexOf","baseIsNaN","asciiSize","baseProperty","arraySampleSize","shuffleSelf","ml","nthArg","baseNth","ja","eras","since","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","now","sampleSize","baseSampleSize","hashClear","plural","translate","is","uniq","__filtered__","baseCreate","baseLodash","compareMultiple","objCriteria","criteria","othCriteria","ordersLength","order","minBy","baseExtremum","baseLt","pick","fo","pullAllBy","basePullAll","zipObjectDeep","baseSet","Uint8Array","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","isFlat","isFull","initCloneArray","initCloneObject","baseAssignIn","copySymbols","baseAssign","initCloneByTag","stacked","isSet","subValue","isMap","getAllKeysIn","getAllKeys","monthsShortDot","esDo","xorBy","arMa","createFind","eu","charsStartIndex","strSymbols","chrSymbols","nativeKeys","overArg","baseSum","gomLatn","unicodeSize","createPartial","isBind","frCh","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","enAu","delay","wait","baseDelay","suffixes","tr","reUnescapedHtml","reHasUnescapedHtml","COMPARE_UNORDERED_FLAG","baseIsMatch","matchData","noCustomizer","srcValue","baseIsEqual","da","tlPh","createCompounder","translator","correctGrammaticalCase","wordKey","srCyrl","lastWeekDays","th","getMapData","lazyClone","basePropertyDeep","wrapperAt","interceptor","baseAt","tail","differenceBy","realNames","CDK_VERSION","baseMerge","srcIndex","baseFor","baseMergeDeep","safeGet","charsEndIndex","PLACEHOLDER","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","mergeData","srcBitmask","newBitmask","isCommon","isCombo","composeArgsRight","baseUnset","castPath","toKey","LAZY_WHILE_FLAG","arrayProto","symIterator","iterator","isObj","_mixin","ary","assignIn","assignInWith","assignWith","bindAll","util","bindKey","castArray","lang","seq","chunk","compact","cond","curryRight","debounce","defer","difference","differenceWith","dropWhile","fill","flatMap","flatMapDeep","flatMapDepth","flattenDeep","flip","flow","flowRight","fromPairs","functions","functionsIn","groupBy","initial","intersectionBy","intersectionWith","invert","invertBy","invokeMap","keyBy","mapKeys","matchesProperty","methodOf","negate","omit","omitBy","once","over","overArgs","partial","partialRight","partition","pickBy","pullAllWith","pullAt","rearg","reject","remove","rest","setWith","shuffle","sortedUniq","sortedUniqBy","spread","take","takeRight","takeRightWhile","takeWhile","throttle","toPairs","toPairsIn","toPath","toPlainObject","union","unionBy","uniqBy","uniqWith","unset","unzip","unzipWith","updateWith","valuesIn","without","xor","zip","zipWith","entriesIn","extend","extendWith","math","ceil","cloneDeep","cloneDeepWith","cloneWith","conformsTo","defaultTo","divide","findKey","findLastKey","forEachRight","forIn","forInRight","forOwn","forOwnRight","gt","gte","includes","inRange","invoke","isBoolean","isDate","isElement","isEmpty","isEqual","isEqualWith","isMatch","isMatchWith","isNative","isNil","isWeakMap","isWeakSet","lt","lte","maxBy","mean","meanBy","stubArray","stubFalse","stubObject","stubString","nth","date","random","reduceRight","sortedIndex","sortedLastIndexBy","sortedLastIndexOf","subtract","sumBy","times","toFinite","toLength","toSafeInteger","uniqueId","each","eachRight","isFilter","takeName","dropName","baseInvoke","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","lazyReverse","baseEvery","ocLnc","stringSize","baseKeys","baseFill","baseMap","baseSortBy","mt","cloneTypedArray","typedArray","cloneArrayBuffer","byteOffset","baseGt","setToArray","baseValues","getMatchData","listCacheClear","forms","relativeTimeWithPlural","be","createAssigner","isPrototype","arrayEachRight","baseEachRight","pluralForm","plurals","pluralize","u","arLy","hashSet","HOT_COUNT","HOT_SPAN","nativeNow","Date","lastCalled","stamp","remaining","HALF_MAX_ARRAY_LENGTH","ka","$1","$2","baseSortedUniq","NAN","baseToNumber","isKey","baseIsMap","ko","isUpper","ku","stackHas","INFINITY","bs","freeParseFloat","nativeRandom","floating","rand","baseRandom","freeSelf","freeGlobal","translateSeconds","translateSingular","special","hasPath","pairs","pair","stackDelete","setToPairs","vi","me","asciiToArray","baseFindKey","symbolProto","symbolToString","Chart","overRest","uz","LARGE_ARRAY_SIZE","stackSet","ListCache","createCommonjsModule","getCjsExportFromNamespace","colorName","conversions","reverseKeywords","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","gray","model","g","rdif","gdif","bdif","diffc","comparativeDistance","pow","reversed","currentClosestDistance","currentClosestKeyword","z","t1","t2","t3","smin","lmin","sv","vmin","sl","wh","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","ansi","color","mult","rem","integer","colorString","chroma","grayscale","hue","mg","conversions_1","conversions_2","conversions_3","conversions_4","conversions_5","conversions_6","conversions_7","conversions_8","conversions_9","conversions_10","conversions_11","conversions_12","conversions_13","conversions_14","conversions_15","buildGraph","graph","models","deriveBFS","fromModel","queue","adjacents","adjacent","link","to","wrapConversion","toModel","cur","conversion","wrapRaw","wrappedFn","wrapRounded","routeModels","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","rgba","per","hexAlpha","scale","alpha","hsla","vals","hexDouble","reverseNames","Color","valid","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","contrastRatio","dark","yiq","light","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mixinColor","weight","color1","w1","w2","spaces","maxes","getValues","space","chans","capped","sname","svalues","chartjsColor","isValidKey","helpers","uid","isNullOrUndef","valueOrDefault","valueAtIndexOrDefault","loopable","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","_mergerIf","mergeIf","merger","dst","inherits","extensions","ChartElement","Surrogate","__super__","_deprecated","helpers_core","callCallback","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","chart","clearRect","width","height","roundedRect","radius","top","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","cornerRadius","rad","save","drawImage","beginPath","lineTo","SQRT1_2","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","info","cacheable","exports$2","_factorize","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","rtl","overrideTextDirection","direction","canvas","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","ease","actual","c0","c1","configuration","initialize","_type","hidden","pivot","_view","_model","_start","transition","tooltipPosition","core_element","exports$3","currentStep","numSteps","render","onAnimationProgress","onAnimationComplete","core_animation","animation","duration","onProgress","onComplete","core_animations","request","addAnimation","startTime","animating","requestAnimationFrame","cancelAnimation","requestAnimFrame","startDigest","nextStep","arrayEvents","listenArrayEvents","_chartjs","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","destroy","_data","createMetaDataset","_chart","_datasetIndex","createMetaData","metaData","addElementAndReset","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_cachedDataOpts","easingValue","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","datasetOpts","custom","elementOptions","readKey","cached","dataIndex","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","numMeta","numData","insertElements","onDataPush","onDataPop","onDataShift","onDataSplice","onDataUnshift","core_datasetController","TAU","borderAlign","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","currentVM","previousItem","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","pointStyle","hitRadius","xRange","abs","yRange","mouseY","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","rectangle","borderSkipped","isVertical","getBarBounds","x1","y1","swap","orig","v2","parseBorderSkipped","edge","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","border","skipX","skipY","element_rectangle","rects","fillRect","Arc","Line","Point","Rectangle","deprecated","valueOrDefault$3","gridLines","offsetGridLines","bar","categoryPercentage","barPercentage","computeMinSampleSize","pixels","_length","curr","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","computeFlexCategoryTraits","percent","controller_bar","scaleOpts","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","center","_getStacks","metasets","_getMatchingVisibleMetas","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","_parseValue","imeta","ivalue","stackLength","indexOpts","valueOpts","valueOrDefault$4","resolve$1","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","document","createElement","listItem","listItemSpan","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","isDatasetVisible","opts","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","maxWidth","maxHeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","sumPos","sumNeg","ds","dsMeta","stackedRightValue","rightValue","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","sortByWeight","wrapBoxes","boxes","layoutBoxes","box","setLayoutDims","layouts","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","change","getMargins","marginForPositions","positions","margin","fitBoxes","refitBoxes","refit","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","initCanvas","renderHeight","getAttribute","renderWidth","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","throttled","ticking","createDiv","cls","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","scrollTop","onScroll","watchForRender","expando","proxy","renderProxy","animationName","reflow","offsetParent","classList","unwatchForRender","addResizeListener","maintainAspectRatio","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","getRootNode","targetNode","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","plugins","core_plugins","_plugins","_cacheId","register","plugin","unregister","getAll","notify","descriptors","descriptor","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","combinedBodyLength","bodyItem","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","active","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","drawColorBoxes","xLinePadding","colorX","fillLineOfText","textColor","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","onHover","animationDuration","responsive","responsiveAnimationDuration","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","hasId","positionIsHorizontal","compare2Level","l1","l2","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","configMerge","scaleMerge","core_helpers","filterCallback","filtered","findNextWhere","arrayToSearch","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","sign","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointsWithTangents","deltaK","mK","pointsLen","pointBefore","pointCurrent","pointAfter","slopeDeltaX","alphaK","betaK","tauK","squaredMagnitude","loop","niceNum","fraction","niceFraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","longest","nestedThing","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","startOf","endOf","_create","override","_date","core_adapters","core_ticks","formatters","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","drawOnChartArea","drawTicks","tickMarkLength","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","widths","heights","widestLabelSize","highestLabelSize","tickFont","nestedLabel","widest","highest","valueAt","getTickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","evenMajorSpacing","spacing","factors","factor","getMajorIndices","skipMajors","tick","majorStart","majorEnd","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","reversePixels","startPixel","endPixel","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","numTicks","labelRotation","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","getDecimalForPixel","getBaseValue","maxTicksLimit","_tickSize","numMajorIndices","avgMajorSpacing","optionTicks","rot","_computeGridLineItems","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","_computeLabelItems","isMirrored","fonts","lineCount","textOffset","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","scaleLabelX","scaleLabelY","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","MIN_SPACING","stepSize","maxNumSpaces","maxTicks","precision","rmin","rmax","niceMin","niceMax","numSpaces","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","tickVal","endExp","endSignificand","significand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","plFont","furthestLimits","furthestAngles","textSize","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","INTERVALS","millisecond","common","steps","second","quarter","year","UNITS","sorter","arrayUnique","hash","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","i0","interpolate$1","skey","tkey","toTimestamp","adapter","_adapter","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","weekday","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","radialLinear","FORMATS","_id","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","ci","onLeave","boxWidth","usePointStyle","lineDash","getBoxWidth","labelOpts","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","fontOpts","titleX","titleY","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","cfg","arrayIncludes","othLength","maxLength","SetCache","cacheHas","baseHas","baseMatches","wrapperValue","baseRepeat","observableThrow","DataView","hasFunc","wrapperCommit","domExcTag","arrayReduceRight","baseReduce","nodeIsSet","baseIsSet","reWrapDetails","reSplitDetails","enCa","getValue","strLength","createPadding","nativeObjectToString","createInverter","nativeCeil","baseRange","step","enGb","relativeTimeMr","mr","createRelationalOperation","ne","indexes","basePullAt","zhMo","hm","tg","cs","reEscape","ta","kn","otherArgs","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_FLIP_FLAG","wrapFlags","partialsRight","holdersRight","argPos","isAry","isBindKey","isFlip","holdersCount","countHolders","newHolders","thisBinding","reorder","createBind","arKw","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","lastDigit","firstDigit","lb","INVALID_TEMPL_VAR_ERROR_TEXT","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reForbiddenIdentifierChars","reEsTemplate","reNoMatch","reUnescapedString","settings","customDefaultsAssignIn","importsKeys","importsValues","isEscaping","isEvaluating","reDelimiters","reInterpolate","evaluate","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","escapeStringChar","isDrop","baseInRange","nodeIsDate","baseIsDate","reWrapComment","baseTrim","trimmedEndIndex","nodeIsMap","az","strictLastIndexOf","zhHk","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","getSymbols","reEvaluate","mergeFunc","isTyped","createToPairs","baseIndexOfWith","comparer","Hash","ga","chr","trailing","leading","days","ur","tet","assignFunc","valsLength","esUs","nativeIsBuffer","dv","iteratorToArray","mapToArray","tk","weekEndings","hu","isArrLike","zhCn","customOmitClone","te","findIndexFunc","iterable","augend","addend","baseIsNative","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","WeakMap","ArrayBuffer","ctorString","ugCn","reLatin","reComboMark","deburrLetter","baseMean","nativeReverse","isMaskable","coreJsData","deprecate","valuesLength","valuesIndex","symbolValueOf","byteLength","isPartial","baseFilter","sd","baseMatchesProperty","msMy","assocIndexOf","eo","createSet","nodeIsRegExp","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","isStrictComparable","matchesStrictComparable","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","weekdaysParse","mi","mk","last2Digits","createBaseFor","arrStacked","othStacked","arrValue","othValue","compared","enNz","nb","kk","arTn","it","itCh","objectCreate","eachFunc","fy","reIsUint","arrayShuffle","baseShuffle","stackClear","enIl","wrapperToIterator","stackGet","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","reFlags","omission","search","newEnd","sw","sk","reHasUnicode","listCacheSet","oldArray","dividend","divisor","charsLength","rsApos","reApos","noSideEffects","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","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","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","formatError","angularCoreDiEnv","typeAny","addAllToArray","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","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","onDestroy","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","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","assertIndexInVarsRange","i18nStartIndex","assertIndexInI18nRange","expandoStartIndex","assertIndexInExpandoRange","assertNodeInjector","injectorIndex","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","renderer","listen","ɵ0$2","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","checkNoChangesMode","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","getCheckNoChangesMode","setCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","enterDI","newView","newLFrame","allocLFrame","enterView","selectedIndex","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","isProc","namespaceURI","attrVal","setAttributeNS","isNameOnlyAttributeMarker","mergeHostAttrs","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","renderStringify","stringifyForError","ɵ0$3","defaultScheduler","ɵɵresolveWindow","ownerDocument","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","includeViewProviders","setIncludeViewProviders","oldValue","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","mask","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","endIndex","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","DOMParser","parseFromString","inertDocument","createHTMLDocument","inertHtml","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attrib","childNode","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","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","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","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","throwCyclicDependencyError","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","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","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","ɵɵadvance","selectIndexInternal","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","nextIndex","prevIndex","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","destroyed","indexWithinInitPhase","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","factories","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","namespace","createElementNS","createLView","tHostNode","rendererFactory","getOrCreateTNode","adjustedIndex","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","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","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","clean","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","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","removeClass","addClass","removeStyle","removeProperty","setStyle","writeDirectStyle","writeDirectClass","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","collectNativeNodes","detach","vcRef","appRef","RootViewRef","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","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","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","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","detectChanges","markDirty","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","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","interpolation2","interpolation3","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","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","preventDefault","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","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","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","check","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","toIndex","_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","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","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","dispatchEvent","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","constAndInterp","_toStringWithNull","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","_createClass","_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_","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","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","setLocaleId","getLocaleId","ngI18nClosureMode","goog","getMsg","getParentFromI18nMutateOpCode","mergedCode","getRefFromI18nMutateOpCode","getInstructionFromI18nMutateOpCode","ELEMENT_MARKER","COMMENT_MARKER","unusedValueExportToPlacateAjd$6","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","createCodes","updateCodes","childIcus","nestedIcus","icuIndex","parseIcuCase","parseICUBlock","opCodes","parseNodes","prevPos","braceStack","braces","block","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","replacements","templateIdsStack","templateId","isCloseTemplateTag","currentTemplateId","ɵɵi18nStart","messageIndex","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","parentPrototype","parentConstructor","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","ɵɵ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","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","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","track","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","collect","__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","rej","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","task","scheduleEventTask","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","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","merge$1","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","queryAll","_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","getOwnPropertyDescriptors","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","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","idCounter","remainder","otherFunc","baseConformsTo","yo","toIteratee","numbersPast","numbersFuture","verbalNumber","fi","arSa","bg","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","unicodeWords","my","baseToPairs","group","holdersIndex","rightIndex","rightLength","gl","es","seenIndex","nativeGetSymbols","getOwnPropertySymbols","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsNominativeEl","_monthsGenitiveEl","calendarEl","mom","_calendarEl","monthsNominative","monthsSubjective","pl","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","ar","stringEscapes","cloneRegExp","maskSrcKey","IE_PROTO","isMasked","bn","zhTw","nextUniqueId","assigner","typedArrayTags","baseIsTypedArray","baseSome","reRegExpChar","reIsHostCtor","reIsNative","ru","mn","CORE_ERROR_TEXT","ky","arrayBuffer","baseInverter","bnBd","ro","arrayAggregator","baseAggregator","nested","listCacheDelete","listCacheGet","listCacheHas","newData","fr","arDz","memoized","Cache","nodeIsTypedArray","minuend","subtrahend","cloneDataView","cloneSymbol","bm","castRest","reHasRegExpChar","gomDeva","weekdaysCaseReplace","nominative","accusative","genitive","nounCase","processHoursFunction","uk","deAt","enSg","PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","de","tzmLatn","jv","esMx","lastValue","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn","EmptyOutletComponent","deCh","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsBreakRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsOrdLower","rsOrdUpper","rsEmoji","reUnicodeWord","nn","reWhitespace","isStrict","relativeTimeWithSingular","relativeSeconds","lv","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","funcsLength","asyncTag","proxyTag","reIsDeepProp","reIsPlainProp","dataView","wrapperReverse","isProto","tzm","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","createUTC","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","fun","_isValid","parsedParts","isNowValid","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","momentProperties","updateInProgress","copyConfig","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","Moment","updateOffset","isMoment","suppressDeprecationWarnings","firstTime","deprecationHandler","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","aliases","addUnitAlias","shorthand","normalizeUnits","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","priorities","addUnitPriority","getPrioritizedUnits","unitsObj","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","matched","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","parseTwoDigitYear","daysInYear","getSetYear","getIsLeapYear","createDate","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","parseWeekday","parseIsoWeekday","shiftWeekdays","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","kFormat","seconds","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","_meridiem","pos1","pos2","localeIsPM","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","baseConfig","localeFamilies","globalLocale","commonPrefix","arr1","arr2","minl","chooseLocale","loadLocale","oldLocale","aliasedRequire","_abbr","getSetGlobalLocale","getLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","_useUTC","currentDateArray","nowValue","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","prototypeMax","moments","ordering","isDurationValid","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","weeks","isoWeek","milliseconds","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor2","adjust","defaultFormat","defaultFormatUtc","toISOString","keepOffset","toDate","inspect","inputString","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","matchEraAbbr","matchEraName","matchEraNarrow","erasParse","matchEraYearOrdinal","_eraYearOrdinalRegex","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","abbrPieces","namePieces","narrowPieces","isoWeekYear","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","getSetMillisecond","parseMs","getZoneAbbr","getZoneName","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseZone","isDST","zoneAbbr","zoneName","dates","isDSTShifted","createUnix","createInZone","preParsePostFormat","proto$1","firstDayOfYear","firstDayOfWeek","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","nativeJoin","deburredLetters","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","weakSetTag","he","reEscapedHtml","reHasEscapedHtml","freeProcess","process","wrapperPlant","isOwn","unmasked","sq","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","tlh","sr"],"mappings":"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AAA;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;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;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;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;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","file":"vendor.js","sourcesContent":["/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import baseSortedIndex from './_baseSortedIndex.js';\nimport eq from './eq.js';\n\n/**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\nfunction sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default sortedIndexOf;\n","import baseRest from './_baseRest.js';\nimport createWrap from './_createWrap.js';\nimport getHolder from './_getHolder.js';\nimport replaceHolders from './_replaceHolders.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_PARTIAL_FLAG = 32;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\nvar bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n});\n\n// Assign default placeholders.\nbind.placeholder = {};\n\nexport default bind;\n","export { default } from './head.js'\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import baseSlice from './_baseSlice.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n}\n\nexport default dropRight;\n","import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\nvar countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n});\n\nexport default countBy;\n","import metaMap from './_metaMap.js';\nimport noop from './noop.js';\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nexport default getData;\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/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\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\nimport {\n TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport {\n throwNullPortalOutletError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalOutletAlreadyDisposedError,\n throwUnknownPortalTypeError\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType {\n new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal {\n private _attachedHost: PortalOutlet | null;\n\n /** Attach this portal to a host. */\n attach(host: PortalOutlet): T {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n\n this._attachedHost = host;\n return host.attach(this);\n }\n\n /** Detach this portal from its host */\n detach(): void {\n let host = this._attachedHost;\n\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n\n /** Whether this portal is attached to a host. */\n get isAttached(): boolean {\n return this._attachedHost != null;\n }\n\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host: PortalOutlet | null) {\n this._attachedHost = host;\n }\n}\n\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal extends Portal> {\n /** The type of the component that will be instantiated for attachment. */\n component: ComponentType;\n\n /**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n */\n viewContainerRef?: ViewContainerRef | null;\n\n /** [Optional] Injector used for the instantiation of the component. */\n injector?: Injector | null;\n\n /**\n * Alternate `ComponentFactoryResolver` to use when resolving the associated component.\n * Defaults to using the resolver from the outlet that the portal is attached to.\n */\n componentFactoryResolver?: ComponentFactoryResolver | null;\n\n constructor(\n component: ComponentType,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal extends Portal> {\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n templateRef: TemplateRef;\n\n /** Reference to the ViewContainer into which the template will be stamped out. */\n viewContainerRef: ViewContainerRef;\n\n /** Contextual data to be passed in to the embedded view. */\n context: C | undefined;\n\n constructor(template: TemplateRef, viewContainerRef: ViewContainerRef, context?: C) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n\n get origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host: PortalOutlet, context: C | undefined = this.context): EmbeddedViewRef {\n this.context = context;\n return super.attach(host);\n }\n\n detach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nexport class DomPortal extends Portal {\n /** DOM node hosting the portal's content. */\n readonly element: T;\n\n constructor(element: T | ElementRef) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n\n\n/** A `PortalOutlet` is an space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n /** Attaches a portal to this outlet. */\n attach(portal: Portal): any;\n\n /** Detaches the currently attached portal from this outlet. */\n detach(): any;\n\n /** Performs cleanup before the outlet is destroyed. */\n dispose(): void;\n\n /** Whether there is currently a portal attached to this outlet. */\n hasAttached(): boolean;\n}\n\n/**\n * @deprecated Use `PortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport type PortalHost = PortalOutlet;\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n /** The portal currently attached to the host. */\n protected _attachedPortal: Portal | null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null;\n\n /** Whether this host has already been permanently disposed. */\n private _isDisposed: boolean = false;\n\n /** Whether this host has an attached portal. */\n hasAttached(): boolean {\n return !!this._attachedPortal;\n }\n\n attach(portal: ComponentPortal): ComponentRef;\n attach(portal: TemplatePortal): EmbeddedViewRef;\n attach(portal: any): any;\n\n /** Attaches a portal. */\n attach(portal: Portal): any {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n\n abstract attachComponentPortal(portal: ComponentPortal): ComponentRef;\n\n abstract attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef;\n\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n readonly attachDomPortal: null | ((portal: DomPortal) => any) = null;\n\n /** Detaches a previously attached portal. */\n detach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n\n /** Permanently dispose of this portal host. */\n dispose(): void {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n\n /** @docs-private */\n setDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n\n private _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport abstract class BasePortalHost extends BasePortalOutlet {}\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\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n private _document: Document;\n\n constructor(\n /** Element into which the content is projected. */\n public outletElement: Element,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef,\n private _defaultInjector: Injector,\n\n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document?: any) {\n super();\n this._document = _document;\n }\n\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef: ComponentRef;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(\n componentFactory,\n portal.viewContainerRef.length,\n portal.injector || portal.viewContainerRef.injector);\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n\n this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n element.parentNode!.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n }\n\n /**\n * Clears out a portal from the DOM.\n */\n dispose(): void {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n }\n}\n\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport class DomPortalHost extends DomPortalOutlet {}\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\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EmbeddedViewRef,\n EventEmitter,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n Inject,\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {BasePortalOutlet, ComponentPortal, Portal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n})\nexport class TemplatePortalDirective extends CdkPortal {}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef | EmbeddedViewRef | null;\n\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\n@Directive({\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n private _document: Document;\n\n /** Whether the portal component is initialized. */\n private _isInitialized = false;\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef: CdkPortalOutletAttachedRef;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _viewContainerRef: ViewContainerRef,\n\n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n @Inject(DOCUMENT) _document?: any) {\n super();\n this._document = _document;\n }\n\n /** Portal associated with the Portal outlet. */\n get portal(): Portal | null {\n return this._attachedPortal;\n }\n\n set portal(portal: Portal | null) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._attachedPortal = portal;\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() attached: EventEmitter =\n new EventEmitter();\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef {\n return this._attachedRef;\n }\n\n ngOnInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.injector);\n\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild((ref.hostView as EmbeddedViewRef).rootNodes[0]);\n }\n\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n\n return ref;\n }\n\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n\n return viewRef;\n }\n\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n portal.setAttachedHost(this);\n element.parentNode!.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode!.replaceChild(element, anchorNode);\n }\n });\n }\n\n /** Gets the root node of the portal outlet. */\n private _getRootNode(): HTMLElement {\n const nativeElement: Node = this._viewContainerRef.element.nativeElement;\n\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : nativeElement.parentNode!) as HTMLElement;\n }\n\n static ngAcceptInputType_portal: Portal | null | undefined | '';\n}\n\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n})\nexport class PortalHostDirective extends CdkPortalOutlet {}\n\n\n@NgModule({\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n})\nexport class PortalModule {}\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\nimport {Injector} from '@angular/core';\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nexport class PortalInjector implements Injector {\n constructor(\n private _parentInjector: Injector,\n private _customTokens: WeakMap) { }\n\n get(token: any, notFoundValue?: any): any {\n const value = this._customTokens.get(token);\n\n if (typeof value !== 'undefined') {\n return value;\n }\n\n return this._parentInjector.get(token, notFoundValue);\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\nexport * from './portal';\nexport * from './dom-portal-outlet';\nexport * from './portal-directives';\nexport * from './portal-injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import isInteger from './isInteger.js';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\nfunction isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isSafeInteger;\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n '_'\n ),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import baseIsArrayBuffer from './_baseIsArrayBuffer.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer;\n\n/**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\nvar isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\nexport default isArrayBuffer;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import baseUpdate from './_baseUpdate.js';\nimport castFunction from './_castFunction.js';\n\n/**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\nfunction update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n}\n\nexport default update;\n","import baseClone from './_baseClone.js';\nimport baseConforms from './_baseConforms.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes the predicate properties of `source` with\n * the corresponding property values of a given object, returning `true` if\n * all predicates return truthy, else `false`.\n *\n * **Note:** The created function is equivalent to `_.conformsTo` with\n * `source` partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 2, 'b': 1 },\n * { 'a': 1, 'b': 2 }\n * ];\n *\n * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n * // => [{ 'a': 1, 'b': 2 }]\n */\nfunction conforms(source) {\n return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n}\n\nexport default conforms;\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\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","import toInteger from './toInteger.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\nfunction after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n\nexport default after;\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\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Inject,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\n\n\n// Boilerplate for applying mixins to MatToolbar.\n/** @docs-private */\nclass MatToolbarBase {\n constructor(public _elementRef: ElementRef) {}\n}\nconst _MatToolbarMixinBase: CanColorCtor & typeof MatToolbarBase = mixinColor(MatToolbarBase);\n\n@Directive({\n selector: 'mat-toolbar-row',\n exportAs: 'matToolbarRow',\n host: {'class': 'mat-toolbar-row'},\n})\nexport class MatToolbarRow {}\n\n@Component({\n selector: 'mat-toolbar',\n exportAs: 'matToolbar',\n templateUrl: 'toolbar.html',\n styleUrls: ['toolbar.css'],\n inputs: ['color'],\n host: {\n 'class': 'mat-toolbar',\n '[class.mat-toolbar-multiple-rows]': '_toolbarRows.length > 0',\n '[class.mat-toolbar-single-row]': '_toolbarRows.length === 0',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatToolbar extends _MatToolbarMixinBase implements CanColor, AfterViewInit {\n private _document: Document;\n\n /** Reference to all toolbar row elements that have been projected. */\n @ContentChildren(MatToolbarRow, {descendants: true}) _toolbarRows: QueryList;\n\n constructor(\n elementRef: ElementRef,\n private _platform: Platform,\n @Inject(DOCUMENT) document?: any) {\n super(elementRef);\n\n // TODO: make the document a required param when doing breaking changes.\n this._document = document;\n }\n\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._checkToolbarMixedModes();\n this._toolbarRows.changes.subscribe(() => this._checkToolbarMixedModes());\n }\n }\n\n /**\n * Throws an exception when developers are attempting to combine the different toolbar row modes.\n */\n private _checkToolbarMixedModes() {\n if (this._toolbarRows.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // Check if there are any other DOM nodes that can display content but aren't inside of\n // a element.\n const isCombinedUsage = Array.from(this._elementRef.nativeElement.childNodes)\n .filter(node => !(node.classList && node.classList.contains('mat-toolbar-row')))\n .filter(node => node.nodeType !== (this._document ? this._document.COMMENT_NODE : 8))\n .some(node => !!(node.textContent && node.textContent.trim()));\n\n if (isCombinedUsage) {\n throwToolbarMixedModesError();\n }\n }\n }\n}\n\n/**\n * Throws an exception when attempting to combine the different toolbar row modes.\n * @docs-private\n */\nexport function throwToolbarMixedModesError() {\n throw Error('MatToolbar: Attempting to combine different toolbar modes. ' +\n 'Either specify multiple `` elements explicitly or just place content ' +\n 'inside of a `` for a single row.');\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\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatToolbar, MatToolbarRow} from './toolbar';\n\n\n@NgModule({\n imports: [MatCommonModule],\n exports: [MatToolbar, MatToolbarRow, MatCommonModule],\n declarations: [MatToolbar, MatToolbarRow],\n})\nexport class MatToolbarModule {}\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\nexport * from './toolbar-module';\nexport * from './toolbar';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\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 baseFlatten from './_baseFlatten.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\nfunction flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n}\n\nexport default flattenDepth;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map HTML entities to characters. */\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\nvar unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\nexport default unescapeHtmlChar;\n","import baseSetData from './_baseSetData.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nexport default setData;\n","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","/**\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\nimport {Observable} from 'rxjs';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource {\n /**\n * Connects a collection viewer (such as a data-table) to this data source. Note that\n * the stream provided will be accessed during change detection and should not directly change\n * values that are bound in template views.\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n * @returns Observable that emits a new value when the data changes.\n */\n abstract connect(collectionViewer: CollectionViewer): Observable>;\n\n /**\n * Disconnects a collection viewer (such as a data-table) from this data source. Can be used\n * to perform any clean-up or tear-down operations when a view is being destroyed.\n *\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n */\n abstract disconnect(collectionViewer: CollectionViewer): void;\n}\n\n/** Checks whether an object is a data source. */\nexport function isDataSource(value: any): value is DataSource {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\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\nimport {Observable, isObservable, of as observableOf} from 'rxjs';\nimport {DataSource} from './data-source';\n\n\n/** DataSource wrapper for a native array. */\nexport class ArrayDataSource extends DataSource {\n constructor(private _data: T[] | ReadonlyArray | Observable>) {\n super();\n }\n\n connect(): Observable> {\n return isObservable(this._data) ? this._data : observableOf(this._data);\n }\n\n disconnect() {}\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\nimport {Observable} from 'rxjs';\n\n\n/** Represents a range of numbers with a specified start and end. */\nexport type ListRange = {start: number, end: number};\n\n\n/**\n * Interface for any component that provides a view of some data collection and wants to provide\n * information regarding the view and any changes made.\n */\nexport interface CollectionViewer {\n /**\n * A stream that emits whenever the `CollectionViewer` starts looking at a new portion of the\n * data. The `start` index is inclusive, while the `end` is exclusive.\n */\n viewChange: Observable;\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\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _DisposeViewRepeaterStrategy>\n implements _ViewRepeater {\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n changes.forEachOperation(\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(\n insertContext.templateRef, insertContext.context, insertContext.index);\n operation = _ViewRepeaterOperation.INSERTED;\n } else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex!);\n operation = _ViewRepeaterOperation.REMOVED;\n } else {\n view = viewContainerRef.get(adjustedPreviousIndex!) as EmbeddedViewRef;\n viewContainerRef.move(view!, currentIndex);\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\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\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemInsertArgs,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _RecycleViewRepeaterStrategy>\n implements _ViewRepeater {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n viewCacheSize: number = 20;\n\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n private _viewCache: EmbeddedViewRef[] = [];\n\n /** Apply changes to the DOM. */\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(\n record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = view ? _ViewRepeaterOperation.INSERTED : _ViewRepeaterOperation.REPLACED;\n } else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex!, viewContainerRef);\n operation = _ViewRepeaterOperation.REMOVED;\n } else { // Item moved.\n view = this._moveView(adjustedPreviousIndex!, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n }\n\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n private _insertView(viewArgsFactory: () => _ViewRepeaterItemInsertArgs, currentIndex: number,\n viewContainerRef: ViewContainerRef,\n value: T): EmbeddedViewRef | undefined {\n let cachedView = this._insertViewFromCache(currentIndex!, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(\n viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n\n /** Detaches the view at the given index and inserts into the view cache. */\n private _detachAndCacheView(index: number, viewContainerRef: ViewContainerRef) {\n const detachedView = this._detachView(index, viewContainerRef);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n\n /** Moves view at the previous index to the current index. */\n private _moveView(adjustedPreviousIndex: number, currentIndex: number,\n viewContainerRef: ViewContainerRef, value: T): EmbeddedViewRef {\n const view = viewContainerRef.get(adjustedPreviousIndex!) as\n EmbeddedViewRef;\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n private _maybeCacheView(view: EmbeddedViewRef, viewContainerRef: ViewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n } else {\n const index = viewContainerRef.indexOf(view);\n\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n } else {\n viewContainerRef.remove(index);\n }\n }\n }\n\n /** Inserts a recycled view from the cache at the given index. */\n private _insertViewFromCache(index: number,\n viewContainerRef: ViewContainerRef): EmbeddedViewRef | null {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n\n /** Detaches the embedded view at the given index. */\n private _detachView(index: number, viewContainerRef: ViewContainerRef): EmbeddedViewRef {\n return viewContainerRef.detach(index) as EmbeddedViewRef;\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\nimport {Subject} from 'rxjs';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel {\n /** Currently-selected values. */\n private _selection = new Set();\n\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n private _deselectedToEmit: T[] = [];\n\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n private _selectedToEmit: T[] = [];\n\n /** Cache for the array value of the selected items. */\n private _selected: T[] | null;\n\n /** Selected values. */\n get selected(): T[] {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n\n return this._selected;\n }\n\n /** Event emitted when the value has changed. */\n changed: Subject> = new Subject();\n\n constructor(\n private _multiple = false,\n initiallySelectedValues?: T[],\n private _emitChanges = true) {\n\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n } else {\n this._markSelected(initiallySelectedValues[0]);\n }\n\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n\n /**\n * Selects a value or an array of values.\n */\n select(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value: T): void {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n\n /**\n * Clears all of the selected values.\n */\n clear(): void {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n\n /**\n * Determines whether a value is selected.\n */\n isSelected(value: T): boolean {\n return this._selection.has(value);\n }\n\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty(): boolean {\n return this._selection.size === 0;\n }\n\n /**\n * Determines whether the model has a value.\n */\n hasValue(): boolean {\n return !this.isEmpty();\n }\n\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate?: (a: T, b: T) => number): void {\n if (this._multiple && this.selected) {\n this._selected!.sort(predicate);\n }\n }\n\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n\n /** Emits a change event and clears the records of selected and deselected values. */\n private _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n\n /** Selects a value. */\n private _markSelected(value: T) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n\n this._selection.add(value);\n\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n\n /** Deselects a value. */\n private _unmarkSelected(value: T) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n\n /** Clears out the selected values. */\n private _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n private _verifyValueAssignment(values: T[]) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n\n/**\n * Event emitted when the value of a MatSelectionModel has changed.\n * @docs-private\n */\nexport interface SelectionChange {\n /** Model that dispatched the event. */\n source: SelectionModel;\n /** Options that were added to the model. */\n added: T[];\n /** Options that were removed from the model. */\n removed: T[];\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nexport function getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\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\nimport {Injectable, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable({providedIn: 'root'})\nexport class UniqueSelectionDispatcher implements OnDestroy {\n private _listeners: UniqueSelectionDispatcherListener[] = [];\n\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id: string, name: string) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener: UniqueSelectionDispatcherListener): () => void {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n return listener !== registered;\n });\n };\n }\n\n ngOnDestroy() {\n this._listeners = [];\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\nimport {SelectionModel} from './selection-model';\n\n\n/**\n * Interface for a class that can flatten hierarchical structured data and re-expand the flattened\n * data back into its original structure. Should be used in conjunction with the cdk-tree.\n */\nexport interface TreeDataNodeFlattener {\n /** Transforms a set of hierarchical structured data into a flattened data array. */\n flattenNodes(structuredData: any[]): T[];\n\n /**\n * Expands a flattened array of data into its hierarchical form using the provided expansion\n * model.\n */\n expandFlattenedNodes(nodes: T[], expansionModel: SelectionModel): T[];\n\n /**\n * Put node descendants of node in array.\n * If `onlyExpandable` is true, then only process expandable descendants.\n */\n nodeDescendents(node: T, nodes: T[], onlyExpandable: boolean): void;\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\nimport {\n InjectionToken,\n IterableChangeRecord,\n IterableChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\n/**\n * The context for an embedded view in the repeater's view container.\n *\n * @template T The type for the embedded view's $implicit property.\n */\nexport interface _ViewRepeaterItemContext {\n $implicit?: T;\n}\n\n/**\n * The arguments needed to construct an embedded view for an item in a view\n * container.\n *\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemInsertArgs {\n templateRef: TemplateRef;\n context?: C;\n index?: number;\n}\n\n/**\n * A factory that derives the embedded view context for an item in a view\n * container.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemContextFactory> =\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => _ViewRepeaterItemInsertArgs;\n\n/**\n * Extracts the value of an item from an {@link IterableChangeRecord}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n */\nexport type _ViewRepeaterItemValueResolver =\n (record: IterableChangeRecord) => T;\n\n/** Indicates how a view was changed by a {@link _ViewRepeater}. */\nexport const enum _ViewRepeaterOperation {\n /** The content of an existing view was replaced with another item. */\n REPLACED,\n /** A new view was created with `createEmbeddedView`. */\n INSERTED,\n /** The position of a view changed, but the content remains the same. */\n MOVED,\n /** A view was detached from the view container. */\n REMOVED,\n}\n\n/**\n * Meta data describing the state of a view after it was updated by a\n * {@link _ViewRepeater}.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemChange {\n /** The view's context after it was changed. */\n context?: C;\n /** Indicates how the view was changed. */\n operation: _ViewRepeaterOperation;\n /** The view's corresponding change record. */\n record: IterableChangeRecord;\n}\n\n/**\n * Type for a callback to be executed after a view has changed.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemChanged =\n (change: _ViewRepeaterItemChange) => void;\n\n/**\n * Describes a strategy for rendering items in a {@link ViewContainerRef}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeater> {\n applyChanges(\n changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged): void;\n\n detach(): void;\n}\n\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nexport const _VIEW_REPEATER_STRATEGY = new InjectionToken<\n _ViewRepeater>>('_ViewRepeater');\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\nexport * from './array-data-source';\nexport * from './collection-viewer';\nexport * from './data-source';\nexport * from './dispose-view-repeater-strategy';\nexport * from './recycle-view-repeater-strategy';\nexport * from './selection-model';\nexport {\n UniqueSelectionDispatcher,\n UniqueSelectionDispatcherListener,\n} from './unique-selection-dispatcher';\nexport * from './tree-adapter';\nexport * from './view-repeater';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","/**\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\nimport {ViewContainerRef, ComponentFactoryResolver} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from '@angular/cdk/overlay';\n\n/** Valid ARIA roles for a dialog element. */\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** Possible overrides for a dialog's position. */\nexport interface DialogPosition {\n /** Override for the dialog's top position. */\n top?: string;\n\n /** Override for the dialog's bottom position. */\n bottom?: string;\n\n /** Override for the dialog's left position. */\n left?: string;\n\n /** Override for the dialog's right position. */\n right?: string;\n}\n\n/**\n * Configuration for opening a modal dialog with the MatDialog service.\n */\nexport class MatDialogConfig {\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This affects what is available for injection and the change detection order for the\n * component instantiated inside of the dialog. This does not affect where the dialog\n * content will be rendered.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** ID for the dialog. If omitted, a unique one will be generated. */\n id?: string;\n\n /** The ARIA role of the dialog element. */\n role?: DialogRole = 'dialog';\n\n /** Custom class for the overlay pane. */\n panelClass?: string | string[] = '';\n\n /** Whether the dialog has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string | string[] = '';\n\n /** Whether the user can use escape or clicking on the backdrop to close the modal. */\n disableClose?: boolean = false;\n\n /** Width of the dialog. */\n width?: string = '';\n\n /** Height of the dialog. */\n height?: string = '';\n\n /** Min-width of the dialog. If a number is provided, assumes pixel units. */\n minWidth?: number | string;\n\n /** Min-height of the dialog. If a number is provided, assumes pixel units. */\n minHeight?: number | string;\n\n /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */\n maxWidth?: number | string = '80vw';\n\n /** Max-height of the dialog. If a number is provided, assumes pixel units. */\n maxHeight?: number | string;\n\n /** Position overrides. */\n position?: DialogPosition;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Layout direction for the dialog's content. */\n direction?: Direction;\n\n /** ID of the element that describes the dialog. */\n ariaDescribedBy?: string | null = null;\n\n /** ID of the element that labels the dialog. */\n ariaLabelledBy?: string | null = null;\n\n /** Aria label to assign to the dialog element. */\n ariaLabel?: string | null = null;\n\n /** Whether the dialog should focus the first focusable element on open. */\n autoFocus?: boolean = true;\n\n /**\n * Whether the dialog should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus?: boolean = true;\n\n /** Scroll strategy to be used for the dialog. */\n scrollStrategy?: ScrollStrategy;\n\n /**\n * Whether the dialog should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n /** Alternate `ComponentFactoryResolver` to use when resolving the associated component. */\n componentFactoryResolver?: ComponentFactoryResolver;\n\n // TODO(jelbourn): add configuration for lifecycle hooks, ARIA labelling.\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const matDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n /** Animation that is applied on the dialog container by default. */\n dialogContainer: trigger('dialogContainer', [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues.\n state('void, exit', style({opacity: 0, transform: 'scale(0.7)'})),\n state('enter', style({transform: 'none'})),\n transition('* => enter', animate('150ms cubic-bezier(0, 0, 0.2, 1)',\n style({transform: 'none', opacity: 1}))),\n transition('* => void, * => exit',\n animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({opacity: 0}))),\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\nimport {AnimationEvent} from '@angular/animations';\nimport {FocusMonitor, FocusOrigin, FocusTrap, FocusTrapFactory} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal\n} from '@angular/cdk/portal';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {matDialogAnimations} from './dialog-animations';\nimport {MatDialogConfig} from './dialog-config';\n\n/** Event that captures the state of dialog container animations. */\ninterface DialogAnimationEvent {\n state: 'opened' | 'opening' | 'closing' | 'closed';\n totalTime: number;\n}\n\n/**\n * Throws an exception for the case when a ComponentPortal is\n * attached to a DomPortalOutlet without an origin.\n * @docs-private\n */\nexport function throwMatDialogContentAlreadyAttachedError() {\n throw Error('Attempting to attach dialog content after content is already attached');\n}\n\n/**\n * Base class for the `MatDialogContainer`. The base class does not implement\n * animations as these are left to implementers of the dialog container.\n */\n@Directive()\nexport abstract class _MatDialogContainerBase extends BasePortalOutlet {\n protected _document: Document;\n\n /** The portal outlet inside of this container into which the dialog content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** The class that traps and manages focus within the dialog. */\n private _focusTrap: FocusTrap;\n\n /** Emits when an animation state changes. */\n _animationStateChanged = new EventEmitter();\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private _elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /**\n * Type of interaction that led to the dialog being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the dialog is closed.\n */\n _closeInteractionType: FocusOrigin|null = null;\n\n /** ID of the element that should be considered as the dialog's label. */\n _ariaLabelledBy: string | null;\n\n /** ID for the container DOM element. */\n _id: string;\n\n constructor(\n protected _elementRef: ElementRef,\n protected _focusTrapFactory: FocusTrapFactory,\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The dialog configuration. */\n public _config: MatDialogConfig,\n private _focusMonitor?: FocusMonitor) {\n\n super();\n this._ariaLabelledBy = _config.ariaLabelledBy || null;\n this._document = _document;\n }\n\n /** Starts the dialog exit animation. */\n abstract _startExitAnimation(): void;\n\n /** Initializes the dialog container with the attached content. */\n _initializeWithAttachedContent() {\n this._setupFocusTrap();\n // Save the previously focused element. This element will be re-focused\n // when the dialog closes.\n this._capturePreviouslyFocusedElement();\n // Move focus onto the dialog immediately in order to prevent the user\n // from accidentally opening multiple dialogs at the same time.\n this._focusDialogContainer();\n }\n\n /**\n * Attach a ComponentPortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the dialog container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachDomPortal(portal);\n }\n\n /** Moves focus back into the dialog if it was moved out. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n const focusContainer = !this._config.autoFocus || !this._focusTrap.focusInitialElement();\n\n if (focusContainer) {\n this._elementRef.nativeElement.focus();\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n protected _trapFocus() {\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this._config.autoFocus) {\n this._focusTrap.focusInitialElementWhenReady();\n } else if (!this._containsFocus()) {\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Restores focus to the element that was focused before the dialog opened. */\n protected _restoreFocus() {\n const previousElement = this._elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this._config.restoreFocus && previousElement &&\n typeof previousElement.focus === 'function') {\n const activeElement = this._document.activeElement;\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the dialog or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement || activeElement === this._document.body || activeElement === element ||\n element.contains(activeElement)) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(previousElement, this._closeInteractionType);\n this._closeInteractionType = null;\n } else {\n previousElement.focus();\n }\n }\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Sets up the focus trap. */\n private _setupFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n }\n\n /** Captures the element that was focused before the dialog was opened. */\n private _capturePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeDialogWasOpened = this._document.activeElement as HTMLElement;\n }\n }\n\n /** Focuses the dialog container. */\n private _focusDialogContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Returns whether focus is inside the dialog. */\n private _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = this._document.activeElement;\n return element === activeElement || element.contains(activeElement);\n }\n}\n\n/**\n * Internal component that wraps user-provided dialog content.\n * Animation is based on https://material.io/guidelines/motion/choreography.html.\n * @docs-private\n */\n@Component({\n selector: 'mat-dialog-container',\n templateUrl: 'dialog-container.html',\n styleUrls: ['dialog.css'],\n encapsulation: ViewEncapsulation.None,\n // Using OnPush for dialogs caused some G3 sync issues. Disabled until we can track them down.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [matDialogAnimations.dialogContainer],\n host: {\n 'class': 'mat-dialog-container',\n 'tabindex': '-1',\n 'aria-modal': 'true',\n '[id]': '_id',\n '[attr.role]': '_config.role',\n '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',\n '[attr.aria-label]': '_config.ariaLabel',\n '[attr.aria-describedby]': '_config.ariaDescribedBy || null',\n '[@dialogContainer]': '_state',\n '(@dialogContainer.start)': '_onAnimationStart($event)',\n '(@dialogContainer.done)': '_onAnimationDone($event)',\n },\n})\nexport class MatDialogContainer extends _MatDialogContainerBase {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Callback, invoked whenever an animation on the host completes. */\n _onAnimationDone({toState, totalTime}: AnimationEvent) {\n if (toState === 'enter') {\n this._trapFocus();\n this._animationStateChanged.next({state: 'opened', totalTime});\n } else if (toState === 'exit') {\n this._restoreFocus();\n this._animationStateChanged.next({state: 'closed', totalTime});\n }\n }\n\n /** Callback, invoked when an animation on the host starts. */\n _onAnimationStart({toState, totalTime}: AnimationEvent) {\n if (toState === 'enter') {\n this._animationStateChanged.next({state: 'opening', totalTime});\n } else if (toState === 'exit' || toState === 'void') {\n this._animationStateChanged.next({state: 'closing', totalTime});\n }\n }\n\n /** Starts the dialog exit animation. */\n _startExitAnimation(): void {\n this._state = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck();\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\nimport {FocusOrigin} from '@angular/cdk/a11y';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {GlobalPositionStrategy, OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {DialogPosition} from './dialog-config';\nimport {_MatDialogContainerBase} from './dialog-container';\n\n\n// TODO(jelbourn): resizing\n\n// Counter for unique dialog ids.\nlet uniqueId = 0;\n\n/** Possible states of the lifecycle of a dialog. */\nexport const enum MatDialogState {OPEN, CLOSING, CLOSED}\n\n/**\n * Reference to a dialog opened via the MatDialog service.\n */\nexport class MatDialogRef {\n /** The instance of component opened into the dialog. */\n componentInstance: T;\n\n /** Whether the user is allowed to close the dialog. */\n disableClose: boolean | undefined = this._containerInstance._config.disableClose;\n\n /** Subject for notifying the user that the dialog has finished opening. */\n private readonly _afterOpened = new Subject();\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private readonly _afterClosed = new Subject();\n\n /** Subject for notifying the user that the dialog has started closing. */\n private readonly _beforeClosed = new Subject();\n\n /** Result to be passed to afterClosed. */\n private _result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the exit animation doesn't fire. */\n private _closeFallbackTimeout: number;\n\n /** Current state of the dialog. */\n private _state = MatDialogState.OPEN;\n\n constructor(\n private _overlayRef: OverlayRef,\n public _containerInstance: _MatDialogContainerBase,\n readonly id: string = `mat-dialog-${uniqueId++}`) {\n\n // Pass the id along to the container.\n _containerInstance._id = id;\n\n // Emit when opening animation completes\n _containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'opened'),\n take(1)\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n _containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'closed'),\n take(1)\n ).subscribe(() => {\n clearTimeout(this._closeFallbackTimeout);\n this._finishDialogClose();\n });\n\n _overlayRef.detachments().subscribe(() => {\n this._beforeClosed.next(this._result);\n this._beforeClosed.complete();\n this._afterClosed.next(this._result);\n this._afterClosed.complete();\n this.componentInstance = null!;\n this._overlayRef.dispose();\n });\n\n _overlayRef.keydownEvents()\n .pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }))\n .subscribe(event => {\n event.preventDefault();\n _closeDialogVia(this, 'keyboard');\n });\n\n _overlayRef.backdropClick().subscribe(() => {\n if (this.disableClose) {\n this._containerInstance._recaptureFocus();\n } else {\n _closeDialogVia(this, 'mouse');\n }\n });\n }\n\n /**\n * Close the dialog.\n * @param dialogResult Optional result to return to the dialog opener.\n */\n close(dialogResult?: R): void {\n this._result = dialogResult;\n\n // Transition the backdrop in parallel to the dialog.\n this._containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'closing'),\n take(1)\n )\n .subscribe(event => {\n this._beforeClosed.next(dialogResult);\n this._beforeClosed.complete();\n this._overlayRef.detachBackdrop();\n\n // The logic that disposes of the overlay depends on the exit animation completing, however\n // it isn't guaranteed if the parent view is destroyed while it's running. Add a fallback\n // timeout which will clean everything up if the animation hasn't fired within the specified\n // amount of time plus 100ms. We don't need to run this outside the NgZone, because for the\n // vast majority of cases the timeout will have been cleared before it has the chance to fire.\n this._closeFallbackTimeout = setTimeout(() => this._finishDialogClose(),\n event.totalTime + 100);\n });\n\n this._state = MatDialogState.CLOSING;\n this._containerInstance._startExitAnimation();\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished opening.\n */\n afterOpened(): Observable {\n return this._afterOpened;\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable {\n return this._afterClosed;\n }\n\n /**\n * Gets an observable that is notified when the dialog has started closing.\n */\n beforeClosed(): Observable {\n return this._beforeClosed;\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable {\n return this._overlayRef.keydownEvents();\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: DialogPosition): this {\n let strategy = this._getPositionStrategy();\n\n if (position && (position.left || position.right)) {\n position.left ? strategy.left(position.left) : strategy.right(position.right);\n } else {\n strategy.centerHorizontally();\n }\n\n if (position && (position.top || position.bottom)) {\n position.top ? strategy.top(position.top) : strategy.bottom(position.bottom);\n } else {\n strategy.centerVertically();\n }\n\n this._overlayRef.updatePosition();\n\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSize(width: string = '', height: string = ''): this {\n this._getPositionStrategy().width(width).height(height);\n this._overlayRef.updatePosition();\n return this;\n }\n\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes: string | string[]): this {\n this._overlayRef.addPanelClass(classes);\n return this;\n }\n\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes: string | string[]): this {\n this._overlayRef.removePanelClass(classes);\n return this;\n }\n\n /** Gets the current state of the dialog's lifecycle. */\n getState(): MatDialogState {\n return this._state;\n }\n\n /**\n * Finishes the dialog close by updating the state of the dialog\n * and disposing the overlay.\n */\n private _finishDialogClose() {\n this._state = MatDialogState.CLOSED;\n this._overlayRef.dispose();\n }\n\n /** Fetches the position strategy object from the overlay ref. */\n private _getPositionStrategy(): GlobalPositionStrategy {\n return this._overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n }\n}\n\n/**\n * Closes the dialog with the specified interaction type. This is currently not part of\n * `MatDialogRef` as that would conflict with custom dialog ref mocks provided in tests.\n * More details. See: https://github.com/angular/components/pull/9257#issuecomment-651342226.\n */\n// TODO: TODO: Move this back into `MatDialogRef` when we provide an official mock dialog ref.\nexport function _closeDialogVia(ref: MatDialogRef, interactionType: FocusOrigin, result?: R) {\n // Some mock dialog ref instances in tests do not have the `_containerInstance` property.\n // For those, we keep the behavior as is and do not deal with the interaction type.\n if (ref._containerInstance !== undefined) {\n ref._containerInstance._closeInteractionType = interactionType;\n }\n return ref.close(result);\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\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, TemplatePortal} from '@angular/cdk/portal';\nimport {Location} from '@angular/common';\nimport {\n Directive,\n Inject,\n Injectable,\n InjectionToken,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n StaticProvider,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport {defer, Observable, of as observableOf, Subject} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatDialogConfig} from './dialog-config';\nimport {MatDialogContainer, _MatDialogContainerBase} from './dialog-container';\nimport {MatDialogRef} from './dialog-ref';\n\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const MAT_DIALOG_DATA = new InjectionToken('MatDialogData');\n\n/** Injection token that can be used to specify default dialog options. */\nexport const MAT_DIALOG_DEFAULT_OPTIONS =\n new InjectionToken('mat-dialog-default-options');\n\n/** Injection token that determines the scroll handling while the dialog is open. */\nexport const MAT_DIALOG_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mat-dialog-scroll-strategy');\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {\n provide: MAT_DIALOG_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * Base class for dialog services. The base dialog service allows\n * for arbitrary dialog refs and dialog container components.\n */\n@Directive()\nexport abstract class _MatDialogBase implements OnDestroy {\n private _openDialogsAtThisLevel: MatDialogRef[] = [];\n private readonly _afterAllClosedAtThisLevel = new Subject();\n private readonly _afterOpenedAtThisLevel = new Subject>();\n private _ariaHiddenElements = new Map();\n private _scrollStrategy: () => ScrollStrategy;\n\n /** Keeps track of the currently-open dialogs. */\n get openDialogs(): MatDialogRef[] {\n return this._parentDialog ? this._parentDialog.openDialogs : this._openDialogsAtThisLevel;\n }\n\n /** Stream that emits when a dialog has been opened. */\n get afterOpened(): Subject> {\n return this._parentDialog ? this._parentDialog.afterOpened : this._afterOpenedAtThisLevel;\n }\n\n _getAfterAllClosed(): Subject {\n const parent = this._parentDialog;\n return parent ? parent._getAfterAllClosed() : this._afterAllClosedAtThisLevel;\n }\n\n // TODO (jelbourn): tighten the typing right-hand side of this expression.\n /**\n * Stream that emits when all open dialog have finished closing.\n * Will emit on subscribe if there are no open dialogs to begin with.\n */\n readonly afterAllClosed: Observable = defer(() => this.openDialogs.length ?\n this._getAfterAllClosed() :\n this._getAfterAllClosed().pipe(startWith(undefined))) as Observable;\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n private _defaultOptions: MatDialogConfig|undefined,\n private _parentDialog: _MatDialogBase|undefined,\n private _overlayContainer: OverlayContainer,\n scrollStrategy: any,\n private _dialogRefConstructor: Type>,\n private _dialogContainerType: Type,\n private _dialogDataToken: InjectionToken) {\n this._scrollStrategy = scrollStrategy;\n }\n\n /**\n * Opens a modal dialog containing the given component.\n * @param component Type of the component to load into the dialog.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened dialog.\n */\n open(component: ComponentType,\n config?: MatDialogConfig): MatDialogRef;\n\n /**\n * Opens a modal dialog containing the given template.\n * @param template TemplateRef to instantiate as the dialog content.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened dialog.\n */\n open(template: TemplateRef,\n config?: MatDialogConfig): MatDialogRef;\n\n open(template: ComponentType | TemplateRef,\n config?: MatDialogConfig): MatDialogRef;\n\n open(componentOrTemplateRef: ComponentType | TemplateRef,\n config?: MatDialogConfig): MatDialogRef {\n config = _applyConfigDefaults(config, this._defaultOptions || new MatDialogConfig());\n\n if (config.id && this.getDialogById(config.id) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContent(componentOrTemplateRef,\n dialogContainer,\n overlayRef,\n config);\n\n // If this is the first dialog that we're opening, hide all the non-overlay content.\n if (!this.openDialogs.length) {\n this._hideNonDialogContentFromAssistiveTechnology();\n }\n\n this.openDialogs.push(dialogRef);\n dialogRef.afterClosed().subscribe(() => this._removeOpenDialog(dialogRef));\n this.afterOpened.next(dialogRef);\n\n // Notify the dialog container that the content has been attached.\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n /**\n * Closes all of the currently-open dialogs.\n */\n closeAll(): void {\n this._closeDialogs(this.openDialogs);\n }\n\n /**\n * Finds an open dialog by its id.\n * @param id ID to use when looking up the dialog.\n */\n getDialogById(id: string): MatDialogRef | undefined {\n return this.openDialogs.find(dialog => dialog.id === id);\n }\n\n ngOnDestroy() {\n // Only close the dialogs at this level on destroy\n // since the parent service may still be active.\n this._closeDialogs(this._openDialogsAtThisLevel);\n this._afterAllClosedAtThisLevel.complete();\n this._afterOpenedAtThisLevel.complete();\n }\n\n /**\n * Creates the overlay into which the dialog will be loaded.\n * @param config The dialog configuration.\n * @returns A promise resolving to the OverlayRef for the created overlay.\n */\n private _createOverlay(config: MatDialogConfig): OverlayRef {\n const overlayConfig = this._getOverlayConfig(config);\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an overlay config from a dialog config.\n * @param dialogConfig The dialog configuration.\n * @returns The overlay configuration.\n */\n private _getOverlayConfig(dialogConfig: MatDialogConfig): OverlayConfig {\n const state = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: dialogConfig.scrollStrategy || this._scrollStrategy(),\n panelClass: dialogConfig.panelClass,\n hasBackdrop: dialogConfig.hasBackdrop,\n direction: dialogConfig.direction,\n minWidth: dialogConfig.minWidth,\n minHeight: dialogConfig.minHeight,\n maxWidth: dialogConfig.maxWidth,\n maxHeight: dialogConfig.maxHeight,\n disposeOnNavigation: dialogConfig.closeOnNavigation\n });\n\n if (dialogConfig.backdropClass) {\n state.backdropClass = dialogConfig.backdropClass;\n }\n\n return state;\n }\n\n /**\n * Attaches a dialog container to a dialog's already-created overlay.\n * @param overlay Reference to the dialog's underlying overlay.\n * @param config The dialog configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n private _attachDialogContainer(overlay: OverlayRef, config: MatDialogConfig): C {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: MatDialogConfig, useValue: config}]\n });\n\n const containerPortal = new ComponentPortal(this._dialogContainerType,\n config.viewContainerRef, injector, config.componentFactoryResolver);\n const containerRef = overlay.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n /**\n * Attaches the user-provided component to the already-created dialog container.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping dialog container.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n private _attachDialogContent(\n componentOrTemplateRef: ComponentType | TemplateRef,\n dialogContainer: C,\n overlayRef: OverlayRef,\n config: MatDialogConfig): MatDialogRef {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n dialogContainer.attachTemplatePortal(\n new TemplatePortal(componentOrTemplateRef, null!,\n {$implicit: config.data, dialogRef}));\n } else {\n const injector = this._createInjector(config, dialogRef, dialogContainer);\n const contentRef = dialogContainer.attachComponentPortal(\n new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector));\n dialogRef.componentInstance = contentRef.instance;\n }\n\n dialogRef\n .updateSize(config.width, config.height)\n .updatePosition(config.position);\n\n return dialogRef;\n }\n\n /**\n * Creates a custom injector to be used inside the dialog. This allows a component loaded inside\n * of a dialog to close itself and, optionally, to return a value.\n * @param config Config object that is used to construct the dialog.\n * @param dialogRef Reference to the dialog.\n * @param dialogContainer Dialog container element that wraps all of the contents.\n * @returns The custom injector that can be used inside the dialog.\n */\n private _createInjector(\n config: MatDialogConfig,\n dialogRef: MatDialogRef,\n dialogContainer: C): Injector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The dialog container should be provided as the dialog container and the dialog's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the dialog\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n {provide: this._dialogContainerType, useValue: dialogContainer},\n {provide: this._dialogDataToken, useValue: config.data},\n {provide: this._dialogRefConstructor, useValue: dialogRef}\n ];\n\n if (config.direction &&\n (!userInjector || !userInjector.get(Directionality, null))) {\n providers.push({\n provide: Directionality,\n useValue: {value: config.direction, change: observableOf()}\n });\n }\n\n return Injector.create({parent: userInjector || this._injector, providers});\n }\n\n /**\n * Removes a dialog from the array of open dialogs.\n * @param dialogRef Dialog to be removed.\n */\n private _removeOpenDialog(dialogRef: MatDialogRef) {\n const index = this.openDialogs.indexOf(dialogRef);\n\n if (index > -1) {\n this.openDialogs.splice(index, 1);\n\n // If all the dialogs were closed, remove/restore the `aria-hidden`\n // to a the siblings and emit to the `afterAllClosed` stream.\n if (!this.openDialogs.length) {\n this._ariaHiddenElements.forEach((previousValue, element) => {\n if (previousValue) {\n element.setAttribute('aria-hidden', previousValue);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n\n this._ariaHiddenElements.clear();\n this._getAfterAllClosed().next();\n }\n }\n }\n\n /**\n * Hides all of the content that isn't an overlay from assistive technology.\n */\n private _hideNonDialogContentFromAssistiveTechnology() {\n const overlayContainer = this._overlayContainer.getContainerElement();\n\n // Ensure that the overlay container is attached to the DOM.\n if (overlayContainer.parentElement) {\n const siblings = overlayContainer.parentElement.children;\n\n for (let i = siblings.length - 1; i > -1; i--) {\n let sibling = siblings[i];\n\n if (sibling !== overlayContainer &&\n sibling.nodeName !== 'SCRIPT' &&\n sibling.nodeName !== 'STYLE' &&\n !sibling.hasAttribute('aria-live')) {\n\n this._ariaHiddenElements.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n }\n }\n }\n\n /** Closes all of the dialogs in an array. */\n private _closeDialogs(dialogs: MatDialogRef[]) {\n let i = dialogs.length;\n\n while (i--) {\n // The `_openDialogs` property isn't updated after close until the rxjs subscription\n // runs on the next microtask, in addition to modifying the array as we're going\n // through it. We loop through all of them and call close without assuming that\n // they'll be removed from the list instantaneously.\n dialogs[i].close();\n }\n }\n\n}\n\n/**\n * Service to open Material Design modal dialogs.\n */\n@Injectable()\nexport class MatDialog extends _MatDialogBase {\n constructor(\n overlay: Overlay,\n injector: Injector,\n /**\n * @deprecated `_location` parameter to be removed.\n * @breaking-change 10.0.0\n */\n @Optional() location: Location,\n @Optional() @Inject(MAT_DIALOG_DEFAULT_OPTIONS) defaultOptions: MatDialogConfig,\n @Inject(MAT_DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() parentDialog: MatDialog,\n overlayContainer: OverlayContainer) {\n super(overlay, injector, defaultOptions, parentDialog, overlayContainer, scrollStrategy,\n MatDialogRef, MatDialogContainer, MAT_DIALOG_DATA);\n }\n}\n\n/**\n * Applies default options to the dialog config.\n * @param config Config to be modified.\n * @param defaultOptions Default options provided.\n * @returns The new configuration object.\n */\nfunction _applyConfigDefaults(\n config?: MatDialogConfig, defaultOptions?: MatDialogConfig): MatDialogConfig {\n return {...defaultOptions, ...config};\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\nimport {\n Directive,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ElementRef,\n} from '@angular/core';\nimport {MatDialog} from './dialog';\nimport {_closeDialogVia, MatDialogRef} from './dialog-ref';\n\n/** Counter used to generate unique IDs for dialog elements. */\nlet dialogElementUid = 0;\n\n/**\n * Button that will close the current dialog.\n */\n@Directive({\n selector: '[mat-dialog-close], [matDialogClose]',\n exportAs: 'matDialogClose',\n host: {\n '(click)': '_onButtonClick($event)',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.type]': 'type',\n }\n})\nexport class MatDialogClose implements OnInit, OnChanges {\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string;\n\n /** Default to \"button\" to prevents accidental form submits. */\n @Input() type: 'submit' | 'button' | 'reset' = 'button';\n\n /** Dialog close input. */\n @Input('mat-dialog-close') dialogResult: any;\n\n @Input('matDialogClose') _matDialogClose: any;\n\n constructor(\n // The dialog title directive is always used in combination with a `MatDialogRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() public dialogRef: MatDialogRef,\n private _elementRef: ElementRef,\n private _dialog: MatDialog) {}\n\n ngOnInit() {\n if (!this.dialogRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.dialogRef = getClosestDialog(this._elementRef, this._dialog.openDialogs)!;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const proxiedChange = changes['_matDialogClose'] || changes['_matDialogCloseResult'];\n\n if (proxiedChange) {\n this.dialogResult = proxiedChange.currentValue;\n }\n }\n\n _onButtonClick(event: MouseEvent) {\n // Determinate the focus origin using the click event, because using the FocusMonitor will\n // result in incorrect origins. Most of the time, close buttons will be auto focused in the\n // dialog, and therefore clicking the button won't result in a focus change. This means that\n // the FocusMonitor won't detect any origin change, and will always output `program`.\n _closeDialogVia(this.dialogRef,\n event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);\n }\n}\n\n/**\n * Title of a dialog element. Stays fixed to the top of the dialog when scrolling.\n */\n@Directive({\n selector: '[mat-dialog-title], [matDialogTitle]',\n exportAs: 'matDialogTitle',\n host: {\n 'class': 'mat-dialog-title',\n '[id]': 'id',\n },\n})\nexport class MatDialogTitle implements OnInit {\n @Input() id: string = `mat-dialog-title-${dialogElementUid++}`;\n\n constructor(\n // The dialog title directive is always used in combination with a `MatDialogRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private _dialogRef: MatDialogRef,\n private _elementRef: ElementRef,\n private _dialog: MatDialog) {}\n\n ngOnInit() {\n if (!this._dialogRef) {\n this._dialogRef = getClosestDialog(this._elementRef, this._dialog.openDialogs)!;\n }\n\n if (this._dialogRef) {\n Promise.resolve().then(() => {\n const container = this._dialogRef._containerInstance;\n\n if (container && !container._ariaLabelledBy) {\n container._ariaLabelledBy = this.id;\n }\n });\n }\n }\n}\n\n\n/**\n * Scrollable content container of a dialog.\n */\n@Directive({\n selector: `[mat-dialog-content], mat-dialog-content, [matDialogContent]`,\n host: {'class': 'mat-dialog-content'}\n})\nexport class MatDialogContent {}\n\n\n/**\n * Container for the bottom action buttons in a dialog.\n * Stays fixed to the bottom when scrolling.\n */\n@Directive({\n selector: `[mat-dialog-actions], mat-dialog-actions, [matDialogActions]`,\n host: {'class': 'mat-dialog-actions'}\n})\nexport class MatDialogActions {}\n\n\n/**\n * Finds the closest MatDialogRef to an element by looking at the DOM.\n * @param element Element relative to which to look for a dialog.\n * @param openDialogs References to the currently-open dialogs.\n */\nfunction getClosestDialog(element: ElementRef, openDialogs: MatDialogRef[]) {\n let parent: HTMLElement | null = element.nativeElement.parentElement;\n\n while (parent && !parent.classList.contains('mat-dialog-container')) {\n parent = parent.parentElement;\n }\n\n return parent ? openDialogs.find(dialog => dialog.id === parent!.id) : null;\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\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MAT_DIALOG_SCROLL_STRATEGY_PROVIDER, MatDialog} from './dialog';\nimport {MatDialogContainer} from './dialog-container';\nimport {\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogTitle,\n} from './dialog-content-directives';\n\n\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n MatCommonModule,\n ],\n exports: [\n MatDialogContainer,\n MatDialogClose,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatCommonModule,\n ],\n declarations: [\n MatDialogContainer,\n MatDialogClose,\n MatDialogTitle,\n MatDialogActions,\n MatDialogContent,\n ],\n providers: [\n MatDialog,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,\n ],\n entryComponents: [MatDialogContainer],\n})\nexport class MatDialogModule {}\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\nexport * from './dialog-module';\nexport * from './dialog';\nexport * from './dialog-container';\nexport * from './dialog-content-directives';\nexport * from './dialog-config';\nexport * from './dialog-ref';\nexport * from './dialog-animations';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","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 baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","import createWrap from './_createWrap.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nexport default curry;\n","import arrayMap from './_arrayMap.js';\nimport baseIntersection from './_baseIntersection.js';\nimport baseRest from './_baseRest.js';\nimport castArrayLikeObject from './_castArrayLikeObject.js';\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nexport default intersection;\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","import arrayEach from './_arrayEach.js';\nimport arrayPush from './_arrayPush.js';\nimport baseFunctions from './_baseFunctions.js';\nimport copyArray from './_copyArray.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport keys from './keys.js';\n\n/**\n * Adds all own enumerable string keyed function properties of a source\n * object to the destination object. If `object` is a function, then methods\n * are added to its prototype as well.\n *\n * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n * avoid conflicts caused by modifying the original.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {Function|Object} [object=lodash] The destination object.\n * @param {Object} source The object of functions to add.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n * @returns {Function|Object} Returns `object`.\n * @example\n *\n * function vowels(string) {\n * return _.filter(string, function(v) {\n * return /[aeiou]/i.test(v);\n * });\n * }\n *\n * _.mixin({ 'vowels': vowels });\n * _.vowels('fred');\n * // => ['e']\n *\n * _('fred').vowels().value();\n * // => ['e']\n *\n * _.mixin({ 'vowels': vowels }, { 'chain': false });\n * _('fred').vowels();\n * // => ['e']\n */\nfunction mixin(object, source, options) {\n var props = keys(source),\n methodNames = baseFunctions(source, props);\n\n var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n isFunc = isFunction(object);\n\n arrayEach(methodNames, function(methodName) {\n var func = source[methodName];\n object[methodName] = func;\n if (isFunc) {\n object.prototype[methodName] = function() {\n var chainAll = this.__chain__;\n if (chain || chainAll) {\n var result = object(this.__wrapped__),\n actions = result.__actions__ = copyArray(this.__actions__);\n\n actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n result.__chain__ = chainAll;\n return result;\n }\n return func.apply(object, arrayPush([this.value()], arguments));\n };\n }\n });\n\n return object;\n}\n\nexport default mixin;\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import apply from './_apply.js';\nimport baseRest from './_baseRest.js';\nimport customDefaultsMerge from './_customDefaultsMerge.js';\nimport mergeWith from './mergeWith.js';\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\nexport default defaultsDeep;\n","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 arraySample from './_arraySample.js';\nimport baseSample from './_baseSample.js';\nimport isArray from './isArray.js';\n\n/**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\nfunction sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n}\n\nexport default sample;\n","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","import baseOrderBy from './_baseOrderBy.js';\nimport isArray from './isArray.js';\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nexport default orderBy;\n","/**\n * This method returns `true`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `true`.\n * @example\n *\n * _.times(2, _.stubTrue);\n * // => [true, true]\n */\nfunction stubTrue() {\n return true;\n}\n\nexport default stubTrue;\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","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nexport default baseIsRegExp;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import {NgZone} from '@angular/core';\r\nimport {Observable, OperatorFunction} from 'rxjs';\r\n\r\nexport function toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n}\r\n\r\nexport function toString(value: any): string {\r\n return (value !== undefined && value !== null) ? `${value}` : '';\r\n}\r\n\r\nexport function getValueInRange(value: number, max: number, min = 0): number {\r\n return Math.max(Math.min(value, max), min);\r\n}\r\n\r\nexport function isString(value: any): value is string {\r\n return typeof value === 'string';\r\n}\r\n\r\nexport function isNumber(value: any): value is number {\r\n return !isNaN(toInteger(value));\r\n}\r\n\r\nexport function isInteger(value: any): value is number {\r\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\r\n}\r\n\r\nexport function isDefined(value: any): boolean {\r\n return value !== undefined && value !== null;\r\n}\r\n\r\nexport function padNumber(value: number) {\r\n if (isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return '';\r\n }\r\n}\r\n\r\nexport function regExpEscape(text) {\r\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\r\n}\r\n\r\nexport function hasClassName(element: any, className: string): boolean {\r\n return element && element.className && element.className.split &&\r\n element.className.split(/\\s+/).indexOf(className) >= 0;\r\n}\r\n\r\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\r\n // Polyfill for ie10+\r\n\r\n if (!Element.prototype.matches) {\r\n // IE uses the non-standard name: msMatchesSelector\r\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n }\r\n\r\n Element.prototype.closest = function(s: string) {\r\n let el = this;\r\n if (!document.documentElement.contains(el)) {\r\n return null;\r\n }\r\n do {\r\n if (el.matches(s)) {\r\n return el;\r\n }\r\n el = el.parentElement || el.parentNode;\r\n } while (el !== null && el.nodeType === 1);\r\n return null;\r\n };\r\n}\r\n\r\nexport function closest(element: HTMLElement, selector?: string): HTMLElement | null {\r\n if (!selector) {\r\n return null;\r\n }\r\n\r\n /*\r\n * In certain browsers (e.g. Edge 44.18362.449.0) HTMLDocument does\r\n * not support `Element.prototype.closest`. To emulate the correct behaviour\r\n * we return null when the method is missing.\r\n *\r\n * Note that in evergreen browsers `closest(document.documentElement, 'html')`\r\n * will return the document element whilst in Edge null will be returned. This\r\n * compromise was deemed good enough.\r\n */\r\n if (typeof element.closest === 'undefined') {\r\n return null;\r\n }\r\n\r\n return element.closest(selector);\r\n}\r\n\r\n/**\r\n * Force a browser reflow\r\n * @param element element where to apply the reflow\r\n */\r\nexport function reflow(element: HTMLElement) {\r\n return (element || document.body).getBoundingClientRect();\r\n}\r\n\r\n/**\r\n * Creates an observable where all callbacks are executed inside a given zone\r\n *\r\n * @param zone\r\n */\r\nexport function runInZone(zone: NgZone): OperatorFunction {\r\n return (source) => {\r\n return new Observable(observer => {\r\n const onNext = (value: T) => zone.run(() => observer.next(value));\r\n const onError = (e: any) => zone.run(() => observer.error(e));\r\n const onComplete = () => zone.run(() => observer.complete());\r\n return source.subscribe(onNext, onError, onComplete);\r\n });\r\n };\r\n}\r\n\r\nexport function removeAccents(str: string): string {\r\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n}\r\n","export const environment = {\r\n animation: true,\r\n transitionTimerDelayMs: 5,\r\n};\r\n","import {Injectable} from '@angular/core';\r\nimport {environment} from './environment';\r\n\r\n/**\r\n * Global ng-bootstrap config\r\n *\r\n * @since 8.0.0\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbConfig {\r\n animation = environment.animation;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize its properties\r\n * to provide default values for all accordions used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbAccordionConfig {\r\n closeOthers = false;\r\n type: string;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","export function getTransitionDurationMs(element: HTMLElement) {\r\n const {transitionDelay, transitionDuration} = window.getComputedStyle(element);\r\n const transitionDelaySec = parseFloat(transitionDelay);\r\n const transitionDurationSec = parseFloat(transitionDuration);\r\n\r\n return (transitionDelaySec + transitionDurationSec) * 1000;\r\n}\r\n","import {NgZone} from '@angular/core';\r\nimport {EMPTY, fromEvent, Observable, of, race, Subject, timer} from 'rxjs';\r\nimport {endWith, filter, takeUntil} from 'rxjs/operators';\r\nimport {getTransitionDurationMs} from './util';\r\nimport {environment} from '../../environment';\r\nimport {runInZone} from '../util';\r\n\r\nexport type NgbTransitionStartFn = (element: HTMLElement, animation: boolean, context: T) =>\r\n NgbTransitionEndFn | void;\r\nexport type NgbTransitionEndFn = () => void;\r\n\r\nexport interface NgbTransitionOptions {\r\n animation: boolean;\r\n runningTransition: 'continue' | 'stop';\r\n context?: T;\r\n}\r\n\r\nexport interface NgbTransitionCtx {\r\n transition$: Subject;\r\n complete: () => void;\r\n context: T;\r\n}\r\n\r\nconst noopFn: NgbTransitionEndFn = () => {};\r\n\r\nconst {transitionTimerDelayMs} = environment;\r\nconst runningTransitions = new Map>();\r\n\r\nexport const ngbRunTransition =\r\n (zone: NgZone, element: HTMLElement, startFn: NgbTransitionStartFn, options: NgbTransitionOptions):\r\n Observable => {\r\n\r\n // Getting initial context from options\r\n let context = options.context || {};\r\n\r\n // Checking if there are already running transitions on the given element.\r\n const running = runningTransitions.get(element);\r\n if (running) {\r\n switch (options.runningTransition) {\r\n // If there is one running and we want for it to 'continue' to run, we have to cancel the new one.\r\n // We're not emitting any values, but simply completing the observable (EMPTY).\r\n case 'continue':\r\n return EMPTY;\r\n // If there is one running and we want for it to 'stop', we have to complete the running one.\r\n // We're simply completing the running one and not emitting any values and merging newly provided context\r\n // with the one coming from currently running transition.\r\n case 'stop':\r\n zone.run(() => running.transition$.complete());\r\n context = Object.assign(running.context, context);\r\n runningTransitions.delete(element);\r\n }\r\n }\r\n\r\n // Running the start function\r\n const endFn = startFn(element, options.animation, context) || noopFn;\r\n\r\n // If 'prefer-reduced-motion' is enabled, the 'transition' will be set to 'none'.\r\n // If animations are disabled, we have to emit a value and complete the observable\r\n // In this case we have to call the end function, but can finish immediately by emitting a value,\r\n // completing the observable and executing end functions synchronously.\r\n if (!options.animation || window.getComputedStyle(element).transitionProperty === 'none') {\r\n zone.run(() => endFn());\r\n return of(undefined).pipe(runInZone(zone));\r\n }\r\n\r\n // Starting a new transition\r\n const transition$ = new Subject();\r\n const finishTransition$ = new Subject();\r\n const stop$ = transition$.pipe(endWith(true));\r\n runningTransitions.set(element, {\r\n transition$,\r\n complete: () => {\r\n finishTransition$.next();\r\n finishTransition$.complete();\r\n },\r\n context\r\n });\r\n\r\n const transitionDurationMs = getTransitionDurationMs(element);\r\n\r\n // 1. We have to both listen for the 'transitionend' event and have a 'just-in-case' timer,\r\n // because 'transitionend' event might not be fired in some browsers, if the transitioning\r\n // element becomes invisible (ex. when scrolling, making browser tab inactive, etc.). The timer\r\n // guarantees, that we'll release the DOM element and complete 'ngbRunTransition'.\r\n // 2. We need to filter transition end events, because they might bubble from shorter transitions\r\n // on inner DOM elements. We're only interested in the transition on the 'element' itself.\r\n zone.runOutsideAngular(() => {\r\n const transitionEnd$ =\r\n fromEvent(element, 'transitionend').pipe(takeUntil(stop$), filter(({target}) => target === element));\r\n const timer$ = timer(transitionDurationMs + transitionTimerDelayMs).pipe(takeUntil(stop$));\r\n\r\n race(timer$, transitionEnd$, finishTransition$).pipe(takeUntil(stop$)).subscribe(() => {\r\n runningTransitions.delete(element);\r\n zone.run(() => {\r\n endFn();\r\n transition$.next();\r\n transition$.complete();\r\n });\r\n });\r\n });\r\n\r\n return transition$.asObservable();\r\n };\r\n\r\nexport const ngbCompleteTransition = (element: HTMLElement) => {\r\n runningTransitions.get(element) ?.complete();\r\n};\r\n","import {NgbTransitionStartFn} from './ngbTransition';\r\nimport {reflow} from '../util';\r\n\r\nexport interface NgbCollapseCtx {\r\n direction: 'show' | 'hide';\r\n maxHeight?: string;\r\n}\r\n\r\nfunction measureCollapsingElementHeightPx(element: HTMLElement): string {\r\n // SSR fix for without injecting the PlatformId\r\n if (typeof navigator === 'undefined') {\r\n return '0px';\r\n }\r\n\r\n const {classList} = element;\r\n const hasShownClass = classList.contains('show');\r\n if (!hasShownClass) {\r\n classList.add('show');\r\n }\r\n\r\n element.style.height = '';\r\n const height = element.getBoundingClientRect().height + 'px';\r\n\r\n if (!hasShownClass) {\r\n classList.remove('show');\r\n }\r\n\r\n return height;\r\n}\r\n\r\nexport const ngbCollapsingTransition: NgbTransitionStartFn =\r\n (element: HTMLElement, animation: boolean, context: NgbCollapseCtx) => {\r\n let {direction, maxHeight} = context;\r\n const {classList} = element;\r\n\r\n function setInitialClasses() {\r\n classList.add('collapse');\r\n if (direction === 'show') {\r\n classList.add('show');\r\n } else {\r\n classList.remove('show');\r\n }\r\n }\r\n\r\n // without animations we just need to set initial classes\r\n if (!animation) {\r\n setInitialClasses();\r\n return;\r\n }\r\n\r\n // No maxHeight -> running the transition for the first time\r\n if (!maxHeight) {\r\n maxHeight = measureCollapsingElementHeightPx(element);\r\n context.maxHeight = maxHeight;\r\n\r\n // Fix the height before starting the animation\r\n element.style.height = direction !== 'show' ? maxHeight : '0px';\r\n\r\n classList.remove('collapse');\r\n classList.remove('collapsing');\r\n classList.remove('show');\r\n\r\n reflow(element);\r\n\r\n // Start the animation\r\n classList.add('collapsing');\r\n }\r\n\r\n // Start or revert the animation\r\n element.style.height = direction === 'show' ? maxHeight : '0px';\r\n\r\n return () => {\r\n setInitialClasses();\r\n classList.remove('collapsing');\r\n element.style.height = '';\r\n };\r\n };\r\n","import {\r\n AfterContentChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Host,\r\n Input,\r\n Optional,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n NgZone,\r\n} from '@angular/core';\r\n\r\nimport {isString} from '../util/util';\r\n\r\nimport {NgbAccordionConfig} from './accordion-config';\r\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\r\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\r\nimport {take} from 'rxjs/operators';\r\n\r\nlet nextId = 0;\r\n\r\n/**\r\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\r\n *\r\n * @since 4.1.0\r\n */\r\nexport interface NgbPanelHeaderContext {\r\n /**\r\n * `True` if current panel is opened\r\n */\r\n opened: boolean;\r\n}\r\n\r\n/**\r\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\r\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\r\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\r\n *\r\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\r\nexport class NgbPanelHeader {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive that wraps only the panel title with HTML markup inside.\r\n *\r\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\r\n */\r\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\r\nexport class NgbPanelTitle {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive that wraps the accordion panel content.\r\n */\r\n@Directive({selector: 'ng-template[ngbPanelContent]'})\r\nexport class NgbPanelContent {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive that wraps an individual accordion panel with title and collapsible content.\r\n */\r\n@Directive({selector: 'ngb-panel'})\r\nexport class NgbPanel implements AfterContentChecked {\r\n /**\r\n * If `true`, the panel is disabled an can't be toggled.\r\n */\r\n @Input() disabled = false;\r\n\r\n /**\r\n * An optional id for the panel that must be unique on the page.\r\n *\r\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\r\n */\r\n @Input() id = `ngb-panel-${nextId++}`;\r\n\r\n isOpen = false;\r\n\r\n /* A flag to specified that the transition panel classes have been initialized */\r\n initClassDone = false;\r\n\r\n /* A flag to specified if the panel is currently being animated, to ensure its presence in the dom */\r\n transitionRunning = false;\r\n\r\n /**\r\n * The panel title.\r\n *\r\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\r\n */\r\n @Input() title: string;\r\n\r\n /**\r\n * Type of the current panel.\r\n *\r\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\r\n * `'secondary'`, `'light'` and `'dark'`.\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * An optional class applied to the accordion card element that wraps both panel title and content.\r\n *\r\n * @since 5.3.0\r\n */\r\n @Input() cardClass: string;\r\n\r\n /**\r\n * An event emitted when the panel is shown, after the transition. It has no payload.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the panel is hidden, after the transition. It has no payload.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n\r\n titleTpl: NgbPanelTitle;\r\n headerTpl: NgbPanelHeader;\r\n contentTpl: NgbPanelContent;\r\n\r\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\r\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\r\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\r\n\r\n ngAfterContentChecked() {\r\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\r\n // only @ContentChildren allows us to specify the {descendants: false} option.\r\n // Without {descendants: false} we are hitting bugs described in:\r\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\r\n this.titleTpl = this.titleTpls.first;\r\n this.headerTpl = this.headerTpls.first;\r\n this.contentTpl = this.contentTpls.first;\r\n }\r\n}\r\n\r\n/**\r\n * An event emitted right before toggling an accordion panel.\r\n */\r\nexport interface NgbPanelChangeEvent {\r\n /**\r\n * The id of the accordion panel being toggled.\r\n */\r\n panelId: string;\r\n\r\n /**\r\n * The next state of the panel.\r\n *\r\n * `true` if it will be opened, `false` if closed.\r\n */\r\n nextState: boolean;\r\n\r\n /**\r\n * Calling this function will prevent panel toggling.\r\n */\r\n preventDefault: () => void;\r\n}\r\n\r\n/**\r\n * Accordion is a collection of collapsible panels (bootstrap cards).\r\n *\r\n * It can ensure only one panel is opened at a time and allows to customize panel\r\n * headers.\r\n */\r\n@Component({\r\n selector: 'ngb-accordion',\r\n exportAs: 'ngbAccordion',\r\n encapsulation: ViewEncapsulation.None,\r\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\r\n template: `\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class NgbAccordion implements AfterContentChecked {\r\n @ContentChildren(NgbPanel) panels: QueryList;\r\n\r\n /**\r\n * If `true`, accordion will be animated.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation;\r\n\r\n /**\r\n * An array or comma separated strings of panel ids that should be opened **initially**.\r\n *\r\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\r\n * the `(panelChange)` event.\r\n */\r\n @Input() activeIds: string | readonly string[] = [];\r\n\r\n /**\r\n * If `true`, only one panel could be opened at a time.\r\n *\r\n * Opening a new panel will close others.\r\n */\r\n @Input('closeOthers') closeOtherPanels: boolean;\r\n\r\n /**\r\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\r\n */\r\n @Input() destroyOnHide = true;\r\n\r\n /**\r\n * Type of panels.\r\n *\r\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\r\n * `'secondary'`, `'light'` and `'dark'`.\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * Event emitted right before the panel toggle happens.\r\n *\r\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\r\n */\r\n @Output() panelChange = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the expanding animation is finished on the panel. The payload is the panel id.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the collapsing animation is finished on the panel, and before the panel element is removed.\r\n * The payload is the panel id.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n constructor(\r\n config: NgbAccordionConfig, private _element: ElementRef, private _ngZone: NgZone,\r\n private _changeDetector: ChangeDetectorRef) {\r\n this.animation = config.animation;\r\n this.type = config.type;\r\n this.closeOtherPanels = config.closeOthers;\r\n }\r\n\r\n /**\r\n * Checks if a panel with a given id is expanded.\r\n */\r\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\r\n\r\n /**\r\n * Expands a panel with a given id.\r\n *\r\n * Has no effect if the panel is already expanded or disabled.\r\n */\r\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\r\n\r\n /**\r\n * Expands all panels, if `[closeOthers]` is `false`.\r\n *\r\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\r\n */\r\n expandAll(): void {\r\n if (this.closeOtherPanels) {\r\n if (this.activeIds.length === 0 && this.panels.length) {\r\n this._changeOpenState(this.panels.first, true);\r\n }\r\n } else {\r\n this.panels.forEach(panel => this._changeOpenState(panel, true));\r\n }\r\n }\r\n\r\n /**\r\n * Collapses a panel with the given id.\r\n *\r\n * Has no effect if the panel is already collapsed or disabled.\r\n */\r\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\r\n\r\n /**\r\n * Collapses all opened panels.\r\n */\r\n collapseAll() {\r\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\r\n }\r\n\r\n /**\r\n * Toggles a panel with the given id.\r\n *\r\n * Has no effect if the panel is disabled.\r\n */\r\n toggle(panelId: string) {\r\n const panel = this._findPanelById(panelId);\r\n if (panel) {\r\n this._changeOpenState(panel, !panel.isOpen);\r\n }\r\n }\r\n\r\n ngAfterContentChecked() {\r\n // active id updates\r\n if (isString(this.activeIds)) {\r\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\r\n }\r\n\r\n // update panels open states\r\n this.panels.forEach(panel => { panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1; });\r\n\r\n // closeOthers updates\r\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\r\n this._closeOthers(this.activeIds[0], false);\r\n this._updateActiveIds();\r\n }\r\n\r\n // Setup the initial classes here\r\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\r\n this.panels.forEach(panel => {\r\n const panelElement = this._getPanelElement(panel.id);\r\n if (panelElement) {\r\n if (!panel.initClassDone) {\r\n panel.initClassDone = true;\r\n ngbRunTransition(this._ngZone, panelElement, ngbCollapsingTransition, {\r\n animation: false,\r\n runningTransition: 'continue',\r\n context: {direction: panel.isOpen ? 'show' : 'hide'}\r\n });\r\n }\r\n } else {\r\n // Classes must be initialized next time it will be in the dom\r\n panel.initClassDone = false;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _changeOpenState(panel: NgbPanel | null, nextState: boolean) {\r\n if (panel != null && !panel.disabled && panel.isOpen !== nextState) {\r\n let defaultPrevented = false;\r\n\r\n this.panelChange.emit(\r\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\r\n\r\n if (!defaultPrevented) {\r\n panel.isOpen = nextState;\r\n panel.transitionRunning = true;\r\n\r\n if (nextState && this.closeOtherPanels) {\r\n this._closeOthers(panel.id);\r\n }\r\n this._updateActiveIds();\r\n this._runTransitions(this.animation);\r\n }\r\n }\r\n }\r\n\r\n private _closeOthers(panelId: string, enableTransition = true) {\r\n this.panels.forEach(panel => {\r\n if (panel.id !== panelId && panel.isOpen) {\r\n panel.isOpen = false;\r\n panel.transitionRunning = enableTransition;\r\n }\r\n });\r\n }\r\n\r\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId) || null; }\r\n\r\n private _updateActiveIds() {\r\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\r\n }\r\n\r\n private _runTransitions(animation: boolean) {\r\n // detectChanges is performed to ensure that all panels are in the dom (via transitionRunning = true)\r\n // before starting the animation\r\n this._changeDetector.detectChanges();\r\n\r\n this.panels.forEach(panel => {\r\n // When panel.transitionRunning is true, the transition needs to be started OR reversed,\r\n // The direction (show or hide) is choosen by each panel.isOpen state\r\n if (panel.transitionRunning) {\r\n const panelElement = this._getPanelElement(panel.id);\r\n ngbRunTransition(this._ngZone, panelElement !, ngbCollapsingTransition, {\r\n animation,\r\n runningTransition: 'stop',\r\n context: {direction: panel.isOpen ? 'show' : 'hide'}\r\n }).subscribe(() => {\r\n panel.transitionRunning = false;\r\n const {id} = panel;\r\n if (panel.isOpen) {\r\n panel.shown.emit();\r\n this.shown.emit(id);\r\n } else {\r\n panel.hidden.emit();\r\n this.hidden.emit(id);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private _getPanelElement(panelId: string): HTMLElement | null {\r\n return this._element.nativeElement.querySelector('#' + panelId);\r\n }\r\n}\r\n\r\n/**\r\n * A directive to put on a button that toggles panel opening and closing.\r\n *\r\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({\r\n selector: 'button[ngbPanelToggle]',\r\n host: {\r\n 'type': 'button',\r\n '[disabled]': 'panel.disabled',\r\n '[class.collapsed]': '!panel.isOpen',\r\n '[attr.aria-expanded]': 'panel.isOpen',\r\n '[attr.aria-controls]': 'panel.id',\r\n '(click)': 'accordion.toggle(panel.id)'\r\n }\r\n})\r\nexport class NgbPanelToggle {\r\n static ngAcceptInputType_ngbPanelToggle: NgbPanel | '';\r\n\r\n @Input()\r\n set ngbPanelToggle(panel: NgbPanel) {\r\n if (panel) {\r\n this.panel = panel;\r\n }\r\n }\r\n\r\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\r\n\r\nexport {\r\n NgbAccordion,\r\n NgbPanel,\r\n NgbPanelTitle,\r\n NgbPanelContent,\r\n NgbPanelChangeEvent,\r\n NgbPanelHeader,\r\n NgbPanelHeaderContext,\r\n NgbPanelToggle\r\n} from './accordion';\r\nexport {NgbAccordionConfig} from './accordion-config';\r\n\r\nconst NGB_ACCORDION_DIRECTIVES =\r\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\r\n\r\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\r\nexport class NgbAccordionModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize its properties\r\n * to provide default values for all alerts used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbAlertConfig {\r\n dismissible = true;\r\n type = 'warning';\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\r\n\r\nexport const ngbAlertFadingTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\r\n classList.remove('show');\r\n};\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n ElementRef,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n NgZone\r\n} from '@angular/core';\r\n\r\nimport {Observable} from 'rxjs';\r\n\r\nimport {NgbAlertConfig} from './alert-config';\r\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\r\nimport {ngbAlertFadingTransition} from './alert-transition';\r\n\r\n/**\r\n * Alert is a component to provide contextual feedback messages for user.\r\n *\r\n * It supports several alert types and can be dismissed.\r\n */\r\n@Component({\r\n selector: 'ngb-alert',\r\n exportAs: 'ngbAlert',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host:\r\n {'role': 'alert', 'class': 'alert show', '[class.fade]': 'animation', '[class.alert-dismissible]': 'dismissible'},\r\n template: `\r\n \r\n \r\n `,\r\n styleUrls: ['./alert.scss']\r\n})\r\nexport class NgbAlert implements OnInit,\r\n OnChanges {\r\n /**\r\n * If `true`, alert closing will be animated.\r\n *\r\n * Animation is triggered only when clicked on the close button (×)\r\n * or via the `.close()` function\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n /**\r\n * If `true`, alert can be dismissed by the user.\r\n *\r\n * The close button (×) will be displayed and you can be notified\r\n * of the event with the `(close)` output.\r\n */\r\n @Input() dismissible: boolean;\r\n\r\n /**\r\n * Type of the alert.\r\n *\r\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\r\n * `'secondary'`, `'light'` and `'dark'`.\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() closed = new EventEmitter();\r\n\r\n\r\n constructor(\r\n config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef, private _zone: NgZone) {\r\n this.dismissible = config.dismissible;\r\n this.type = config.type;\r\n this.animation = config.animation;\r\n }\r\n\r\n /**\r\n * Triggers alert closing programmatically (same as clicking on the close button (×)).\r\n *\r\n * The returned observable will emit and be completed once the closing transition has finished.\r\n * If the animations are turned off this happens synchronously.\r\n *\r\n * Alternatively you could listen or subscribe to the `(closed)` output\r\n *\r\n * @since 8.0.0\r\n */\r\n close(): Observable {\r\n const transition = ngbRunTransition(\r\n this._zone, this._element.nativeElement, ngbAlertFadingTransition,\r\n {animation: this.animation, runningTransition: 'continue'});\r\n transition.subscribe(() => this.closed.emit());\r\n return transition;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const typeChange = changes['type'];\r\n if (typeChange && !typeChange.firstChange) {\r\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\r\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\r\n }\r\n }\r\n\r\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbAlert} from './alert';\r\n\r\nexport {NgbAlert} from './alert';\r\nexport {NgbAlertConfig} from './alert-config';\r\n\r\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\r\nexport class NgbAlertModule {\r\n}\r\n","import {Directive} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ngbButtonLabel]',\r\n host:\r\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\r\n})\r\nexport class NgbButtonLabel {\r\n active: boolean;\r\n disabled: boolean;\r\n focused: boolean;\r\n}\r\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\nimport {NgbButtonLabel} from './label';\r\n\r\n/**\r\n * Allows to easily create Bootstrap-style checkbox buttons.\r\n *\r\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\r\n * either in a reactive or template-driven way.\r\n */\r\n@Directive({\r\n selector: '[ngbButton][type=checkbox]',\r\n host: {\r\n '[checked]': 'checked',\r\n '[disabled]': 'disabled',\r\n '(change)': 'onInputChange($event)',\r\n '(focus)': 'focused = true',\r\n '(blur)': 'focused = false'\r\n },\r\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbCheckBox), multi: true}]\r\n})\r\nexport class NgbCheckBox implements ControlValueAccessor {\r\n static ngAcceptInputType_disabled: boolean | '';\r\n\r\n checked;\r\n\r\n /**\r\n * If `true`, the checkbox button will be disabled\r\n */\r\n @Input() disabled = false;\r\n\r\n /**\r\n * The form control value when the checkbox is checked.\r\n */\r\n @Input() valueChecked = true;\r\n\r\n /**\r\n * The form control value when the checkbox is unchecked.\r\n */\r\n @Input() valueUnChecked = false;\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n set focused(isFocused: boolean) {\r\n this._label.focused = isFocused;\r\n if (!isFocused) {\r\n this.onTouched();\r\n }\r\n }\r\n\r\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\r\n\r\n onInputChange($event) {\r\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\r\n this.onChange(modelToPropagate);\r\n this.onTouched();\r\n this.writeValue(modelToPropagate);\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this._label.disabled = isDisabled;\r\n }\r\n\r\n writeValue(value) {\r\n this.checked = value === this.valueChecked;\r\n this._label.active = this.checked;\r\n\r\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\r\n this._cd.markForCheck();\r\n }\r\n}\r\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\nimport {NgbButtonLabel} from './label';\r\n\r\nlet nextId = 0;\r\n\r\n/**\r\n * Allows to easily create Bootstrap-style radio buttons.\r\n *\r\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\r\n * either in a reactive or template-driven way.\r\n */\r\n@Directive({\r\n selector: '[ngbRadioGroup]',\r\n host: {'role': 'radiogroup'},\r\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRadioGroup), multi: true}]\r\n})\r\nexport class NgbRadioGroup implements ControlValueAccessor {\r\n private _radios: Set = new Set();\r\n private _value = null;\r\n private _disabled: boolean;\r\n\r\n get disabled() { return this._disabled; }\r\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\r\n\r\n /**\r\n * Name of the radio group applied to radio input elements.\r\n *\r\n * Will be applied to all radio input elements inside the group,\r\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\r\n *\r\n * If not provided, will be generated in the `ngb-radio-xx` format.\r\n */\r\n @Input() name = `ngb-radio-${nextId++}`;\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n onRadioChange(radio: NgbRadio) {\r\n this.writeValue(radio.value);\r\n this.onChange(radio.value);\r\n }\r\n\r\n onRadioValueUpdate() { this._updateRadiosValue(); }\r\n\r\n register(radio: NgbRadio) { this._radios.add(radio); }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n this._updateRadiosDisabled();\r\n }\r\n\r\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\r\n\r\n writeValue(value) {\r\n this._value = value;\r\n this._updateRadiosValue();\r\n }\r\n\r\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\r\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\r\n}\r\n\r\n\r\n/**\r\n * A directive that marks an input of type \"radio\" as a part of the\r\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\r\n */\r\n@Directive({\r\n selector: '[ngbButton][type=radio]',\r\n host: {\r\n '[checked]': 'checked',\r\n '[disabled]': 'disabled',\r\n '[name]': 'nameAttr',\r\n '(change)': 'onChange()',\r\n '(focus)': 'focused = true',\r\n '(blur)': 'focused = false'\r\n }\r\n})\r\nexport class NgbRadio implements OnDestroy {\r\n static ngAcceptInputType_disabled: boolean | '';\r\n\r\n private _checked: boolean;\r\n private _disabled: boolean;\r\n private _value: any = null;\r\n\r\n /**\r\n * The value for the 'name' property of the input element.\r\n *\r\n * All inputs of the radio group should have the same name. If not specified,\r\n * the name of the enclosing group is used.\r\n */\r\n @Input() name: string;\r\n\r\n /**\r\n * The form control value when current radio button is checked.\r\n */\r\n @Input('value')\r\n set value(value: any) {\r\n this._value = value;\r\n const stringValue = value ? value.toString() : '';\r\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\r\n this._group.onRadioValueUpdate();\r\n }\r\n\r\n /**\r\n * If `true`, current radio button will be disabled.\r\n */\r\n @Input('disabled')\r\n set disabled(isDisabled: boolean) {\r\n this._disabled = isDisabled !== false;\r\n this.updateDisabled();\r\n }\r\n\r\n set focused(isFocused: boolean) {\r\n if (this._label) {\r\n this._label.focused = isFocused;\r\n }\r\n if (!isFocused) {\r\n this._group.onTouched();\r\n }\r\n }\r\n\r\n get checked() { return this._checked; }\r\n\r\n get disabled() { return this._group.disabled || this._disabled; }\r\n\r\n get value() { return this._value; }\r\n\r\n get nameAttr() { return this.name || this._group.name; }\r\n\r\n constructor(\r\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\r\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\r\n this._group.register(this);\r\n this.updateDisabled();\r\n }\r\n\r\n ngOnDestroy() { this._group.unregister(this); }\r\n\r\n onChange() { this._group.onRadioChange(this); }\r\n\r\n updateValue(value) {\r\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\r\n if (this.value !== value) {\r\n this._cd.markForCheck();\r\n }\r\n\r\n this._checked = this.value === value;\r\n this._label.active = this._checked;\r\n }\r\n\r\n updateDisabled() { this._label.disabled = this.disabled; }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {NgbButtonLabel} from './label';\r\nimport {NgbCheckBox} from './checkbox';\r\nimport {NgbRadio, NgbRadioGroup} from './radio';\r\n\r\nexport {NgbButtonLabel} from './label';\r\nexport {NgbCheckBox} from './checkbox';\r\nexport {NgbRadio, NgbRadioGroup} from './radio';\r\n\r\n\r\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\r\n\r\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\r\nexport class NgbButtonsModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize its properties\r\n * to provide default values for all carousels used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbCarouselConfig {\r\n interval = 5000;\r\n wrap = true;\r\n keyboard = true;\r\n pauseOnHover = true;\r\n pauseOnFocus = true;\r\n showNavigationArrows = true;\r\n showNavigationIndicators = true;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\r\nimport {reflow} from '../util/util';\r\n\r\n/**\r\n * Defines the carousel slide transition direction.\r\n */\r\nexport enum NgbSlideEventDirection {\r\n LEFT = 'left',\r\n RIGHT = 'right'\r\n}\r\n\r\nexport interface NgbCarouselCtx { direction: 'left' | 'right'; }\r\n\r\nconst isBeingAnimated = ({classList}: HTMLElement) => {\r\n return classList.contains('carousel-item-left') || classList.contains('carousel-item-right');\r\n};\r\n\r\nconst removeDirectionClasses = (classList: DOMTokenList) => {\r\n classList.remove('carousel-item-left');\r\n classList.remove('carousel-item-right');\r\n};\r\n\r\nconst removeClasses = (classList: DOMTokenList) => {\r\n removeDirectionClasses(classList);\r\n classList.remove('carousel-item-prev');\r\n classList.remove('carousel-item-next');\r\n};\r\n\r\nexport const ngbCarouselTransitionIn: NgbTransitionStartFn =\r\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\r\n const {classList} = element;\r\n\r\n if (!animation) {\r\n removeDirectionClasses(classList);\r\n removeClasses(classList);\r\n classList.add('active');\r\n return;\r\n }\r\n\r\n if (isBeingAnimated(element)) {\r\n // Revert the transition\r\n removeDirectionClasses(classList);\r\n } else {\r\n // For the 'in' transition, a 'pre-class' is applied to the element to ensure its visibility\r\n classList.add('carousel-item-' + (direction === NgbSlideEventDirection.LEFT ? 'next' : 'prev'));\r\n reflow(element);\r\n classList.add('carousel-item-' + direction);\r\n }\r\n\r\n return () => {\r\n removeClasses(classList);\r\n classList.add('active');\r\n };\r\n };\r\n\r\nexport const ngbCarouselTransitionOut: NgbTransitionStartFn =\r\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\r\n const {classList} = element;\r\n\r\n if (!animation) {\r\n removeDirectionClasses(classList);\r\n removeClasses(classList);\r\n classList.remove('active');\r\n return;\r\n }\r\n\r\n // direction is left or right, depending on the way the slide goes out.\r\n if (isBeingAnimated(element)) {\r\n // Revert the transition\r\n removeDirectionClasses(classList);\r\n } else {\r\n classList.add('carousel-item-' + direction);\r\n }\r\n\r\n return () => {\r\n removeClasses(classList);\r\n classList.remove('active');\r\n };\r\n };\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Output,\r\n PLATFORM_ID,\r\n QueryList,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n AfterViewInit\r\n} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\n\r\nimport {NgbCarouselConfig} from './carousel-config';\r\n\r\nimport {BehaviorSubject, combineLatest, NEVER, Observable, Subject, timer, zip} from 'rxjs';\r\nimport {distinctUntilChanged, map, startWith, switchMap, take, takeUntil} from 'rxjs/operators';\r\nimport {ngbCompleteTransition, ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\r\nimport {\r\n ngbCarouselTransitionIn,\r\n ngbCarouselTransitionOut,\r\n NgbSlideEventDirection,\r\n NgbCarouselCtx\r\n} from './carousel-transition';\r\n\r\nlet nextId = 0;\r\n\r\n/**\r\n * A directive that wraps the individual carousel slide.\r\n */\r\n@Directive({selector: 'ng-template[ngbSlide]'})\r\nexport class NgbSlide {\r\n /**\r\n * Slide id that must be unique for the entire document.\r\n *\r\n * If not provided, will be generated in the `ngb-slide-xx` format.\r\n */\r\n @Input() id = `ngb-slide-${nextId++}`;\r\n\r\n /**\r\n * An event emitted when the slide transition is finished\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() slid = new EventEmitter();\r\n\r\n constructor(public tplRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * Carousel is a component to easily create and control slideshows.\r\n *\r\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\r\n */\r\n@Component({\r\n selector: 'ngb-carousel',\r\n exportAs: 'ngbCarousel',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n 'class': 'carousel slide',\r\n '[style.display]': '\"block\"',\r\n 'tabIndex': '0',\r\n '(keydown.arrowLeft)': 'keyboard && arrowLeft()',\r\n '(keydown.arrowRight)': 'keyboard && arrowRight()',\r\n '(mouseenter)': 'mouseHover = true',\r\n '(mouseleave)': 'mouseHover = false',\r\n '(focusin)': 'focused = true',\r\n '(focusout)': 'focused = false',\r\n '[attr.aria-activedescendant]': `'slide-' + activeId`\r\n },\r\n template: `\r\n
    \r\n
  1. \r\n
\r\n
\r\n
\r\n \r\n Slide {{i + 1}} of {{c}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Previous\r\n \r\n \r\n \r\n Next\r\n \r\n `\r\n})\r\nexport class NgbCarousel implements AfterContentChecked,\r\n AfterContentInit, AfterViewInit, OnDestroy {\r\n @ContentChildren(NgbSlide) slides: QueryList;\r\n\r\n public NgbSlideEventSource = NgbSlideEventSource;\r\n\r\n private _destroy$ = new Subject();\r\n private _interval$ = new BehaviorSubject(0);\r\n private _mouseHover$ = new BehaviorSubject(false);\r\n private _focused$ = new BehaviorSubject(false);\r\n private _pauseOnHover$ = new BehaviorSubject(false);\r\n private _pauseOnFocus$ = new BehaviorSubject(false);\r\n private _pause$ = new BehaviorSubject(false);\r\n private _wrap$ = new BehaviorSubject(false);\r\n\r\n /**\r\n * A flag to enable/disable the animations.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n /**\r\n * The slide id that should be displayed **initially**.\r\n *\r\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\r\n */\r\n @Input() activeId: string;\r\n\r\n /**\r\n * Time in milliseconds before the next slide is shown.\r\n */\r\n @Input()\r\n set interval(value: number) {\r\n this._interval$.next(value);\r\n }\r\n\r\n get interval() { return this._interval$.value; }\r\n\r\n /**\r\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\r\n */\r\n @Input()\r\n set wrap(value: boolean) {\r\n this._wrap$.next(value);\r\n }\r\n\r\n get wrap() { return this._wrap$.value; }\r\n\r\n /**\r\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\r\n */\r\n @Input() keyboard: boolean;\r\n\r\n /**\r\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\r\n *\r\n * @since 2.2.0\r\n */\r\n @Input()\r\n set pauseOnHover(value: boolean) {\r\n this._pauseOnHover$.next(value);\r\n }\r\n\r\n get pauseOnHover() { return this._pauseOnHover$.value; }\r\n\r\n /**\r\n * If `true`, will pause slide switching when the focus is inside the carousel.\r\n */\r\n @Input()\r\n set pauseOnFocus(value: boolean) {\r\n this._pauseOnFocus$.next(value);\r\n }\r\n\r\n get pauseOnFocus() { return this._pauseOnFocus$.value; }\r\n\r\n /**\r\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\r\n *\r\n * @since 2.2.0\r\n */\r\n @Input() showNavigationArrows: boolean;\r\n\r\n /**\r\n * If `true`, navigation indicators at the bottom of the slide will be visible.\r\n *\r\n * @since 2.2.0\r\n */\r\n @Input() showNavigationIndicators: boolean;\r\n\r\n /**\r\n * An event emitted just before the slide transition starts.\r\n *\r\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\r\n */\r\n @Output() slide = new EventEmitter();\r\n\r\n /**\r\n * An event emitted right after the slide transition is completed.\r\n *\r\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() slid = new EventEmitter();\r\n\r\n /*\r\n * Keep the ids of the panels currently transitionning\r\n * in order to allow only the transition revertion\r\n */\r\n private _transitionIds: [string, string] | null = null;\r\n\r\n set mouseHover(value: boolean) { this._mouseHover$.next(value); }\r\n\r\n get mouseHover() { return this._mouseHover$.value; }\r\n\r\n set focused(value: boolean) { this._focused$.next(value); }\r\n\r\n get focused() { return this._focused$.value; }\r\n\r\n constructor(\r\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\r\n private _cd: ChangeDetectorRef, private _container: ElementRef) {\r\n this.animation = config.animation;\r\n this.interval = config.interval;\r\n this.wrap = config.wrap;\r\n this.keyboard = config.keyboard;\r\n this.pauseOnHover = config.pauseOnHover;\r\n this.pauseOnFocus = config.pauseOnFocus;\r\n this.showNavigationArrows = config.showNavigationArrows;\r\n this.showNavigationIndicators = config.showNavigationIndicators;\r\n }\r\n\r\n arrowLeft() {\r\n this.focus();\r\n this.prev(NgbSlideEventSource.ARROW_LEFT);\r\n }\r\n\r\n arrowRight() {\r\n this.focus();\r\n this.next(NgbSlideEventSource.ARROW_RIGHT);\r\n }\r\n\r\n ngAfterContentInit() {\r\n // setInterval() doesn't play well with SSR and protractor,\r\n // so we should run it in the browser and outside Angular\r\n if (isPlatformBrowser(this._platformId)) {\r\n this._ngZone.runOutsideAngular(() => {\r\n const hasNextSlide$ = combineLatest([\r\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\r\n this._wrap$, this.slides.changes.pipe(startWith(null))\r\n ])\r\n .pipe(\r\n map(([currentSlideId, wrap]) => {\r\n const slideArr = this.slides.toArray();\r\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\r\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\r\n }),\r\n distinctUntilChanged());\r\n combineLatest([\r\n this._pause$, this._pauseOnHover$, this._mouseHover$, this._pauseOnFocus$, this._focused$, this._interval$,\r\n hasNextSlide$\r\n ])\r\n .pipe(\r\n map(([pause, pauseOnHover, mouseHover, pauseOnFocus, focused, interval,\r\n hasNextSlide]: [boolean, boolean, boolean, boolean, boolean, number, boolean]) =>\r\n ((pause || (pauseOnHover && mouseHover) || (pauseOnFocus && focused) || !hasNextSlide) ?\r\n 0 :\r\n interval)),\r\n\r\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\r\n takeUntil(this._destroy$))\r\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\r\n });\r\n }\r\n\r\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\r\n this._transitionIds ?.forEach(id => ngbCompleteTransition(this._getSlideElement(id)));\r\n this._transitionIds = null;\r\n\r\n this._cd.markForCheck();\r\n\r\n // The following code need to be done asynchronously, after the dom becomes stable,\r\n // otherwise all changes will be undone.\r\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\r\n for (const { id } of this.slides) {\r\n const element = this._getSlideElement(id);\r\n if (id === this.activeId) {\r\n element.classList.add('active');\r\n } else {\r\n element.classList.remove('active');\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngAfterContentChecked() {\r\n let activeSlide = this._getSlideById(this.activeId);\r\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : '');\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Initialize the 'active' class (not managed by the template)\r\n if (this.activeId) {\r\n const element = this._getSlideElement(this.activeId);\r\n if (element) {\r\n element.classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() { this._destroy$.next(); }\r\n\r\n /**\r\n * Navigates to a slide with the specified identifier.\r\n */\r\n select(slideId: string, source?: NgbSlideEventSource) {\r\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\r\n }\r\n\r\n /**\r\n * Navigates to the previous slide.\r\n */\r\n prev(source?: NgbSlideEventSource) {\r\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\r\n }\r\n\r\n /**\r\n * Navigates to the next slide.\r\n */\r\n next(source?: NgbSlideEventSource) {\r\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\r\n }\r\n\r\n /**\r\n * Pauses cycling through the slides.\r\n */\r\n pause() { this._pause$.next(true); }\r\n\r\n /**\r\n * Restarts cycling through the slides from left to right.\r\n */\r\n cycle() { this._pause$.next(false); }\r\n\r\n /**\r\n * Set the focus on the carousel.\r\n */\r\n focus() { this._container.nativeElement.focus(); }\r\n\r\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\r\n const transitionIds = this._transitionIds;\r\n if (transitionIds && (transitionIds[0] !== slideIdx || transitionIds[1] !== this.activeId)) {\r\n // Revert prevented\r\n return;\r\n }\r\n\r\n let selectedSlide = this._getSlideById(slideIdx);\r\n if (selectedSlide && selectedSlide.id !== this.activeId) {\r\n this._transitionIds = [this.activeId, slideIdx];\r\n this.slide.emit(\r\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\r\n\r\n const options: NgbTransitionOptions = {\r\n animation: this.animation,\r\n runningTransition: 'stop',\r\n context: {direction},\r\n };\r\n\r\n const transitions: Array> = [];\r\n const activeSlide = this._getSlideById(this.activeId);\r\n if (activeSlide) {\r\n const activeSlideTransition =\r\n ngbRunTransition(this._ngZone, this._getSlideElement(activeSlide.id), ngbCarouselTransitionOut, options);\r\n activeSlideTransition.subscribe(() => { activeSlide.slid.emit({isShown: false, direction, source}); });\r\n transitions.push(activeSlideTransition);\r\n }\r\n\r\n const previousId = this.activeId;\r\n this.activeId = selectedSlide.id;\r\n const nextSlide = this._getSlideById(this.activeId);\r\n const transition =\r\n ngbRunTransition(this._ngZone, this._getSlideElement(selectedSlide.id), ngbCarouselTransitionIn, options);\r\n transition.subscribe(() => { nextSlide ?.slid.emit({isShown: true, direction, source}); });\r\n transitions.push(transition);\r\n\r\n zip(...transitions).pipe(take(1)).subscribe(() => {\r\n this._transitionIds = null;\r\n this.slid.emit(\r\n {prev: previousId, current: selectedSlide !.id, direction: direction, paused: this._pause$.value, source});\r\n });\r\n }\r\n\r\n // we get here after the interval fires or any external API call like next(), prev() or select()\r\n this._cd.markForCheck();\r\n }\r\n\r\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\r\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\r\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\r\n\r\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\r\n }\r\n\r\n private _getSlideById(slideId: string): NgbSlide | null {\r\n return this.slides.find(slide => slide.id === slideId) || null;\r\n }\r\n\r\n private _getSlideIdxById(slideId: string): number {\r\n const slide = this._getSlideById(slideId);\r\n return slide != null ? this.slides.toArray().indexOf(slide) : -1;\r\n }\r\n\r\n private _getNextSlide(currentSlideId: string): string {\r\n const slideArr = this.slides.toArray();\r\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\r\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\r\n\r\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\r\n slideArr[currentSlideIdx + 1].id;\r\n }\r\n\r\n private _getPrevSlide(currentSlideId: string): string {\r\n const slideArr = this.slides.toArray();\r\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\r\n const isFirstSlide = currentSlideIdx === 0;\r\n\r\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\r\n slideArr[currentSlideIdx - 1].id;\r\n }\r\n\r\n private _getSlideElement(slideId: string): HTMLElement {\r\n return this._container.nativeElement.querySelector(`#slide-${slideId}`);\r\n }\r\n}\r\n\r\n/**\r\n * A slide change event emitted right after the slide transition is completed.\r\n */\r\nexport interface NgbSlideEvent {\r\n /**\r\n * The previous slide id.\r\n */\r\n prev: string;\r\n\r\n /**\r\n * The current slide id.\r\n */\r\n current: string;\r\n\r\n /**\r\n * The slide event direction.\r\n *\r\n * Possible values are `'left' | 'right'`.\r\n */\r\n direction: NgbSlideEventDirection;\r\n\r\n /**\r\n * Whether the pause() method was called (and no cycle() call was done afterwards).\r\n *\r\n * @since 5.1.0\r\n */\r\n paused: boolean;\r\n\r\n /**\r\n * Source triggering the slide change event.\r\n *\r\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\r\n *\r\n * @since 5.1.0\r\n */\r\n source?: NgbSlideEventSource;\r\n}\r\n\r\n/**\r\n * A slide change event emitted right after the slide transition is completed.\r\n *\r\n * @since 8.0.0\r\n */\r\nexport interface NgbSingleSlideEvent {\r\n /**\r\n * true if the slide is shown, false otherwise\r\n */\r\n isShown: boolean;\r\n\r\n /**\r\n * The slide event direction.\r\n *\r\n * Possible values are `'left' | 'right'`.\r\n */\r\n direction: NgbSlideEventDirection;\r\n\r\n /**\r\n * Source triggering the slide change event.\r\n *\r\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\r\n *\r\n */\r\n source?: NgbSlideEventSource;\r\n}\r\n\r\nexport enum NgbSlideEventSource {\r\n TIMER = 'timer',\r\n ARROW_LEFT = 'arrowLeft',\r\n ARROW_RIGHT = 'arrowRight',\r\n INDICATOR = 'indicator'\r\n}\r\n\r\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\r\n\r\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventSource} from './carousel';\r\nexport {NgbSlideEventDirection} from './carousel-transition';\r\nexport {NgbCarouselConfig} from './carousel-config';\r\n\r\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\r\nexport class NgbCarouselModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [NgbCollapse](#/components/collapse/api#NgbCollapse) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize its properties\r\n * to provide default values for all collapses used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbCollapseConfig {\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\r\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\r\nimport {NgbCollapseConfig} from './collapse-config';\r\n\r\n/**\r\n * A directive to provide a simple way of hiding and showing elements on the page.\r\n */\r\n@Directive({selector: '[ngbCollapse]', exportAs: 'ngbCollapse'})\r\nexport class NgbCollapse implements OnInit, OnChanges {\r\n /**\r\n * If `true`, collapse will be animated.\r\n *\r\n * Animation is triggered only when clicked on triggering element\r\n * or via the `.toggle()` function\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation;\r\n\r\n /**\r\n * If `true`, will collapse the element or show it otherwise.\r\n */\r\n @Input('ngbCollapse') collapsed = false;\r\n\r\n @Output() ngbCollapseChange = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the collapse element is shown, after the transition. It has no payload.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the collapse element is hidden, after the transition. It has no payload.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n\r\n constructor(private _element: ElementRef, config: NgbCollapseConfig, private _zone: NgZone) {\r\n this.animation = config.animation;\r\n }\r\n\r\n ngOnInit() { this._runTransition(this.collapsed, false); }\r\n\r\n ngOnChanges({collapsed}: SimpleChanges) {\r\n if (!collapsed.firstChange) {\r\n this._runTransitionWithEvents(this.collapsed, this.animation);\r\n }\r\n }\r\n\r\n /**\r\n * Triggers collapsing programmatically.\r\n *\r\n * If there is a collapsing transition running already, it will be reversed.\r\n * If the animations are turned off this happens synchronously.\r\n *\r\n * @since 8.0.0\r\n */\r\n toggle(open: boolean = this.collapsed) {\r\n this.collapsed = !open;\r\n this.ngbCollapseChange.next(this.collapsed);\r\n this._runTransitionWithEvents(this.collapsed, this.animation);\r\n }\r\n\r\n private _runTransition(collapsed: boolean, animation: boolean) {\r\n return ngbRunTransition(\r\n this._zone, this._element.nativeElement, ngbCollapsingTransition,\r\n {animation, runningTransition: 'stop', context: {direction: collapsed ? 'hide' : 'show'}});\r\n }\r\n\r\n private _runTransitionWithEvents(collapsed: boolean, animation: boolean) {\r\n this._runTransition(collapsed, animation).subscribe(() => {\r\n if (collapsed) {\r\n this.hidden.emit();\r\n } else {\r\n this.shown.emit();\r\n }\r\n });\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {NgbCollapse} from './collapse';\r\n\r\nexport {NgbCollapse} from './collapse';\r\nexport {NgbCollapseConfig} from './collapse-config';\r\n\r\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\r\nexport class NgbCollapseModule {\r\n}\r\n","import {NgbDateStruct} from './ngb-date-struct';\r\nimport {isInteger} from '../util/util';\r\n\r\n/**\r\n * A simple class that represents a date that datepicker also uses internally.\r\n *\r\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\r\n * like `.equals()`, `.before()`, etc.\r\n *\r\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\r\n *\r\n * In many cases it is simpler to manipulate these objects together with\r\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\r\n *\r\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\r\n *\r\n * @since 3.0.0\r\n */\r\nexport class NgbDate implements NgbDateStruct {\r\n /**\r\n * The year, for example 2016\r\n */\r\n year: number;\r\n\r\n /**\r\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\r\n */\r\n month: number;\r\n\r\n /**\r\n * The day of month, starting with 1\r\n */\r\n day: number;\r\n\r\n /**\r\n * A **static method** that creates a new date object from the `NgbDateStruct`,\r\n *\r\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\r\n *\r\n * If the `date` is already of `NgbDate` type, the method will return the same object.\r\n */\r\n static from(date?: NgbDateStruct | null): NgbDate | null {\r\n if (date instanceof NgbDate) {\r\n return date;\r\n }\r\n return date ? new NgbDate(date.year, date.month, date.day) : null;\r\n }\r\n\r\n constructor(year: number, month: number, day: number) {\r\n this.year = isInteger(year) ? year : null;\r\n this.month = isInteger(month) ? month : null;\r\n this.day = isInteger(day) ? day : null;\r\n }\r\n\r\n /**\r\n * Checks if the current date is equal to another date.\r\n */\r\n equals(other?: NgbDateStruct | null): boolean {\r\n return other != null && this.year === other.year && this.month === other.month && this.day === other.day;\r\n }\r\n\r\n /**\r\n * Checks if the current date is before another date.\r\n */\r\n before(other?: NgbDateStruct | null): boolean {\r\n if (!other) {\r\n return false;\r\n }\r\n\r\n if (this.year === other.year) {\r\n if (this.month === other.month) {\r\n return this.day === other.day ? false : this.day < other.day;\r\n } else {\r\n return this.month < other.month;\r\n }\r\n } else {\r\n return this.year < other.year;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the current date is after another date.\r\n */\r\n after(other?: NgbDateStruct | null): boolean {\r\n if (!other) {\r\n return false;\r\n }\r\n if (this.year === other.year) {\r\n if (this.month === other.month) {\r\n return this.day === other.day ? false : this.day > other.day;\r\n } else {\r\n return this.month > other.month;\r\n }\r\n } else {\r\n return this.year > other.year;\r\n }\r\n }\r\n}\r\n","import {NgbDate} from './ngb-date';\r\nimport {Injectable} from '@angular/core';\r\nimport {isInteger} from '../util/util';\r\n\r\nexport function fromJSDate(jsDate: Date) {\r\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\r\n}\r\nexport function toJSDate(date: NgbDate) {\r\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\r\n // this is done avoid 30 -> 1930 conversion\r\n if (!isNaN(jsDate.getTime())) {\r\n jsDate.setFullYear(date.year);\r\n }\r\n return jsDate;\r\n}\r\n\r\nexport type NgbPeriod = 'y' | 'm' | 'd';\r\n\r\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\r\n return new NgbCalendarGregorian();\r\n}\r\n\r\n/**\r\n * A service that represents the calendar used by the datepicker.\r\n *\r\n * The default implementation uses the Gregorian calendar. You can inject it in your own\r\n * implementations if necessary to simplify `NgbDate` calculations.\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\r\nexport abstract class NgbCalendar {\r\n /**\r\n * Returns the number of days per week.\r\n */\r\n abstract getDaysPerWeek(): number;\r\n\r\n /**\r\n * Returns an array of months per year.\r\n *\r\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\r\n */\r\n abstract getMonths(year?: number): number[];\r\n\r\n /**\r\n * Returns the number of weeks per month.\r\n */\r\n abstract getWeeksPerMonth(): number;\r\n\r\n /**\r\n * Returns the weekday number for a given day.\r\n *\r\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\r\n */\r\n abstract getWeekday(date: NgbDate): number;\r\n\r\n /**\r\n * Adds a number of years, months or days to a given date.\r\n *\r\n * * `period` can be `y`, `m` or `d` and defaults to day.\r\n * * `number` defaults to 1.\r\n *\r\n * Always returns a new date.\r\n */\r\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n\r\n /**\r\n * Subtracts a number of years, months or days from a given date.\r\n *\r\n * * `period` can be `y`, `m` or `d` and defaults to day.\r\n * * `number` defaults to 1.\r\n *\r\n * Always returns a new date.\r\n */\r\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\r\n\r\n /**\r\n * Returns the week number for a given week.\r\n */\r\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\r\n\r\n /**\r\n * Returns the today's date.\r\n */\r\n abstract getToday(): NgbDate;\r\n\r\n /**\r\n * Checks if a date is valid in the current calendar.\r\n */\r\n abstract isValid(date?: NgbDate | null): boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class NgbCalendarGregorian extends NgbCalendar {\r\n getDaysPerWeek() { return 7; }\r\n\r\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\r\n\r\n getWeeksPerMonth() { return 6; }\r\n\r\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\r\n let jsDate = toJSDate(date);\r\n let checkMonth = true;\r\n let expectedMonth = jsDate.getMonth();\r\n\r\n switch (period) {\r\n case 'y':\r\n jsDate.setFullYear(jsDate.getFullYear() + number);\r\n break;\r\n case 'm':\r\n expectedMonth += number;\r\n jsDate.setMonth(expectedMonth);\r\n expectedMonth = expectedMonth % 12;\r\n if (expectedMonth < 0) {\r\n expectedMonth = expectedMonth + 12;\r\n }\r\n break;\r\n case 'd':\r\n jsDate.setDate(jsDate.getDate() + number);\r\n checkMonth = false;\r\n break;\r\n default:\r\n return date;\r\n }\r\n\r\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\r\n // this means the destination month has less days than the initial month\r\n // let's go back to the end of the previous month:\r\n jsDate.setDate(0);\r\n }\r\n\r\n return fromJSDate(jsDate);\r\n }\r\n\r\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\r\n\r\n getWeekday(date: NgbDate) {\r\n let jsDate = toJSDate(date);\r\n let day = jsDate.getDay();\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n return day === 0 ? 7 : day;\r\n }\r\n\r\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n if (firstDayOfWeek === 7) {\r\n firstDayOfWeek = 0;\r\n }\r\n\r\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\r\n let date = week[thursdayIndex];\r\n\r\n const jsDate = toJSDate(date);\r\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\r\n const time = jsDate.getTime();\r\n jsDate.setMonth(0); // Compare with Jan 1\r\n jsDate.setDate(1);\r\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\r\n }\r\n\r\n getToday(): NgbDate { return fromJSDate(new Date()); }\r\n\r\n isValid(date?: NgbDate | null): boolean {\r\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\r\n return false;\r\n }\r\n\r\n // year 0 doesn't exist in Gregorian calendar\r\n if (date.year === 0) {\r\n return false;\r\n }\r\n\r\n const jsDate = toJSDate(date);\r\n\r\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\r\n jsDate.getDate() === date.day;\r\n }\r\n}\r\n","import {NgbDate} from './ngb-date';\r\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\r\nimport {NgbCalendar} from './ngb-calendar';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\n\r\nexport function isChangedDate(prev?: NgbDate | null, next?: NgbDate | null): boolean {\r\n return !dateComparator(prev, next);\r\n}\r\n\r\nexport function isChangedMonth(prev?: NgbDate | null, next?: NgbDate | null): boolean {\r\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\r\n}\r\n\r\nexport function dateComparator(prev?: NgbDate | null, next?: NgbDate | null): boolean {\r\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\r\n}\r\n\r\nexport function checkMinBeforeMax(minDate?: NgbDate | null, maxDate?: NgbDate | null): void {\r\n if (maxDate && minDate && maxDate.before(minDate)) {\r\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\r\n }\r\n}\r\n\r\nexport function checkDateInRange(date?: NgbDate | null, minDate?: NgbDate | null, maxDate?: NgbDate | null): NgbDate |\r\n null {\r\n if (date && minDate && date.before(minDate)) {\r\n return minDate;\r\n }\r\n if (date && maxDate && date.after(maxDate)) {\r\n return maxDate;\r\n }\r\n\r\n return date || null;\r\n}\r\n\r\nexport function isDateSelectable(date: NgbDate | null | undefined, state: DatepickerViewModel) {\r\n const {minDate, maxDate, disabled, markDisabled} = state;\r\n // clang-format off\r\n return !(\r\n date === null ||\r\n date === undefined ||\r\n disabled ||\r\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\r\n (minDate && date.before(minDate)) ||\r\n (maxDate && date.after(maxDate))\r\n );\r\n // clang-format on\r\n}\r\n\r\nexport function generateSelectBoxMonths(\r\n calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\r\n if (!date) {\r\n return [];\r\n }\r\n\r\n let months = calendar.getMonths(date.year);\r\n\r\n if (minDate && date.year === minDate.year) {\r\n const index = months.findIndex(month => month === minDate.month);\r\n months = months.slice(index);\r\n }\r\n\r\n if (maxDate && date.year === maxDate.year) {\r\n const index = months.findIndex(month => month === maxDate.month);\r\n months = months.slice(0, index + 1);\r\n }\r\n\r\n return months;\r\n}\r\n\r\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\r\n if (!date) {\r\n return [];\r\n }\r\n\r\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\r\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\r\n\r\n const length = end - start + 1;\r\n const numbers = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n numbers[i] = start + i;\r\n }\r\n\r\n return numbers;\r\n}\r\n\r\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate | null) {\r\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\r\n return maxDate != null && nextDate.after(maxDate);\r\n}\r\n\r\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null) {\r\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\r\n return minDate != null && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\r\n prevDate.year < minDate.year && minDate.month === 1);\r\n}\r\n\r\nexport function buildMonths(\r\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\r\n force: boolean): MonthViewModel[] {\r\n const {displayMonths, months} = state;\r\n // move old months to a temporary array\r\n const monthsToReuse = months.splice(0, months.length);\r\n\r\n // generate new first dates, nullify or reuse months\r\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\r\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\r\n months[i] = null;\r\n\r\n if (!force) {\r\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\r\n // move reused month back to months\r\n if (reusedIndex !== -1) {\r\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\r\n }\r\n }\r\n\r\n return firstDate;\r\n });\r\n\r\n // rebuild nullified months\r\n firstDates.forEach((firstDate, i) => {\r\n if (months[i] === null) {\r\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\r\n }\r\n });\r\n\r\n return months;\r\n}\r\n\r\nexport function buildMonth(\r\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\r\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\r\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays, weekdayWidth, weekdaysVisible} =\r\n state;\r\n const calendarToday = calendar.getToday();\r\n\r\n month.firstDate = null;\r\n month.lastDate = null;\r\n month.number = date.month;\r\n month.year = date.year;\r\n month.weeks = month.weeks || [];\r\n month.weekdays = month.weekdays || [];\r\n\r\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\r\n\r\n // clearing weekdays, if not visible\r\n if (!weekdaysVisible) {\r\n month.weekdays.length = 0;\r\n }\r\n\r\n // month has weeks\r\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\r\n let weekObject = month.weeks[week];\r\n if (!weekObject) {\r\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\r\n }\r\n const days = weekObject.days;\r\n\r\n // week has days\r\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\r\n if (week === 0 && weekdaysVisible) {\r\n month.weekdays[day] = i18n.getWeekdayLabel(calendar.getWeekday(date), weekdayWidth);\r\n }\r\n\r\n const newDate = new NgbDate(date.year, date.month, date.day);\r\n const nextDate = calendar.getNext(newDate);\r\n\r\n const ariaLabel = i18n.getDayAriaLabel(newDate);\r\n\r\n // marking date as disabled\r\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\r\n if (!disabled && markDisabled) {\r\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\r\n }\r\n\r\n // today\r\n let today = newDate.equals(calendarToday);\r\n\r\n // adding user-provided data to the context\r\n let contextUserData =\r\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\r\n\r\n // saving first date of the month\r\n if (month.firstDate === null && newDate.month === month.number) {\r\n month.firstDate = newDate;\r\n }\r\n\r\n // saving last date of the month\r\n if (newDate.month === month.number && nextDate.month !== month.number) {\r\n month.lastDate = newDate;\r\n }\r\n\r\n let dayObject = days[day];\r\n if (!dayObject) {\r\n dayObject = days[day] = {} as DayViewModel;\r\n }\r\n dayObject.date = newDate;\r\n dayObject.context = Object.assign(dayObject.context || {}, {\r\n $implicit: newDate,\r\n date: newDate,\r\n data: contextUserData,\r\n currentMonth: month.number,\r\n currentYear: month.year, disabled,\r\n focused: false,\r\n selected: false, today\r\n });\r\n dayObject.tabindex = -1;\r\n dayObject.ariaLabel = ariaLabel;\r\n dayObject.hidden = false;\r\n\r\n date = nextDate;\r\n }\r\n\r\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\r\n\r\n // marking week as collapsed\r\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\r\n days[days.length - 1].date.month !== month.number;\r\n }\r\n\r\n return month;\r\n}\r\n\r\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\r\n const daysPerWeek = calendar.getDaysPerWeek();\r\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\r\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\r\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\r\n}\r\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\r\nimport {formatDate, FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth} from '@angular/common';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\n\r\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\r\n return new NgbDatepickerI18nDefault(locale);\r\n}\r\n\r\n/**\r\n * A service supplying i18n data to the datepicker component.\r\n *\r\n * The default implementation of this service uses the Angular locale and registered locale data for\r\n * weekdays and month names (as explained in the Angular i18n guide).\r\n *\r\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\r\n * numerals. For other static labels the datepicker uses the default Angular i18n.\r\n *\r\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\r\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\r\n * a custom provider for i18n.\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\r\nexport abstract class NgbDatepickerI18n {\r\n /**\r\n * Returns the short weekday name to display in the heading of the month view.\r\n *\r\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\r\n *\r\n * @deprecated 9.1.0, use 'getWeekdayLabel' instead\r\n */\r\n abstract getWeekdayShortName(weekday: number): string;\r\n\r\n /**\r\n * Returns the weekday label using specified width\r\n *\r\n * @since 9.1.0\r\n */\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth): string { return this.getWeekdayShortName(weekday); }\r\n\r\n /**\r\n * Returns the short month name to display in the date picker navigation.\r\n *\r\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n */\r\n abstract getMonthShortName(month: number, year?: number): string;\r\n\r\n /**\r\n * Returns the full month name to display in the date picker navigation.\r\n *\r\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n */\r\n abstract getMonthFullName(month: number, year?: number): string;\r\n\r\n /**\r\n * Returns the text label to display above the day view.\r\n *\r\n * @since 9.1.0\r\n */\r\n getMonthLabel(date: NgbDateStruct): string {\r\n return `${this.getMonthFullName(date.month, date.year)} ${this.getYearNumerals(date.year)}`;\r\n }\r\n\r\n /**\r\n * Returns the value of the `aria-label` attribute for a specific date.\r\n *\r\n * @since 2.0.0\r\n */\r\n abstract getDayAriaLabel(date: NgbDateStruct): string;\r\n\r\n /**\r\n * Returns the textual representation of a day that is rendered in a day cell.\r\n *\r\n * @since 3.0.0\r\n */\r\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\r\n\r\n /**\r\n * Returns the textual representation of a week number rendered by datepicker.\r\n *\r\n * @since 3.0.0\r\n */\r\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\r\n\r\n /**\r\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\r\n *\r\n * @since 3.0.0\r\n */\r\n getYearNumerals(year: number): string { return `${year}`; }\r\n\r\n /**\r\n * Returns the week label to display in the heading of the month view.\r\n *\r\n * @since 9.1.0\r\n */\r\n getWeekLabel(): string { return ''; }\r\n}\r\n\r\n/**\r\n * A service providing default implementation for the datepicker i18n.\r\n * It can be used as a base implementation if necessary.\r\n *\r\n * @since 9.1.0\r\n */\r\n@Injectable()\r\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\r\n private _monthsShort: readonly string[];\r\n private _monthsFull: readonly string[];\r\n\r\n constructor(@Inject(LOCALE_ID) private _locale: string) {\r\n super();\r\n\r\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\r\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\r\n }\r\n\r\n getWeekdayShortName(weekday: number): string { return this.getWeekdayLabel(weekday, TranslationWidth.Short); }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth): string {\r\n const weekdaysStartingOnSunday =\r\n getLocaleDayNames(this._locale, FormStyle.Standalone, width === undefined ? TranslationWidth.Short : width);\r\n const weekdays = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\r\n return weekdays[weekday - 1] || '';\r\n }\r\n\r\n getMonthShortName(month: number): string { return this._monthsShort[month - 1] || ''; }\r\n\r\n getMonthFullName(month: number): string { return this._monthsFull[month - 1] || ''; }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n const jsDate = new Date(date.year, date.month - 1, date.day);\r\n return formatDate(jsDate, 'fullDate', this._locale);\r\n }\r\n}\r\n","import {NgbCalendar} from './ngb-calendar';\r\nimport {NgbDate} from './ngb-date';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\r\nimport {Injectable} from '@angular/core';\r\nimport {isInteger, toInteger} from '../util/util';\r\nimport {Observable, Subject} from 'rxjs';\r\nimport {\r\n buildMonths,\r\n checkDateInRange,\r\n checkMinBeforeMax,\r\n generateSelectBoxMonths,\r\n generateSelectBoxYears,\r\n isChangedDate,\r\n isChangedMonth,\r\n isDateSelectable,\r\n nextMonthDisabled,\r\n prevMonthDisabled\r\n} from './datepicker-tools';\r\n\r\nimport {filter} from 'rxjs/operators';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\nimport {TranslationWidth} from '@angular/common';\r\n\r\n\r\nexport type DatepickerServiceInputs = Partial<{\r\n dayTemplateData: NgbDayTemplateData,\r\n displayMonths: number,\r\n disabled: boolean,\r\n firstDayOfWeek: number,\r\n focusVisible: boolean,\r\n markDisabled: NgbMarkDisabled,\r\n maxDate: NgbDate | null,\r\n minDate: NgbDate | null,\r\n navigation: 'select' | 'arrows' | 'none',\r\n outsideDays: 'visible' | 'collapsed' | 'hidden',\r\n weekdays: TranslationWidth | boolean\r\n}>;\r\n\r\n@Injectable()\r\nexport class NgbDatepickerService {\r\n private _VALIDATORS:\r\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial| void} = {\r\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\r\n if (this._state.dayTemplateData !== dayTemplateData) {\r\n return {dayTemplateData};\r\n }\r\n },\r\n displayMonths: (displayMonths: number) => {\r\n displayMonths = toInteger(displayMonths);\r\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\r\n return {displayMonths};\r\n }\r\n },\r\n disabled: (disabled: boolean) => {\r\n if (this._state.disabled !== disabled) {\r\n return {disabled};\r\n }\r\n },\r\n firstDayOfWeek: (firstDayOfWeek: number) => {\r\n firstDayOfWeek = toInteger(firstDayOfWeek);\r\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\r\n return {firstDayOfWeek};\r\n }\r\n },\r\n focusVisible: (focusVisible: boolean) => {\r\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\r\n return {focusVisible};\r\n }\r\n },\r\n markDisabled: (markDisabled: NgbMarkDisabled) => {\r\n if (this._state.markDisabled !== markDisabled) {\r\n return {markDisabled};\r\n }\r\n },\r\n maxDate: (date: NgbDate | null) => {\r\n const maxDate = this.toValidDate(date, null);\r\n if (isChangedDate(this._state.maxDate, maxDate)) {\r\n return {maxDate};\r\n }\r\n },\r\n minDate: (date: NgbDate | null) => {\r\n const minDate = this.toValidDate(date, null);\r\n if (isChangedDate(this._state.minDate, minDate)) {\r\n return {minDate};\r\n }\r\n },\r\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\r\n if (this._state.navigation !== navigation) {\r\n return {navigation};\r\n }\r\n },\r\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\r\n if (this._state.outsideDays !== outsideDays) {\r\n return {outsideDays};\r\n }\r\n },\r\n weekdays: (weekdays: boolean | TranslationWidth) => {\r\n const weekdayWidth = weekdays === true || weekdays === false ? TranslationWidth.Short : weekdays;\r\n const weekdaysVisible = weekdays === true || weekdays === false ? weekdays : true;\r\n if (this._state.weekdayWidth !== weekdayWidth || this._state.weekdaysVisible !== weekdaysVisible) {\r\n return {weekdayWidth, weekdaysVisible};\r\n }\r\n }\r\n };\r\n\r\n private _model$ = new Subject();\r\n\r\n private _dateSelect$ = new Subject();\r\n\r\n private _state: DatepickerViewModel = {\r\n dayTemplateData: null,\r\n markDisabled: null,\r\n maxDate: null,\r\n minDate: null,\r\n disabled: false,\r\n displayMonths: 1,\r\n firstDate: null,\r\n firstDayOfWeek: 1,\r\n lastDate: null,\r\n focusDate: null,\r\n focusVisible: false,\r\n months: [],\r\n navigation: 'select',\r\n outsideDays: 'visible',\r\n prevDisabled: false,\r\n nextDisabled: false,\r\n selectedDate: null,\r\n selectBoxes: {years: [], months: []},\r\n weekdayWidth: TranslationWidth.Short,\r\n weekdaysVisible: true\r\n };\r\n\r\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\r\n\r\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\r\n\r\n set(options: DatepickerServiceInputs) {\r\n let patch = Object.keys(options)\r\n .map(key => this._VALIDATORS[key](options[key]))\r\n .reduce((obj, part) => ({...obj, ...part}), {});\r\n\r\n if (Object.keys(patch).length > 0) {\r\n this._nextState(patch);\r\n }\r\n }\r\n\r\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\r\n\r\n focus(date?: NgbDate | null) {\r\n const focusedDate = this.toValidDate(date, null);\r\n if (focusedDate != null && !this._state.disabled && isChangedDate(this._state.focusDate, focusedDate)) {\r\n this._nextState({focusDate: date});\r\n }\r\n }\r\n\r\n focusSelect() {\r\n if (isDateSelectable(this._state.focusDate, this._state)) {\r\n this.select(this._state.focusDate, {emitEvent: true});\r\n }\r\n }\r\n\r\n open(date?: NgbDate | null) {\r\n const firstDate = this.toValidDate(date, this._calendar.getToday());\r\n if (firstDate != null && !this._state.disabled &&\r\n (!this._state.firstDate || isChangedMonth(this._state.firstDate, firstDate))) {\r\n this._nextState({firstDate});\r\n }\r\n }\r\n\r\n select(date?: NgbDate | null, options: {emitEvent?: boolean} = {}) {\r\n const selectedDate = this.toValidDate(date, null);\r\n if (selectedDate != null && !this._state.disabled) {\r\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\r\n this._nextState({selectedDate});\r\n }\r\n\r\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\r\n this._dateSelect$.next(selectedDate);\r\n }\r\n }\r\n }\r\n\r\n toValidDate(date?: NgbDateStruct | null, defaultValue?: NgbDate | null): NgbDate | null {\r\n const ngbDate = NgbDate.from(date);\r\n if (defaultValue === undefined) {\r\n defaultValue = this._calendar.getToday();\r\n }\r\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\r\n }\r\n\r\n getMonth(struct: NgbDateStruct) {\r\n for (let month of this._state.months) {\r\n if (struct.month === month.number && struct.year === month.year) {\r\n return month;\r\n }\r\n }\r\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\r\n }\r\n\r\n private _nextState(patch: Partial) {\r\n const newState = this._updateState(patch);\r\n this._patchContexts(newState);\r\n this._state = newState;\r\n this._model$.next(this._state);\r\n }\r\n\r\n private _patchContexts(state: DatepickerViewModel) {\r\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\r\n state.months.forEach(month => {\r\n month.weeks.forEach(week => {\r\n week.days.forEach(day => {\r\n\r\n // patch focus flag\r\n if (focusDate) {\r\n day.context.focused = focusDate.equals(day.date) && focusVisible;\r\n }\r\n\r\n // calculating tabindex\r\n day.tabindex =\r\n !disabled && focusDate && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\r\n\r\n // override context disabled\r\n if (disabled === true) {\r\n day.context.disabled = true;\r\n }\r\n\r\n // patch selection flag\r\n if (selectedDate !== undefined) {\r\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\r\n }\r\n\r\n // visibility\r\n if (month.number !== day.date.month) {\r\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\r\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\r\n day.date.before(months[displayMonths - 1].lastDate));\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n private _updateState(patch: Partial): DatepickerViewModel {\r\n // patching fields\r\n const state = Object.assign({}, this._state, patch);\r\n\r\n let startDate = state.firstDate;\r\n\r\n // min/max dates changed\r\n if ('minDate' in patch || 'maxDate' in patch) {\r\n checkMinBeforeMax(state.minDate, state.maxDate);\r\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\r\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\r\n startDate = state.focusDate;\r\n }\r\n\r\n // disabled\r\n if ('disabled' in patch) {\r\n state.focusVisible = false;\r\n }\r\n\r\n // initial rebuild via 'select()'\r\n if ('selectedDate' in patch && this._state.months.length === 0) {\r\n startDate = state.selectedDate;\r\n }\r\n\r\n // terminate early if only focus visibility was changed\r\n if ('focusVisible' in patch) {\r\n return state;\r\n }\r\n\r\n // focus date changed\r\n if ('focusDate' in patch) {\r\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\r\n startDate = state.focusDate;\r\n\r\n // nothing to rebuild if only focus changed and it is still visible\r\n if (state.months.length !== 0 && state.focusDate && !state.focusDate.before(state.firstDate) &&\r\n !state.focusDate.after(state.lastDate)) {\r\n return state;\r\n }\r\n }\r\n\r\n // first date changed\r\n if ('firstDate' in patch) {\r\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\r\n startDate = state.firstDate;\r\n }\r\n\r\n // rebuilding months\r\n if (startDate) {\r\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\r\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch ||\r\n 'weekdaysVisible' in patch;\r\n\r\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\r\n\r\n // updating months and boundary dates\r\n state.months = months;\r\n state.firstDate = months[0].firstDate;\r\n state.lastDate = months[months.length - 1].lastDate;\r\n\r\n // reset selected date if 'markDisabled' returns true\r\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\r\n state.selectedDate = null;\r\n }\r\n\r\n // adjusting focus after months were built\r\n if ('firstDate' in patch) {\r\n if (!state.focusDate || state.focusDate.before(state.firstDate) || state.focusDate.after(state.lastDate)) {\r\n state.focusDate = startDate;\r\n }\r\n }\r\n\r\n // adjusting months/years for the select box navigation\r\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\r\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\r\n if (state.navigation === 'select') {\r\n // years -> boundaries (min/max were changed)\r\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\r\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\r\n }\r\n\r\n // months -> when current year or boundaries change\r\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\r\n state.selectBoxes.months =\r\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\r\n }\r\n } else {\r\n state.selectBoxes = {years: [], months: []};\r\n }\r\n\r\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\r\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\r\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\r\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\r\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\r\n }\r\n }\r\n\r\n return state;\r\n }\r\n}\r\n","import {NgbDate} from './ngb-date';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\nimport {DayTemplateContext} from './datepicker-day-template-context';\r\nimport {TranslationWidth} from '@angular/common';\r\n\r\nexport type NgbMarkDisabled = (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\r\nexport type NgbDayTemplateData = (date: NgbDateStruct, current?: {year: number, month: number}) => any;\r\n\r\nexport type DayViewModel = {\r\n date: NgbDate,\r\n context: DayTemplateContext,\r\n tabindex: number,\r\n ariaLabel: string,\r\n hidden: boolean\r\n};\r\n\r\nexport type WeekViewModel = {\r\n number: number,\r\n days: DayViewModel[],\r\n collapsed: boolean\r\n};\r\n\r\nexport type MonthViewModel = {\r\n firstDate: NgbDate,\r\n lastDate: NgbDate,\r\n number: number,\r\n year: number,\r\n weeks: WeekViewModel[],\r\n weekdays: string[]\r\n};\r\n\r\n// clang-format off\r\nexport type DatepickerViewModel = {\r\n dayTemplateData: NgbDayTemplateData | null,\r\n disabled: boolean,\r\n displayMonths: number,\r\n firstDate: NgbDate | null,\r\n firstDayOfWeek: number,\r\n focusDate: NgbDate | null,\r\n focusVisible: boolean,\r\n lastDate: NgbDate | null,\r\n markDisabled: NgbMarkDisabled | null,\r\n maxDate: NgbDate | null,\r\n minDate: NgbDate | null,\r\n months: MonthViewModel[],\r\n navigation: 'select' | 'arrows' | 'none',\r\n outsideDays: 'visible' | 'collapsed' | 'hidden',\r\n prevDisabled: boolean,\r\n nextDisabled: boolean,\r\n selectBoxes: {\r\n years: number[],\r\n months: number[]\r\n },\r\n selectedDate: NgbDate | null,\r\n weekdayWidth: TranslationWidth,\r\n weekdaysVisible: boolean\r\n};\r\n// clang-format on\r\n\r\nexport enum NavigationEvent {\r\n PREV,\r\n NEXT\r\n}\r\n","import {Injectable, TemplateRef} from '@angular/core';\r\nimport {TranslationWidth} from '@angular/common';\r\nimport {DayTemplateContext} from './datepicker-day-template-context';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\n\r\n/**\r\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the datepickers used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbDatepickerConfig {\r\n dayTemplate: TemplateRef;\r\n dayTemplateData: (date: NgbDateStruct, current?: {year: number, month: number}) => any;\r\n footerTemplate: TemplateRef;\r\n displayMonths = 1;\r\n firstDayOfWeek = 1;\r\n markDisabled: (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\r\n minDate: NgbDateStruct;\r\n maxDate: NgbDateStruct;\r\n navigation: 'select' | 'arrows' | 'none' = 'select';\r\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\r\n showWeekdays = true;\r\n showWeekNumbers = false;\r\n startDate: {year: number, month: number};\r\n weekdays: TranslationWidth | boolean = TranslationWidth.Short;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbDateStruct} from '../ngb-date-struct';\r\nimport {isInteger} from '../../util/util';\r\n\r\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\r\n return new NgbDateStructAdapter();\r\n}\r\n\r\n/**\r\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\r\n * any provided user date model `D`, ex. a string, a native date, etc.\r\n *\r\n * The adapter is used **only** for conversion when binding datepicker to a form control,\r\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\r\n *\r\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\r\n *\r\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\r\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\r\nexport abstract class NgbDateAdapter {\r\n /**\r\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\r\n */\r\n abstract fromModel(value: D | null): NgbDateStruct | null;\r\n\r\n /**\r\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\r\n */\r\n abstract toModel(date: NgbDateStruct | null): D | null;\r\n}\r\n\r\n@Injectable()\r\nexport class NgbDateStructAdapter extends NgbDateAdapter {\r\n /**\r\n * Converts a NgbDateStruct value into NgbDateStruct value\r\n */\r\n fromModel(date: NgbDateStruct | null): NgbDateStruct | null {\r\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\r\n {year: date.year, month: date.month, day: date.day} :\r\n null;\r\n }\r\n\r\n /**\r\n * Converts a NgbDateStruct value into NgbDateStruct value\r\n */\r\n toModel(date: NgbDateStruct | null): NgbDateStruct | null {\r\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\r\n {year: date.year, month: date.month, day: date.day} :\r\n null;\r\n }\r\n}\r\n","import {fromEvent, merge, Subject} from 'rxjs';\r\nimport {filter, take, takeUntil} from 'rxjs/operators';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {TranslationWidth} from '@angular/common';\r\n\r\nimport {NgbCalendar} from './ngb-calendar';\r\nimport {NgbDate} from './ngb-date';\r\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\r\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\r\nimport {DayTemplateContext} from './datepicker-day-template-context';\r\nimport {NgbDatepickerConfig} from './datepicker-config';\r\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\r\nimport {hasClassName} from '../util/util';\r\n\r\n/**\r\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\r\n */\r\nexport interface NgbDatepickerNavigateEvent {\r\n /**\r\n * The currently displayed month.\r\n */\r\n current: {year: number, month: number} | null;\r\n\r\n /**\r\n * The month we're navigating to.\r\n */\r\n next: {year: number, month: number};\r\n\r\n /**\r\n * Calling this function will prevent navigation from happening.\r\n *\r\n * @since 4.1.0\r\n */\r\n preventDefault: () => void;\r\n}\r\n\r\n/**\r\n * An interface that represents the readonly public state of the datepicker.\r\n *\r\n * Accessible via the `datepicker.state` getter\r\n *\r\n * @since 5.2.0\r\n */\r\nexport interface NgbDatepickerState {\r\n /**\r\n * The earliest date that can be displayed or selected\r\n */\r\n readonly minDate: NgbDate | null;\r\n\r\n /**\r\n * The latest date that can be displayed or selected\r\n */\r\n readonly maxDate: NgbDate | null;\r\n\r\n /**\r\n * The first visible date of currently displayed months\r\n */\r\n readonly firstDate: NgbDate;\r\n\r\n /**\r\n * The last visible date of currently displayed months\r\n */\r\n readonly lastDate: NgbDate;\r\n\r\n /**\r\n * The date currently focused by the datepicker\r\n */\r\n readonly focusedDate: NgbDate;\r\n\r\n /**\r\n * First dates of months currently displayed by the datepicker\r\n *\r\n * @since 5.3.0\r\n */\r\n readonly months: NgbDate[];\r\n}\r\n\r\n/**\r\n * A directive that marks the content template that customizes the way datepicker months are displayed\r\n *\r\n * @since 5.3.0\r\n */\r\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\r\nexport class NgbDatepickerContent {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A highly configurable component that helps you with selecting calendar dates.\r\n *\r\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\r\n */\r\n@Component({\r\n exportAs: 'ngbDatepicker',\r\n selector: 'ngb-datepicker',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./datepicker.scss'],\r\n template: `\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\r\n {{ i18n.getMonthLabel(month.firstDate) }}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n `,\r\n providers:\r\n [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbDatepicker), multi: true}, NgbDatepickerService]\r\n})\r\nexport class NgbDatepicker implements OnDestroy,\r\n OnChanges, OnInit, ControlValueAccessor {\r\n static ngAcceptInputType_autoClose: boolean | string;\r\n static ngAcceptInputType_navigation: string;\r\n static ngAcceptInputType_outsideDays: string;\r\n static ngAcceptInputType_weekdays: boolean | number;\r\n\r\n model: DatepickerViewModel;\r\n\r\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\r\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\r\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\r\n\r\n private _controlValue: NgbDate | null = null;\r\n private _destroyed$ = new Subject();\r\n private _publicState: NgbDatepickerState = {};\r\n private _showWeekdays: boolean;\r\n\r\n /**\r\n * The reference to a custom template for the day.\r\n *\r\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\r\n *\r\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\r\n */\r\n @Input() dayTemplate: TemplateRef;\r\n\r\n /**\r\n * The callback to pass any arbitrary data to the template cell via the\r\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\r\n *\r\n * `current` is the month that is currently displayed by the datepicker.\r\n *\r\n * @since 3.3.0\r\n */\r\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\r\n\r\n /**\r\n * The number of months to display.\r\n */\r\n @Input() displayMonths: number;\r\n\r\n /**\r\n * The first day of the week.\r\n *\r\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\r\n */\r\n @Input() firstDayOfWeek: number;\r\n\r\n /**\r\n * The reference to the custom template for the datepicker footer.\r\n *\r\n * @since 3.3.0\r\n */\r\n @Input() footerTemplate: TemplateRef;\r\n\r\n /**\r\n * The callback to mark some dates as disabled.\r\n *\r\n * It is called for each new date when navigating to a different month.\r\n *\r\n * `current` is the month that is currently displayed by the datepicker.\r\n */\r\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\r\n\r\n /**\r\n * The latest date that can be displayed or selected.\r\n *\r\n * If not provided, 'year' select box will display 10 years after the current month.\r\n */\r\n @Input() maxDate: NgbDateStruct;\r\n\r\n /**\r\n * The earliest date that can be displayed or selected.\r\n *\r\n * If not provided, 'year' select box will display 10 years before the current month.\r\n */\r\n @Input() minDate: NgbDateStruct;\r\n\r\n /**\r\n * Navigation type.\r\n *\r\n * * `\"select\"` - select boxes for month and navigation arrows\r\n * * `\"arrows\"` - only navigation arrows\r\n * * `\"none\"` - no navigation visible at all\r\n */\r\n @Input() navigation: 'select' | 'arrows' | 'none';\r\n\r\n /**\r\n * The way of displaying days that don't belong to the current month.\r\n *\r\n * * `\"visible\"` - days are visible\r\n * * `\"hidden\"` - days are hidden, white space preserved\r\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\r\n *\r\n * For the 2+ months view, days in between months are never shown.\r\n */\r\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\r\n\r\n /**\r\n * If `true`, weekdays will be displayed.\r\n *\r\n * @deprecated 9.1.0, please use 'weekdays' instead\r\n */\r\n @Input()\r\n set showWeekdays(weekdays: boolean) {\r\n this.weekdays = weekdays;\r\n this._showWeekdays = weekdays;\r\n }\r\n\r\n get showWeekdays(): boolean { return this._showWeekdays; }\r\n\r\n /**\r\n * If `true`, week numbers will be displayed.\r\n */\r\n @Input() showWeekNumbers: boolean;\r\n\r\n /**\r\n * The date to open calendar with.\r\n *\r\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n * If nothing or invalid date is provided, calendar will open with current month.\r\n *\r\n * You could use `navigateTo(date)` method as an alternative.\r\n */\r\n @Input() startDate: {year: number, month: number, day?: number};\r\n\r\n /**\r\n * The way weekdays should be displayed.\r\n *\r\n * * `true` - weekdays are displayed using default width\r\n * * `false` - weekdays are not displayed\r\n * * `TranslationWidth` - weekdays are displayed using specified width\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() weekdays: TranslationWidth | boolean;\r\n\r\n /**\r\n * An event emitted right before the navigation happens and displayed month changes.\r\n *\r\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\r\n */\r\n @Output() navigate = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when user selects a date using keyboard or mouse.\r\n *\r\n * The payload of the event is currently selected `NgbDate`.\r\n *\r\n * @since 5.2.0\r\n */\r\n @Output() dateSelect = new EventEmitter();\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n constructor(\r\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\r\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\r\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\r\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\r\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate', 'weekdays']\r\n .forEach(input => this[input] = config[input]);\r\n\r\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\r\n\r\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\r\n const newDate = model.firstDate !;\r\n const oldDate = this.model ? this.model.firstDate : null;\r\n\r\n // update public state\r\n this._publicState = {\r\n maxDate: model.maxDate,\r\n minDate: model.minDate,\r\n firstDate: model.firstDate !,\r\n lastDate: model.lastDate !,\r\n focusedDate: model.focusDate !,\r\n months: model.months.map(viewModel => viewModel.firstDate)\r\n };\r\n\r\n let navigationPrevented = false;\r\n // emitting navigation event if the first month changes\r\n if (!newDate.equals(oldDate)) {\r\n this.navigate.emit({\r\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\r\n next: {year: newDate.year, month: newDate.month},\r\n preventDefault: () => navigationPrevented = true\r\n });\r\n\r\n // can't prevent the very first navigation\r\n if (navigationPrevented && oldDate !== null) {\r\n this._service.open(oldDate);\r\n return;\r\n }\r\n }\r\n\r\n const newSelectedDate = model.selectedDate;\r\n const newFocusedDate = model.focusDate;\r\n const oldFocusedDate = this.model ? this.model.focusDate : null;\r\n\r\n this.model = model;\r\n\r\n // handling selection change\r\n if (isChangedDate(newSelectedDate, this._controlValue)) {\r\n this._controlValue = newSelectedDate;\r\n this.onTouched();\r\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\r\n }\r\n\r\n // handling focus change\r\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\r\n this.focus();\r\n }\r\n\r\n cd.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Returns the readonly public state of the datepicker\r\n *\r\n * @since 5.2.0\r\n */\r\n get state(): NgbDatepickerState { return this._publicState; }\r\n\r\n /**\r\n * Returns the calendar service used in the specific datepicker instance.\r\n *\r\n * @since 5.3.0\r\n */\r\n get calendar(): NgbCalendar { return this._calendar; }\r\n\r\n /**\r\n * Focuses on given date.\r\n */\r\n focusDate(date?: NgbDateStruct | null): void { this._service.focus(NgbDate.from(date)); }\r\n\r\n /**\r\n * Selects focused date.\r\n */\r\n focusSelect(): void { this._service.focusSelect(); }\r\n\r\n focus() {\r\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\r\n const elementToFocus =\r\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\r\n if (elementToFocus) {\r\n elementToFocus.focus();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Navigates to the provided date.\r\n *\r\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n * If nothing or invalid date provided calendar will open current month.\r\n *\r\n * Use the `[startDate]` input as an alternative.\r\n */\r\n navigateTo(date?: {year: number, month: number, day?: number}) {\r\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._ngZone.runOutsideAngular(() => {\r\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\r\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\r\n const {nativeElement} = this._elementRef;\r\n\r\n // we're changing 'focusVisible' only when entering or leaving months view\r\n // and ignoring all focus events where both 'target' and 'related' target are day cells\r\n merge(focusIns$, focusOuts$)\r\n .pipe(\r\n filter(\r\n ({target, relatedTarget}) =>\r\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\r\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\r\n takeUntil(this._destroyed$))\r\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\r\n });\r\n }\r\n\r\n ngOnDestroy() { this._destroyed$.next(); }\r\n\r\n ngOnInit() {\r\n if (this.model === undefined) {\r\n const inputs: DatepickerServiceInputs = {};\r\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\r\n 'outsideDays', 'weekdays']\r\n .forEach(name => inputs[name] = this[name]);\r\n this._service.set(inputs);\r\n\r\n this.navigateTo(this.startDate);\r\n }\r\n if (!this.dayTemplate) {\r\n this.dayTemplate = this._defaultDayTemplate;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const inputs: DatepickerServiceInputs = {};\r\n\r\n if (changes.showWeekdays) {\r\n inputs['weekdays'] = this.weekdays;\r\n }\r\n\r\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\r\n 'outsideDays', 'weekdays']\r\n .filter(name => name in changes)\r\n .forEach(name => inputs[name] = this[name]);\r\n this._service.set(inputs);\r\n\r\n if ('startDate' in changes) {\r\n const {currentValue, previousValue} = changes.startDate;\r\n if (isChangedMonth(previousValue, currentValue)) {\r\n this.navigateTo(this.startDate);\r\n }\r\n }\r\n }\r\n\r\n onDateSelect(date: NgbDate) {\r\n this._service.focus(date);\r\n this._service.select(date, {emitEvent: true});\r\n }\r\n\r\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\r\n\r\n onNavigateEvent(event: NavigationEvent) {\r\n switch (event) {\r\n case NavigationEvent.PREV:\r\n this._service.open(this._calendar.getPrev(this.model.firstDate !, 'm', 1));\r\n break;\r\n case NavigationEvent.NEXT:\r\n this._service.open(this._calendar.getNext(this.model.firstDate !, 'm', 1));\r\n break;\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\r\n\r\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\r\n\r\n writeValue(value) {\r\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\r\n this._service.select(this._controlValue);\r\n }\r\n}\r\n","export enum Key {\r\n Tab = 9,\r\n Enter = 13,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n ArrowLeft = 37,\r\n ArrowUp = 38,\r\n ArrowRight = 39,\r\n ArrowDown = 40\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbDatepicker} from './datepicker';\r\nimport {Key} from '../util/key';\r\n\r\n/**\r\n * A service that represents the keyboard navigation.\r\n *\r\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\r\n *\r\n * @since 5.2.0\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbDatepickerKeyboardService {\r\n /**\r\n * Processes a keyboard event.\r\n */\r\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\r\n const {state, calendar} = datepicker;\r\n // tslint:disable-next-line:deprecation\r\n switch (event.which) {\r\n case Key.PageUp:\r\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\r\n break;\r\n case Key.PageDown:\r\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\r\n break;\r\n case Key.End:\r\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\r\n break;\r\n case Key.Home:\r\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\r\n break;\r\n case Key.ArrowLeft:\r\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\r\n break;\r\n case Key.ArrowUp:\r\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\r\n break;\r\n case Key.ArrowRight:\r\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\r\n break;\r\n case Key.ArrowDown:\r\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\r\n break;\r\n case Key.Enter:\r\n case Key.Space:\r\n datepicker.focusSelect();\r\n break;\r\n default:\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\r\nimport {NgbDatepicker} from './datepicker';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\r\nimport {NgbDatepickerService} from './datepicker-service';\r\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\n\r\n/**\r\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\r\n * the `` when you want to customize months layout.\r\n *\r\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\r\n *\r\n * @since 5.3.0\r\n */\r\n@Component({\r\n selector: 'ngb-datepicker-month',\r\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./datepicker-month.scss'],\r\n template: `\r\n
0\" class=\"ngb-dp-week ngb-dp-weekdays\" role=\"row\">\r\n
{{ i18n.getWeekLabel() }}
\r\n
{{ weekday }}
\r\n
\r\n \r\n
\r\n
{{ i18n.getWeekNumerals(week.number) }}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class NgbDatepickerMonth {\r\n /**\r\n * The first date of month to be rendered.\r\n *\r\n * This month must one of the months present in the\r\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\r\n */\r\n @Input()\r\n set month(month: NgbDateStruct) {\r\n this.viewModel = this._service.getMonth(month);\r\n }\r\n\r\n viewModel: MonthViewModel;\r\n\r\n constructor(\r\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\r\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\r\n\r\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\r\n\r\n doSelect(day: DayViewModel) {\r\n if (!day.context.disabled && !day.hidden) {\r\n this.datepicker.onDateSelect(day.date);\r\n }\r\n }\r\n}\r\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\r\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\r\nimport {NgbDate} from './ngb-date';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\n\r\n@Component({\r\n selector: 'ngb-datepicker-navigation',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./datepicker-navigation.scss'],\r\n template: `\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
0\">
\r\n
\r\n {{ i18n.getMonthLabel(month.firstDate) }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n `\r\n})\r\nexport class NgbDatepickerNavigation {\r\n navigation = NavigationEvent;\r\n\r\n @Input() date: NgbDate;\r\n @Input() disabled: boolean;\r\n @Input() months: MonthViewModel[] = [];\r\n @Input() showSelect: boolean;\r\n @Input() prevDisabled: boolean;\r\n @Input() nextDisabled: boolean;\r\n @Input() selectBoxes: {years: number[], months: number[]};\r\n\r\n @Output() navigate = new EventEmitter();\r\n @Output() select = new EventEmitter();\r\n\r\n constructor(public i18n: NgbDatepickerI18n) {}\r\n\r\n onClickPrev(event: MouseEvent) {\r\n (event.currentTarget as HTMLElement).focus();\r\n this.navigate.emit(this.navigation.PREV);\r\n }\r\n\r\n onClickNext(event: MouseEvent) {\r\n (event.currentTarget as HTMLElement).focus();\r\n this.navigate.emit(this.navigation.NEXT);\r\n }\r\n}\r\n","import {NgZone} from '@angular/core';\r\nimport {fromEvent, Observable, race} from 'rxjs';\r\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\r\nimport {Key} from './key';\r\nimport {closest} from './util';\r\n\r\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\r\n array ? array.some(item => item.contains(element)) : false;\r\n\r\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\r\n !selector || closest(element, selector) != null;\r\n\r\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\r\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\r\nconst isMobile = (() => {\r\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\r\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\r\n const isAndroid = () => /Android/.test(navigator.userAgent);\r\n\r\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\r\n})();\r\n\r\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\r\n// when tapping on the triggering element\r\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\r\n\r\nexport const enum SOURCE {ESCAPE, CLICK}\r\n\r\nexport function ngbAutoClose(\r\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: (source: SOURCE) => void,\r\n closed$: Observable, insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\r\n // closing on ESC and outside clicks\r\n if (type) {\r\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\r\n\r\n const shouldCloseOnClick = (event: MouseEvent) => {\r\n const element = event.target as HTMLElement;\r\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\r\n return false;\r\n }\r\n if (type === 'inside') {\r\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\r\n } else if (type === 'outside') {\r\n return !isContainedIn(element, insideElements);\r\n } else /* if (type === true) */ {\r\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\r\n }\r\n };\r\n\r\n const escapes$ = fromEvent(document, 'keydown')\r\n .pipe(\r\n takeUntil(closed$),\r\n // tslint:disable-next-line:deprecation\r\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\r\n\r\n\r\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\r\n // because on 'mouseup' DOM nodes might be detached\r\n const mouseDowns$ =\r\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\r\n\r\n const closeableClicks$ = fromEvent(document, 'mouseup')\r\n .pipe(\r\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\r\n takeUntil(closed$)) as Observable;\r\n\r\n\r\n race([\r\n escapes$.pipe(map(_ => SOURCE.ESCAPE)), closeableClicks$.pipe(map(_ => SOURCE.CLICK))\r\n ]).subscribe((source: SOURCE) => zone.run(() => close(source)));\r\n }));\r\n }\r\n}\r\n","import {NgZone} from '@angular/core';\r\n\r\nimport {fromEvent, Observable} from 'rxjs';\r\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\r\n\r\nimport {Key} from './key';\r\n\r\n\r\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\r\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\r\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\r\n].join(', ');\r\n\r\n/**\r\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\r\n */\r\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\r\n const list: HTMLElement[] =\r\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\r\n .filter(el => el.tabIndex !== -1);\r\n return [list[0], list[list.length - 1]];\r\n}\r\n\r\n/**\r\n * Function that enforces browser focus to be trapped inside a DOM element.\r\n *\r\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\r\n *\r\n * @param zone Angular zone\r\n * @param element The element around which focus will be trapped inside\r\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\r\n * and free internal resources\r\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\r\n * false)\r\n */\r\nexport const ngbFocusTrap =\r\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\r\n zone.runOutsideAngular(() => {\r\n // last focused element\r\n const lastFocusedElement$ =\r\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\r\n\r\n // 'tab' / 'shift+tab' stream\r\n fromEvent(element, 'keydown')\r\n .pipe(\r\n takeUntil(stopFocusTrap$),\r\n // tslint:disable:deprecation\r\n filter(e => e.which === Key.Tab),\r\n // tslint:enable:deprecation\r\n withLatestFrom(lastFocusedElement$))\r\n .subscribe(([tabEvent, focusedElement]) => {\r\n const[first, last] = getFocusableBoundaryElements(element);\r\n\r\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\r\n last.focus();\r\n tabEvent.preventDefault();\r\n }\r\n\r\n if (focusedElement === last && !tabEvent.shiftKey) {\r\n first.focus();\r\n tabEvent.preventDefault();\r\n }\r\n });\r\n\r\n // inside click\r\n if (refocusOnClick) {\r\n fromEvent(element, 'click')\r\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\r\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\r\n }\r\n });\r\n };\r\n","// previous version:\r\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\r\nexport class Positioning {\r\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\r\n\r\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\r\n\r\n private isStaticPositioned(element: HTMLElement): boolean {\r\n return (this.getStyle(element, 'position') || 'static') === 'static';\r\n }\r\n\r\n private offsetParent(element: HTMLElement): HTMLElement {\r\n let offsetParentEl = element.offsetParent || document.documentElement;\r\n\r\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\r\n offsetParentEl = offsetParentEl.offsetParent;\r\n }\r\n\r\n return offsetParentEl || document.documentElement;\r\n }\r\n\r\n position(element: HTMLElement, round = true): ClientRect {\r\n let elPosition: ClientRect;\r\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\r\n\r\n if (this.getStyle(element, 'position') === 'fixed') {\r\n elPosition = element.getBoundingClientRect();\r\n elPosition = {\r\n top: elPosition.top,\r\n bottom: elPosition.bottom,\r\n left: elPosition.left,\r\n right: elPosition.right,\r\n height: elPosition.height,\r\n width: elPosition.width\r\n };\r\n } else {\r\n const offsetParentEl = this.offsetParent(element);\r\n\r\n elPosition = this.offset(element, false);\r\n\r\n if (offsetParentEl !== document.documentElement) {\r\n parentOffset = this.offset(offsetParentEl, false);\r\n }\r\n\r\n parentOffset.top += offsetParentEl.clientTop;\r\n parentOffset.left += offsetParentEl.clientLeft;\r\n }\r\n\r\n elPosition.top -= parentOffset.top;\r\n elPosition.bottom -= parentOffset.top;\r\n elPosition.left -= parentOffset.left;\r\n elPosition.right -= parentOffset.left;\r\n\r\n if (round) {\r\n elPosition.top = Math.round(elPosition.top);\r\n elPosition.bottom = Math.round(elPosition.bottom);\r\n elPosition.left = Math.round(elPosition.left);\r\n elPosition.right = Math.round(elPosition.right);\r\n }\r\n\r\n return elPosition;\r\n }\r\n\r\n offset(element: HTMLElement, round = true): ClientRect {\r\n const elBcr = element.getBoundingClientRect();\r\n const viewportOffset = {\r\n top: window.pageYOffset - document.documentElement.clientTop,\r\n left: window.pageXOffset - document.documentElement.clientLeft\r\n };\r\n\r\n let elOffset = {\r\n height: elBcr.height || element.offsetHeight,\r\n width: elBcr.width || element.offsetWidth,\r\n top: elBcr.top + viewportOffset.top,\r\n bottom: elBcr.bottom + viewportOffset.top,\r\n left: elBcr.left + viewportOffset.left,\r\n right: elBcr.right + viewportOffset.left\r\n };\r\n\r\n if (round) {\r\n elOffset.height = Math.round(elOffset.height);\r\n elOffset.width = Math.round(elOffset.width);\r\n elOffset.top = Math.round(elOffset.top);\r\n elOffset.bottom = Math.round(elOffset.bottom);\r\n elOffset.left = Math.round(elOffset.left);\r\n elOffset.right = Math.round(elOffset.right);\r\n }\r\n\r\n return elOffset;\r\n }\r\n\r\n /*\r\n Return false if the element to position is outside the viewport\r\n */\r\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\r\n boolean {\r\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\r\n\r\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\r\n const targetElStyles = this.getAllStyles(targetElement);\r\n\r\n const marginTop = parseFloat(targetElStyles.marginTop);\r\n const marginBottom = parseFloat(targetElStyles.marginBottom);\r\n const marginLeft = parseFloat(targetElStyles.marginLeft);\r\n const marginRight = parseFloat(targetElStyles.marginRight);\r\n\r\n let topPosition = 0;\r\n let leftPosition = 0;\r\n\r\n switch (placementPrimary) {\r\n case 'top':\r\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\r\n break;\r\n case 'bottom':\r\n topPosition = (hostElPosition.top + hostElPosition.height);\r\n break;\r\n case 'left':\r\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\r\n break;\r\n case 'right':\r\n leftPosition = (hostElPosition.left + hostElPosition.width);\r\n break;\r\n }\r\n\r\n switch (placementSecondary) {\r\n case 'top':\r\n topPosition = hostElPosition.top;\r\n break;\r\n case 'bottom':\r\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\r\n break;\r\n case 'left':\r\n leftPosition = hostElPosition.left;\r\n break;\r\n case 'right':\r\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\r\n break;\r\n case 'center':\r\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\r\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\r\n } else {\r\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\r\n }\r\n break;\r\n }\r\n\r\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\r\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\r\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\r\n\r\n // Check if the targetElement is inside the viewport\r\n const targetElBCR = targetElement.getBoundingClientRect();\r\n const html = document.documentElement;\r\n const windowHeight = window.innerHeight || html.clientHeight;\r\n const windowWidth = window.innerWidth || html.clientWidth;\r\n\r\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\r\n targetElBCR.bottom <= windowHeight;\r\n }\r\n}\r\n\r\nconst placementSeparator = /\\s+/;\r\nexport const positionService = new Positioning();\r\n\r\n/*\r\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\r\n * Returns the applied placement.\r\n * In case of auto placement, placements are selected in order\r\n * 'top', 'bottom', 'left', 'right',\r\n * 'top-left', 'top-right',\r\n * 'bottom-left', 'bottom-right',\r\n * 'left-top', 'left-bottom',\r\n * 'right-top', 'right-bottom'.\r\n * */\r\nexport function positionElements(\r\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\r\n appendToBody?: boolean, baseClass?: string): Placement |\r\n null {\r\n let placementVals: Array =\r\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\r\n\r\n const allowedPlacements = [\r\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\r\n 'right-top', 'right-bottom'\r\n ];\r\n\r\n const classList = targetElement.classList;\r\n const addClassesToTarget = (targetPlacement: Placement): Array => {\r\n const[primary, secondary] = targetPlacement.split('-');\r\n const classes: string[] = [];\r\n if (baseClass) {\r\n classes.push(`${baseClass}-${primary}`);\r\n if (secondary) {\r\n classes.push(`${baseClass}-${primary}-${secondary}`);\r\n }\r\n\r\n classes.forEach((classname) => { classList.add(classname); });\r\n }\r\n return classes;\r\n };\r\n\r\n // Remove old placement classes to avoid issues\r\n if (baseClass) {\r\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\r\n }\r\n\r\n // replace auto placement with other placements\r\n let hasAuto = placementVals.findIndex(val => val === 'auto');\r\n if (hasAuto >= 0) {\r\n allowedPlacements.forEach(function(obj) {\r\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\r\n placementVals.splice(hasAuto++, 1, obj as Placement);\r\n }\r\n });\r\n }\r\n\r\n // coordinates where to position\r\n\r\n // Required for transform:\r\n const style = targetElement.style;\r\n style.position = 'absolute';\r\n style.top = '0';\r\n style.left = '0';\r\n style['will-change'] = 'transform';\r\n\r\n let testPlacement: Placement | null = null;\r\n let isInViewport = false;\r\n for (testPlacement of placementVals) {\r\n let addedClasses = addClassesToTarget(testPlacement);\r\n\r\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\r\n isInViewport = true;\r\n break;\r\n }\r\n\r\n // Remove the baseClasses for further calculation\r\n if (baseClass) {\r\n addedClasses.forEach((classname) => { classList.remove(classname); });\r\n }\r\n }\r\n\r\n if (!isInViewport) {\r\n // If nothing match, the first placement is the default one\r\n testPlacement = placementVals[0];\r\n addClassesToTarget(testPlacement);\r\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\r\n }\r\n\r\n return testPlacement;\r\n}\r\n\r\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\r\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\r\n\r\nexport type PlacementArray = Placement | Array| string;\r\n","import {padNumber, toInteger, isNumber} from '../util/util';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\nimport {Injectable} from '@angular/core';\r\n\r\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\r\n return new NgbDateISOParserFormatter();\r\n}\r\n\r\n/**\r\n * An abstract service for parsing and formatting dates for the\r\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\r\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\r\n * input element.\r\n *\r\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\r\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\r\n * in the input.\r\n *\r\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\r\n * to use an alternative string format or a custom parsing logic.\r\n *\r\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\r\nexport abstract class NgbDateParserFormatter {\r\n /**\r\n * Parses the given `string` to an `NgbDateStruct`.\r\n *\r\n * Implementations should try their best to provide a result, even\r\n * partial. They must return `null` if the value can't be parsed.\r\n */\r\n abstract parse(value: string): NgbDateStruct | null;\r\n\r\n /**\r\n * Formats the given `NgbDateStruct` to a `string`.\r\n *\r\n * Implementations should return an empty string if the given date is `null`,\r\n * and try their best to provide a partial result if the given date is incomplete or invalid.\r\n */\r\n abstract format(date: NgbDateStruct | null): string;\r\n}\r\n\r\n@Injectable()\r\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\r\n parse(value: string): NgbDateStruct | null {\r\n if (value != null) {\r\n const dateParts = value.trim().split('-');\r\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\r\n return {year: toInteger(dateParts[0]), month: null, day: null};\r\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\r\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\r\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\r\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct | null): string {\r\n return date ?\r\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\r\n '';\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\nimport {NgbDatepickerConfig} from './datepicker-config';\r\nimport {PlacementArray} from '../util/positioning';\r\n\r\n/**\r\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the datepicker inputs used in the application.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\r\n autoClose: boolean | 'inside' | 'outside' = true;\r\n container: null | 'body';\r\n positionTarget: string | HTMLElement;\r\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\r\n restoreFocus: true | HTMLElement | string = true;\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Inject,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {DOCUMENT, TranslationWidth} from '@angular/common';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator\r\n} from '@angular/forms';\r\n\r\nimport {ngbAutoClose} from '../util/autoclose';\r\nimport {ngbFocusTrap} from '../util/focus-trap';\r\nimport {PlacementArray, positionElements} from '../util/positioning';\r\n\r\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\r\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\r\nimport {DayTemplateContext} from './datepicker-day-template-context';\r\nimport {NgbCalendar} from './ngb-calendar';\r\nimport {NgbDate} from './ngb-date';\r\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\r\nimport {NgbDateStruct} from './ngb-date-struct';\r\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\r\nimport {NgbDatepickerConfig} from './datepicker-config';\r\nimport {isString} from '../util/util';\r\n\r\n/**\r\n * A directive that allows to stick a datepicker popup to an input field.\r\n *\r\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\r\n */\r\n@Directive({\r\n selector: 'input[ngbDatepicker]',\r\n exportAs: 'ngbDatepicker',\r\n host: {\r\n '(input)': 'manualDateChange($event.target.value)',\r\n '(change)': 'manualDateChange($event.target.value, true)',\r\n '(focus)': 'onFocus()',\r\n '(blur)': 'onBlur()',\r\n '[disabled]': 'disabled'\r\n },\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\r\n {provide: NG_VALIDATORS, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\r\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\r\n ],\r\n})\r\nexport class NgbInputDatepicker implements OnChanges,\r\n OnDestroy, ControlValueAccessor, Validator {\r\n static ngAcceptInputType_autoClose: boolean | string;\r\n static ngAcceptInputType_disabled: boolean | '';\r\n static ngAcceptInputType_navigation: string;\r\n static ngAcceptInputType_outsideDays: string;\r\n static ngAcceptInputType_weekdays: boolean | number;\r\n\r\n private _cRef: ComponentRef| null = null;\r\n private _disabled = false;\r\n private _elWithFocus: HTMLElement | null = null;\r\n private _model: NgbDate | null = null;\r\n private _inputValue: string;\r\n private _showWeekdays: boolean;\r\n private _zoneSubscription: any;\r\n\r\n /**\r\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\r\n *\r\n * * `true` - the popup will close on both date selection and outside click.\r\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\r\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\r\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\r\n *\r\n * @since 3.0.0\r\n */\r\n @Input() autoClose: boolean | 'inside' | 'outside';\r\n\r\n /**\r\n * An optional class applied to the datepicker popup element.\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() datepickerClass: string;\r\n\r\n /**\r\n * The reference to a custom template for the day.\r\n *\r\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\r\n *\r\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\r\n */\r\n @Input() dayTemplate: TemplateRef;\r\n\r\n /**\r\n * The callback to pass any arbitrary data to the template cell via the\r\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\r\n *\r\n * `current` is the month that is currently displayed by the datepicker.\r\n *\r\n * @since 3.3.0\r\n */\r\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\r\n\r\n /**\r\n * The number of months to display.\r\n */\r\n @Input() displayMonths: number;\r\n\r\n /**\r\n * The first day of the week.\r\n *\r\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\r\n */\r\n @Input() firstDayOfWeek: number;\r\n\r\n /**\r\n * The reference to the custom template for the datepicker footer.\r\n *\r\n * @since 3.3.0\r\n */\r\n @Input() footerTemplate: TemplateRef;\r\n\r\n /**\r\n * The callback to mark some dates as disabled.\r\n *\r\n * It is called for each new date when navigating to a different month.\r\n *\r\n * `current` is the month that is currently displayed by the datepicker.\r\n */\r\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\r\n\r\n /**\r\n * The earliest date that can be displayed or selected. Also used for form validation.\r\n *\r\n * If not provided, 'year' select box will display 10 years before the current month.\r\n */\r\n @Input() minDate: NgbDateStruct;\r\n\r\n /**\r\n * The latest date that can be displayed or selected. Also used for form validation.\r\n *\r\n * If not provided, 'year' select box will display 10 years after the current month.\r\n */\r\n @Input() maxDate: NgbDateStruct;\r\n\r\n /**\r\n * Navigation type.\r\n *\r\n * * `\"select\"` - select boxes for month and navigation arrows\r\n * * `\"arrows\"` - only navigation arrows\r\n * * `\"none\"` - no navigation visible at all\r\n */\r\n @Input() navigation: 'select' | 'arrows' | 'none';\r\n\r\n /**\r\n * The way of displaying days that don't belong to the current month.\r\n *\r\n * * `\"visible\"` - days are visible\r\n * * `\"hidden\"` - days are hidden, white space preserved\r\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\r\n *\r\n * For the 2+ months view, days in between months are never shown.\r\n */\r\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\r\n\r\n /**\r\n * The preferred placement of the datepicker popup.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() placement: PlacementArray;\r\n\r\n /**\r\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\r\n *\r\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\r\n * we'll fallback to focus document body.\r\n *\r\n * @since 5.2.0\r\n */\r\n @Input() restoreFocus: true | string | HTMLElement;\r\n\r\n /**\r\n * If `true`, weekdays will be displayed.\r\n *\r\n * @deprecated 9.1.0, please use 'weekdays' instead\r\n */\r\n @Input()\r\n set showWeekdays(weekdays: boolean) {\r\n this.weekdays = weekdays;\r\n this._showWeekdays = weekdays;\r\n }\r\n\r\n get showWeekdays(): boolean { return this._showWeekdays; }\r\n\r\n /**\r\n * If `true`, week numbers will be displayed.\r\n */\r\n @Input() showWeekNumbers: boolean;\r\n\r\n /**\r\n * The date to open calendar with.\r\n *\r\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n * If nothing or invalid date is provided, calendar will open with current month.\r\n *\r\n * You could use `navigateTo(date)` method as an alternative.\r\n */\r\n @Input() startDate: {year: number, month: number, day?: number};\r\n\r\n /**\r\n * A selector specifying the element the datepicker popup should be appended to.\r\n *\r\n * Currently only supports `\"body\"`.\r\n */\r\n @Input() container: string;\r\n\r\n /**\r\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\r\n *\r\n * By default the input is used as a target.\r\n *\r\n * @since 4.2.0\r\n */\r\n @Input() positionTarget: string | HTMLElement;\r\n\r\n /**\r\n * The way weekdays should be displayed.\r\n *\r\n * * `true` - weekdays are displayed using default width\r\n * * `false` - weekdays are not displayed\r\n * * `TranslationWidth` - weekdays are displayed using specified width\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() weekdays: TranslationWidth | boolean;\r\n\r\n /**\r\n * An event emitted when user selects a date using keyboard or mouse.\r\n *\r\n * The payload of the event is currently selected `NgbDate`.\r\n *\r\n * @since 1.1.1\r\n */\r\n @Output() dateSelect = new EventEmitter();\r\n\r\n /**\r\n * Event emitted right after the navigation happens and displayed month changes.\r\n *\r\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\r\n */\r\n @Output() navigate = new EventEmitter();\r\n\r\n /**\r\n * An event fired after closing datepicker window.\r\n *\r\n * @since 4.2.0\r\n */\r\n @Output() closed = new EventEmitter();\r\n\r\n @Input()\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n set disabled(value: any) {\r\n this._disabled = value === '' || (value && value !== 'false');\r\n\r\n if (this.isOpen()) {\r\n this._cRef !.instance.setDisabledState(this._disabled);\r\n }\r\n }\r\n\r\n private _onChange = (_: any) => {};\r\n private _onTouched = () => {};\r\n private _validatorChange = () => {};\r\n\r\n\r\n constructor(\r\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\r\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\r\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\r\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\r\n config: NgbInputDatepickerConfig) {\r\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\r\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\r\n\r\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\r\n\r\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\r\n\r\n validate(c: AbstractControl): ValidationErrors | null {\r\n const {value} = c;\r\n\r\n if (value != null) {\r\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\r\n\r\n if (!ngbDate) {\r\n return {'ngbDate': {invalid: value}};\r\n }\r\n\r\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\r\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\r\n }\r\n\r\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\r\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n writeValue(value) {\r\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\r\n this._writeModelValue(this._model);\r\n }\r\n\r\n manualDateChange(value: string, updateView = false) {\r\n const inputValueChanged = value !== this._inputValue;\r\n if (inputValueChanged) {\r\n this._inputValue = value;\r\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\r\n }\r\n if (inputValueChanged || !updateView) {\r\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\r\n }\r\n if (updateView && this._model) {\r\n this._writeModelValue(this._model);\r\n }\r\n }\r\n\r\n isOpen() { return !!this._cRef; }\r\n\r\n /**\r\n * Opens the datepicker popup.\r\n *\r\n * If the related form control contains a valid date, the corresponding month will be opened.\r\n */\r\n open() {\r\n if (!this.isOpen()) {\r\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\r\n this._cRef = this._vcRef.createComponent(cf);\r\n\r\n this._applyPopupStyling(this._cRef.location.nativeElement);\r\n this._applyDatepickerInputs(this._cRef.instance);\r\n this._subscribeForDatepickerOutputs(this._cRef.instance);\r\n this._cRef.instance.ngOnInit();\r\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\r\n\r\n // date selection event handling\r\n this._cRef.instance.registerOnChange((selectedDate) => {\r\n this.writeValue(selectedDate);\r\n this._onChange(selectedDate);\r\n this._onTouched();\r\n });\r\n\r\n this._cRef.changeDetectorRef.detectChanges();\r\n\r\n this._cRef.instance.setDisabledState(this.disabled);\r\n\r\n if (this.container === 'body') {\r\n this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\r\n }\r\n\r\n // focus handling\r\n this._elWithFocus = this._document.activeElement;\r\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\r\n this._cRef.instance.focus();\r\n\r\n ngbAutoClose(\r\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\r\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\r\n }\r\n }\r\n\r\n /**\r\n * Closes the datepicker popup.\r\n */\r\n close() {\r\n if (this.isOpen()) {\r\n this._vcRef.remove(this._vcRef.indexOf(this._cRef !.hostView));\r\n this._cRef = null;\r\n this.closed.emit();\r\n this._changeDetector.markForCheck();\r\n\r\n // restore focus\r\n let elementToFocus: HTMLElement | null = this._elWithFocus;\r\n if (isString(this.restoreFocus)) {\r\n elementToFocus = this._document.querySelector(this.restoreFocus);\r\n } else if (this.restoreFocus !== undefined) {\r\n elementToFocus = this.restoreFocus as HTMLElement;\r\n }\r\n\r\n // in IE document.activeElement can contain an object without 'focus()' sometimes\r\n if (elementToFocus && elementToFocus['focus']) {\r\n elementToFocus.focus();\r\n } else {\r\n this._document.body.focus();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the datepicker popup.\r\n */\r\n toggle() {\r\n if (this.isOpen()) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /**\r\n * Navigates to the provided date.\r\n *\r\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\r\n * If nothing or invalid date provided calendar will open current month.\r\n *\r\n * Use the `[startDate]` input as an alternative.\r\n */\r\n navigateTo(date?: {year: number, month: number, day?: number}) {\r\n if (this.isOpen()) {\r\n this._cRef !.instance.navigateTo(date);\r\n }\r\n }\r\n\r\n onBlur() { this._onTouched(); }\r\n\r\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['minDate'] || changes['maxDate']) {\r\n this._validatorChange();\r\n\r\n if (this.isOpen()) {\r\n if (changes['minDate']) {\r\n this._cRef !.instance.minDate = this.minDate;\r\n }\r\n if (changes['maxDate']) {\r\n this._cRef !.instance.maxDate = this.maxDate;\r\n }\r\n this._cRef !.instance.ngOnChanges(changes);\r\n }\r\n }\r\n\r\n if (changes['datepickerClass']) {\r\n const {currentValue, previousValue} = changes['datepickerClass'];\r\n this._applyPopupClass(currentValue, previousValue);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.close();\r\n this._zoneSubscription.unsubscribe();\r\n }\r\n\r\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\r\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\r\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekNumbers', 'weekdays']\r\n .forEach((optionName: string) => {\r\n if (this[optionName] !== undefined) {\r\n datepickerInstance[optionName] = this[optionName];\r\n }\r\n });\r\n datepickerInstance.startDate = this.startDate || this._model;\r\n }\r\n\r\n private _applyPopupClass(newClass: string, oldClass?: string) {\r\n const popupEl = this._cRef ?.location.nativeElement;\r\n if (popupEl) {\r\n if (newClass) {\r\n this._renderer.addClass(popupEl, newClass);\r\n }\r\n if (oldClass) {\r\n this._renderer.removeClass(popupEl, oldClass);\r\n }\r\n }\r\n }\r\n\r\n private _applyPopupStyling(nativeElement: any) {\r\n this._renderer.addClass(nativeElement, 'dropdown-menu');\r\n this._renderer.addClass(nativeElement, 'show');\r\n\r\n if (this.container === 'body') {\r\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\r\n }\r\n\r\n this._applyPopupClass(this.datepickerClass);\r\n }\r\n\r\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\r\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\r\n datepickerInstance.dateSelect.subscribe(date => {\r\n this.dateSelect.emit(date);\r\n if (this.autoClose === true || this.autoClose === 'inside') {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n private _writeModelValue(model: NgbDate | null) {\r\n const value = this._parserFormatter.format(model);\r\n this._inputValue = value;\r\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\r\n if (this.isOpen()) {\r\n this._cRef !.instance.writeValue(this._dateAdapter.toModel(model));\r\n this._onTouched();\r\n }\r\n }\r\n\r\n private _fromDateStruct(date: NgbDateStruct | null): NgbDate | null {\r\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\r\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\r\n }\r\n\r\n private _updatePopupPosition() {\r\n if (!this._cRef) {\r\n return;\r\n }\r\n\r\n let hostElement: HTMLElement;\r\n if (isString(this.positionTarget)) {\r\n hostElement = this._document.querySelector(this.positionTarget);\r\n } else if (this.positionTarget instanceof HTMLElement) {\r\n hostElement = this.positionTarget;\r\n } else {\r\n hostElement = this._elRef.nativeElement;\r\n }\r\n\r\n if (this.positionTarget && !hostElement) {\r\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\r\n }\r\n\r\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\r\nimport {NgbDate} from './ngb-date';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\n\r\n@Component({\r\n selector: '[ngbDatepickerDayView]',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./datepicker-day-view.scss'],\r\n host: {\r\n 'class': 'btn-light',\r\n '[class.bg-primary]': 'selected',\r\n '[class.text-white]': 'selected',\r\n '[class.text-muted]': 'isMuted()',\r\n '[class.outside]': 'isMuted()',\r\n '[class.active]': 'focused'\r\n },\r\n template: `{{ i18n.getDayNumerals(date) }}`\r\n})\r\nexport class NgbDatepickerDayView {\r\n @Input() currentMonth: number;\r\n @Input() date: NgbDate;\r\n @Input() disabled: boolean;\r\n @Input() focused: boolean;\r\n @Input() selected: boolean;\r\n\r\n constructor(public i18n: NgbDatepickerI18n) {}\r\n\r\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n AfterViewChecked,\r\n ViewChild,\r\n ElementRef,\r\n Renderer2\r\n} from '@angular/core';\r\nimport {NgbDate} from './ngb-date';\r\nimport {toInteger} from '../util/util';\r\nimport {NgbDatepickerI18n} from './datepicker-i18n';\r\n\r\n@Component({\r\n selector: 'ngb-datepicker-navigation-select',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./datepicker-navigation-select.scss'],\r\n template: `\r\n \r\n `\r\n})\r\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\r\n @Input() date: NgbDate;\r\n @Input() disabled: boolean;\r\n @Input() months: number[];\r\n @Input() years: number[];\r\n\r\n @Output() select = new EventEmitter();\r\n\r\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\r\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\r\n\r\n private _month = -1;\r\n private _year = -1;\r\n\r\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\r\n\r\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\r\n\r\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\r\n\r\n ngAfterViewChecked() {\r\n if (this.date) {\r\n if (this.date.month !== this._month) {\r\n this._month = this.date.month;\r\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\r\n }\r\n if (this.date.year !== this._year) {\r\n this._year = this.date.year;\r\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgbDate} from '../ngb-date';\r\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\r\nimport {Injectable} from '@angular/core';\r\nimport {isNumber} from '../../util/util';\r\n\r\n@Injectable()\r\nexport abstract class NgbCalendarHijri extends NgbCalendar {\r\n /**\r\n * Returns the number of days in a specific Hijri month.\r\n * `month` is 1 for Muharram, 2 for Safar, etc.\r\n * `year` is any Hijri year.\r\n */\r\n abstract getDaysPerMonth(month: number, year: number): number;\r\n\r\n /**\r\n * Returns the equivalent Hijri date value for a give input Gregorian date.\r\n * `gDate` is s JS Date to be converted to Hijri.\r\n */\r\n abstract fromGregorian(gDate: Date): NgbDate;\r\n\r\n /**\r\n * Converts the current Hijri date to Gregorian.\r\n */\r\n abstract toGregorian(hDate: NgbDate): Date;\r\n\r\n getDaysPerWeek() { return 7; }\r\n\r\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\r\n\r\n getWeeksPerMonth() { return 6; }\r\n\r\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\r\n date = new NgbDate(date.year, date.month, date.day);\r\n\r\n switch (period) {\r\n case 'y':\r\n date = this._setYear(date, date.year + number);\r\n date.month = 1;\r\n date.day = 1;\r\n return date;\r\n case 'm':\r\n date = this._setMonth(date, date.month + number);\r\n date.day = 1;\r\n return date;\r\n case 'd':\r\n return this._setDay(date, date.day + number);\r\n default:\r\n return date;\r\n }\r\n }\r\n\r\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\r\n\r\n getWeekday(date: NgbDate) {\r\n const day = this.toGregorian(date).getDay();\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n return day === 0 ? 7 : day;\r\n }\r\n\r\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n if (firstDayOfWeek === 7) {\r\n firstDayOfWeek = 0;\r\n }\r\n\r\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\r\n const date = week[thursdayIndex];\r\n\r\n const jsDate = this.toGregorian(date);\r\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\r\n const time = jsDate.getTime();\r\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\r\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\r\n }\r\n\r\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\r\n\r\n\r\n isValid(date?: NgbDate | null): boolean {\r\n return date != null && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\r\n !isNaN(this.toGregorian(date).getTime());\r\n }\r\n\r\n private _setDay(date: NgbDate, day: number): NgbDate {\r\n day = +day;\r\n let mDays = this.getDaysPerMonth(date.month, date.year);\r\n if (day <= 0) {\r\n while (day <= 0) {\r\n date = this._setMonth(date, date.month - 1);\r\n mDays = this.getDaysPerMonth(date.month, date.year);\r\n day += mDays;\r\n }\r\n } else if (day > mDays) {\r\n while (day > mDays) {\r\n day -= mDays;\r\n date = this._setMonth(date, date.month + 1);\r\n mDays = this.getDaysPerMonth(date.month, date.year);\r\n }\r\n }\r\n date.day = day;\r\n return date;\r\n }\r\n\r\n private _setMonth(date: NgbDate, month: number): NgbDate {\r\n month = +month;\r\n date.year = date.year + Math.floor((month - 1) / 12);\r\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\r\n return date;\r\n }\r\n\r\n private _setYear(date: NgbDate, year: number): NgbDate {\r\n date.year = +year;\r\n return date;\r\n }\r\n}\r\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\r\nimport {NgbDate} from '../ngb-date';\r\nimport {Injectable} from '@angular/core';\r\n\r\n/**\r\n * Checks if islamic year is a leap year\r\n */\r\nfunction isIslamicLeapYear(hYear: number): boolean {\r\n return (14 + 11 * hYear) % 30 < 11;\r\n}\r\n\r\n/**\r\n * Checks if gregorian years is a leap year\r\n */\r\nfunction isGregorianLeapYear(gDate: Date): boolean {\r\n const year = gDate.getFullYear();\r\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\r\n}\r\n\r\n/**\r\n * Returns the start of Hijri Month.\r\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\r\n * `hYear` is any Hijri hYear.\r\n */\r\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\r\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\r\n}\r\n\r\n/**\r\n * Returns the start of Hijri year.\r\n * `year` is any Hijri year.\r\n */\r\nfunction getIslamicYearStart(year: number): number {\r\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\r\n}\r\n\r\nfunction mod(a: number, b: number): number {\r\n return a - b * Math.floor(a / b);\r\n}\r\n\r\n/**\r\n * The civil calendar is one type of Hijri calendars used in islamic countries.\r\n * Uses a fixed cycle of alternating 29- and 30-day months,\r\n * with a leap day added to the last month of 11 out of every 30 years.\r\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\r\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\r\n * Dershowitz.\r\n */\r\n\r\nconst GREGORIAN_EPOCH = 1721425.5;\r\nconst ISLAMIC_EPOCH = 1948439.5;\r\n\r\n@Injectable()\r\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\r\n /**\r\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\r\n * `gDate` is a JS Date to be converted to Hijri.\r\n */\r\n fromGregorian(gDate: Date): NgbDate {\r\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\r\n\r\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\r\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\r\n Math.floor(\r\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\r\n julianDay = Math.floor(julianDay) + 0.5;\r\n\r\n const days = julianDay - ISLAMIC_EPOCH;\r\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\r\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\r\n hMonth = Math.min(hMonth, 11);\r\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\r\n return new NgbDate(hYear, hMonth + 1, hDay);\r\n }\r\n\r\n /**\r\n * Returns the equivalent JS date value for a give input islamic(civil) date.\r\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\r\n */\r\n toGregorian(hDate: NgbDate): Date {\r\n const hYear = hDate.year;\r\n const hMonth = hDate.month - 1;\r\n const hDay = hDate.day;\r\n const julianDay =\r\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\r\n\r\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\r\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\r\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\r\n yindex = Math.floor(dquad / 365);\r\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\r\n if (!(cent === 4 || yindex === 4)) {\r\n year++;\r\n }\r\n\r\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\r\n Math.floor((year - 1) / 400);\r\n\r\n const yearday = wjd - gYearStart;\r\n\r\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\r\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\r\n\r\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\r\n\r\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\r\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\r\n Math.floor((year - 1) / 400) +\r\n Math.floor(\r\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\r\n 1);\r\n\r\n const day = wjd - tjd2 + 1;\r\n\r\n return new Date(year, month - 1, day);\r\n }\r\n\r\n /**\r\n * Returns the number of days in a specific Hijri month.\r\n * `month` is 1 for Muharram, 2 for Safar, etc.\r\n * `year` is any Hijri year.\r\n */\r\n getDaysPerMonth(month: number, year: number): number {\r\n year = year + Math.floor(month / 13);\r\n month = ((month - 1) % 12) + 1;\r\n let length = 29 + month % 2;\r\n if (month === 12 && isIslamicLeapYear(year)) {\r\n length++;\r\n }\r\n return length;\r\n }\r\n}\r\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\r\nimport {NgbDate} from '../ngb-date';\r\nimport {Injectable} from '@angular/core';\r\n\r\n/**\r\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\r\n * This Calendar is used by Saudi Arabia for administrative purpose.\r\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\r\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\r\n */\r\n\r\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\r\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\r\nconst HIJRI_BEGIN = 1300;\r\nconst HIJRI_END = 1600;\r\nconst ONE_DAY = 1000 * 60 * 60 * 24;\r\n\r\nconst MONTH_LENGTH = [\r\n // 1300-1304\r\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\r\n // 1305-1309\r\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\r\n // 1310-1314\r\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\r\n // 1315-1319\r\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\r\n // 1320-1324\r\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\r\n // 1325-1329\r\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\r\n // 1330-1334\r\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\r\n // 1335-1339\r\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\r\n // 1340-1344\r\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\r\n // 1345-1349\r\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\r\n // 1350-1354\r\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\r\n // 1355-1359\r\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\r\n // 1360-1364\r\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\r\n // 1365-1369\r\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\r\n // 1370-1374\r\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\r\n // 1375-1379\r\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\r\n // 1380-1384\r\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\r\n // 1385-1389\r\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\r\n // 1390-1394\r\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\r\n // 1395-1399\r\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\r\n // 1400-1404\r\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\r\n // 1405-1409\r\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\r\n // 1410-1414\r\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\r\n // 1415-1419\r\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\r\n // 1420-1424\r\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\r\n // 1425-1429\r\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\r\n // 1430-1434\r\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\r\n // 1435-1439\r\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\r\n // 1440-1444\r\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\r\n // 1445-1449\r\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\r\n // 1450-1454\r\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\r\n // 1455-1459\r\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\r\n // 1460-1464\r\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\r\n // 1465-1469\r\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\r\n // 1470-1474\r\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\r\n // 1475-1479\r\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\r\n // 1480-1484\r\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\r\n // 1485-1489\r\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\r\n // 1490-1494\r\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\r\n // 1495-1499\r\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\r\n // 1500-1504\r\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\r\n // 1505-1509\r\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\r\n // 1510-1514\r\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\r\n // 1515-1519\r\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\r\n // 1520-1524\r\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\r\n // 1525-1529\r\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\r\n // 1530-1534\r\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\r\n // 1535-1539\r\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\r\n // 1540-1544\r\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\r\n // 1545-1549\r\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\r\n // 1550-1554\r\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\r\n // 1555-1559\r\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\r\n // 1560-1564\r\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\r\n // 1565-1569\r\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\r\n // 1570-1574\r\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\r\n // 1575-1579\r\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\r\n // 1580-1584\r\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\r\n // 1585-1589\r\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\r\n // 1590-1594\r\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\r\n // 1595-1599\r\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\r\n // 1600\r\n '001010011101'\r\n];\r\n\r\nfunction getDaysDiff(date1: Date, date2: Date): number {\r\n // Ignores the time part in date1 and date2:\r\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\r\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\r\n const diff = Math.abs(time1 - time2);\r\n return Math.round(diff / ONE_DAY);\r\n}\r\n\r\n@Injectable()\r\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\r\n /**\r\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\r\n * `gdate` is s JS Date to be converted to Hijri.\r\n */\r\n fromGregorian(gDate: Date): NgbDate {\r\n let hDay = 1, hMonth = 0, hYear = 1300;\r\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\r\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\r\n let year = 1300;\r\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\r\n for (let j = 0; j < 12; j++) {\r\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\r\n if (daysDiff <= numOfDays) {\r\n hDay = daysDiff + 1;\r\n if (hDay > numOfDays) {\r\n hDay = 1;\r\n j++;\r\n }\r\n if (j > 11) {\r\n j = 0;\r\n year++;\r\n }\r\n hMonth = j;\r\n hYear = year;\r\n return new NgbDate(hYear, hMonth + 1, hDay);\r\n }\r\n daysDiff = daysDiff - numOfDays;\r\n }\r\n }\r\n return null as any;\r\n } else {\r\n return super.fromGregorian(gDate);\r\n }\r\n }\r\n /**\r\n * Converts the current Hijri date to Gregorian.\r\n */\r\n toGregorian(hDate: NgbDate): Date {\r\n const hYear = hDate.year;\r\n const hMonth = hDate.month - 1;\r\n const hDay = hDate.day;\r\n let gDate = new Date(GREGORIAN_FIRST_DATE);\r\n let dayDiff = hDay - 1;\r\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\r\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\r\n for (let m = 0; m < 12; m++) {\r\n dayDiff += +MONTH_LENGTH[y][m] + 29;\r\n }\r\n }\r\n for (let m = 0; m < hMonth; m++) {\r\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\r\n }\r\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\r\n } else {\r\n gDate = super.toGregorian(hDate);\r\n }\r\n return gDate;\r\n }\r\n /**\r\n * Returns the number of days in a specific Hijri hMonth.\r\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\r\n * `hYear` is any Hijri hYear.\r\n */\r\n getDaysPerMonth(hMonth: number, hYear: number): number {\r\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\r\n const pos = hYear - HIJRI_BEGIN;\r\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\r\n }\r\n return super.getDaysPerMonth(hMonth, hYear);\r\n }\r\n}\r\n","import {NgbDate} from '../ngb-date';\r\n\r\n/**\r\n * Returns the equivalent JS date value for a give input Jalali date.\r\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\r\n */\r\nexport function toGregorian(jalaliDate: NgbDate): Date {\r\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\r\n let date = julianToGregorian(jdn);\r\n date.setHours(6, 30, 3, 200);\r\n return date;\r\n}\r\n\r\n/**\r\n * Returns the equivalent jalali date value for a give input Gregorian date.\r\n * `gdate` is a JS Date to be converted to jalali.\r\n * utc to local\r\n */\r\nexport function fromGregorian(gdate: Date): NgbDate {\r\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\r\n return julianToJalali(g2d);\r\n}\r\n\r\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\r\n date.year = +yearValue;\r\n return date;\r\n}\r\n\r\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\r\n month = +month;\r\n date.year = date.year + Math.floor((month - 1) / 12);\r\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\r\n return date;\r\n}\r\n\r\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\r\n let mDays = getDaysPerMonth(date.month, date.year);\r\n if (day <= 0) {\r\n while (day <= 0) {\r\n date = setJalaliMonth(date, date.month - 1);\r\n mDays = getDaysPerMonth(date.month, date.year);\r\n day += mDays;\r\n }\r\n } else if (day > mDays) {\r\n while (day > mDays) {\r\n day -= mDays;\r\n date = setJalaliMonth(date, date.month + 1);\r\n mDays = getDaysPerMonth(date.month, date.year);\r\n }\r\n }\r\n date.day = day;\r\n return date;\r\n}\r\n\r\nfunction mod(a: number, b: number): number {\r\n return a - b * Math.floor(a / b);\r\n}\r\n\r\nfunction div(a: number, b: number) {\r\n return Math.trunc(a / b);\r\n}\r\n\r\n/*\r\n This function determines if the Jalali (Persian) year is\r\n leap (366-day long) or is the common year (365 days), and\r\n finds the day in March (Gregorian calendar) of the first\r\n day of the Jalali year (jalaliYear).\r\n @param jalaliYear Jalali calendar year (-61 to 3177)\r\n @return\r\n leap: number of years since the last leap year (0 to 4)\r\n gYear: Gregorian year of the beginning of Jalali year\r\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\r\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\r\n @see: http://www.fourmilab.ch/documents/calendar/\r\n */\r\nfunction jalCal(jalaliYear: number) {\r\n // Jalali years starting the 33-year rule.\r\n let breaks =\r\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\r\n const breaksLength = breaks.length;\r\n const gYear = jalaliYear + 621;\r\n let leapJ = -14;\r\n let jp = breaks[0];\r\n\r\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\r\n throw new Error('Invalid Jalali year ' + jalaliYear);\r\n }\r\n\r\n // Find the limiting years for the Jalali year jalaliYear.\r\n let jump;\r\n for (let i = 1; i < breaksLength; i += 1) {\r\n const jm = breaks[i];\r\n jump = jm - jp;\r\n if (jalaliYear < jm) {\r\n break;\r\n }\r\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\r\n jp = jm;\r\n }\r\n let n = jalaliYear - jp;\r\n\r\n // Find the number of leap years from AD 621 to the beginning\r\n // of the current Jalali year in the Persian calendar.\r\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\r\n if (mod(jump, 33) === 4 && jump - n === 4) {\r\n leapJ += 1;\r\n }\r\n\r\n // And the same in the Gregorian calendar (until the year gYear).\r\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\r\n\r\n // Determine the Gregorian date of Farvardin the 1st.\r\n const march = 20 + leapJ - leapG;\r\n\r\n // Find how many years have passed since the last leap year.\r\n if (jump - n < 6) {\r\n n = n - jump + div(jump + 4, 33) * 33;\r\n }\r\n let leap = mod(mod(n + 1, 33) - 1, 4);\r\n if (leap === -1) {\r\n leap = 4;\r\n }\r\n\r\n return {leap: leap, gy: gYear, march: march};\r\n}\r\n\r\n/*\r\n Calculates Gregorian and Julian calendar dates from the Julian Day number\r\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\r\n calendars) to some millions years ahead of the present.\r\n @param jdn Julian Day number\r\n @return\r\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\r\n gMonth: Calendar month (1 to 12)\r\n gDay: Calendar day of the month M (1 to 28/29/30/31)\r\n */\r\nfunction julianToGregorian(julianDayNumber: number) {\r\n let j = 4 * julianDayNumber + 139361631;\r\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\r\n const i = div(mod(j, 1461), 4) * 5 + 308;\r\n const gDay = div(mod(i, 153), 5) + 1;\r\n const gMonth = mod(div(i, 153), 12) + 1;\r\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\r\n\r\n return new Date(gYear, gMonth - 1, gDay);\r\n}\r\n\r\n/*\r\n Converts a date of the Jalali calendar to the Julian Day number.\r\n @param jy Jalali year (1 to 3100)\r\n @param jm Jalali month (1 to 12)\r\n @param jd Jalali day (1 to 29/31)\r\n @return Julian Day number\r\n */\r\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\r\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\r\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\r\n return d;\r\n}\r\n\r\n/*\r\n Converts the Julian Day number to a date in the Jalali calendar.\r\n @param julianDayNumber Julian Day number\r\n @return\r\n jalaliYear: Jalali year (1 to 3100)\r\n jalaliMonth: Jalali month (1 to 12)\r\n jalaliDay: Jalali day (1 to 29/31)\r\n */\r\nfunction julianToJalali(julianDayNumber: number) {\r\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\r\n ,\r\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\r\n jalaliMonth, numberOfDays;\r\n\r\n // Find number of days that passed since 1 Farvardin.\r\n numberOfDays = julianDayNumber - gregorianDay;\r\n if (numberOfDays >= 0) {\r\n if (numberOfDays <= 185) {\r\n // The first 6 months.\r\n jalaliMonth = 1 + div(numberOfDays, 31);\r\n jalaliDay = mod(numberOfDays, 31) + 1;\r\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\r\n } else {\r\n // The remaining months.\r\n numberOfDays -= 186;\r\n }\r\n } else {\r\n // Previous Jalali year.\r\n jalaliYear -= 1;\r\n numberOfDays += 179;\r\n if (r.leap === 1) {\r\n numberOfDays += 1;\r\n }\r\n }\r\n jalaliMonth = 7 + div(numberOfDays, 30);\r\n jalaliDay = mod(numberOfDays, 30) + 1;\r\n\r\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\r\n}\r\n\r\n/*\r\n Converts a date of the Jalali calendar to the Julian Day number.\r\n @param jYear Jalali year (1 to 3100)\r\n @param jMonth Jalali month (1 to 12)\r\n @param jDay Jalali day (1 to 29/31)\r\n @return Julian Day number\r\n */\r\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\r\n let r = jalCal(jYear);\r\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\r\n}\r\n\r\n/**\r\n * Returns the number of days in a specific jalali month.\r\n */\r\nfunction getDaysPerMonth(month: number, year: number): number {\r\n if (month <= 6) {\r\n return 31;\r\n }\r\n if (month <= 11) {\r\n return 30;\r\n }\r\n if (jalCal(year).leap === 0) {\r\n return 30;\r\n }\r\n return 29;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbDate} from '../ngb-date';\r\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\r\nimport {isInteger} from '../../util/util';\r\n\r\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\r\n\r\n@Injectable()\r\nexport class NgbCalendarPersian extends NgbCalendar {\r\n getDaysPerWeek() { return 7; }\r\n\r\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\r\n\r\n getWeeksPerMonth() { return 6; }\r\n\r\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\r\n date = new NgbDate(date.year, date.month, date.day);\r\n\r\n switch (period) {\r\n case 'y':\r\n date = setJalaliYear(date, date.year + number);\r\n date.month = 1;\r\n date.day = 1;\r\n return date;\r\n case 'm':\r\n date = setJalaliMonth(date, date.month + number);\r\n date.day = 1;\r\n return date;\r\n case 'd':\r\n return setJalaliDay(date, date.day + number);\r\n default:\r\n return date;\r\n }\r\n }\r\n\r\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\r\n\r\n getWeekday(date: NgbDate) {\r\n const day = toGregorian(date).getDay();\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n return day === 0 ? 7 : day;\r\n }\r\n\r\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n if (firstDayOfWeek === 7) {\r\n firstDayOfWeek = 0;\r\n }\r\n\r\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\r\n const date = week[thursdayIndex];\r\n\r\n const jsDate = toGregorian(date);\r\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\r\n const time = jsDate.getTime();\r\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\r\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\r\n }\r\n\r\n getToday(): NgbDate { return fromGregorian(new Date()); }\r\n\r\n isValid(date?: NgbDate | null): boolean {\r\n return date != null && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\r\n !isNaN(toGregorian(date).getTime());\r\n }\r\n}\r\n","import {NgbDate} from '../ngb-date';\r\nimport {NgbDateStruct} from '../ngb-date-struct';\r\n\r\nconst PARTS_PER_HOUR = 1080;\r\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\r\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\r\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\r\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\r\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\r\nconst GREGORIAN_EPOCH = 1721425.5;\r\n\r\nfunction isGregorianLeapYear(year: number): boolean {\r\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\r\n}\r\n\r\nfunction numberOfFirstDayInYear(year: number): number {\r\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\r\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\r\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\r\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\r\n\r\n let dayOfWeek = dayNumber % 7; // 0 == Monday\r\n\r\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\r\n dayNumber++;\r\n dayOfWeek = dayNumber % 7;\r\n }\r\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\r\n dayNumber += 2;\r\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\r\n dayNumber++;\r\n }\r\n return dayNumber;\r\n}\r\n\r\nfunction getDaysInGregorianMonth(month: number, year: number): number {\r\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n if (isGregorianLeapYear(year)) {\r\n days[1]++;\r\n }\r\n return days[month - 1];\r\n}\r\n\r\nfunction getHebrewMonths(year: number): number {\r\n return isHebrewLeapYear(year) ? 13 : 12;\r\n}\r\n\r\n/**\r\n * Returns the number of days in a specific Hebrew year.\r\n * `year` is any Hebrew year.\r\n */\r\nfunction getDaysInHebrewYear(year: number): number {\r\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\r\n}\r\n\r\nexport function isHebrewLeapYear(year?: number): boolean {\r\n if (year != null) {\r\n let b = (year * 12 + 17) % 19;\r\n return b >= ((b < 0) ? -7 : 12);\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * Returns the number of days in a specific Hebrew month.\r\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\r\n * `year` is any Hebrew year.\r\n */\r\nexport function getDaysInHebrewMonth(month: number, year: number): number {\r\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\r\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\r\n let leapYear = isHebrewLeapYear(year);\r\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\r\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\r\n if (yearType > 0) {\r\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\r\n }\r\n if (yearType > 1) {\r\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\r\n }\r\n return daysInMonth[month - 1];\r\n}\r\n\r\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\r\n let numberOfDay = 0;\r\n for (let i = 1; i < date.month; i++) {\r\n numberOfDay += getDaysInHebrewMonth(i, date.year);\r\n }\r\n return numberOfDay + date.day;\r\n}\r\n\r\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\r\n let after = val >= 0;\r\n if (!after) {\r\n val = -val;\r\n }\r\n while (val > 0) {\r\n if (after) {\r\n if (val > getHebrewMonths(date.year) - date.month) {\r\n val -= getHebrewMonths(date.year) - date.month + 1;\r\n date.year++;\r\n date.month = 1;\r\n } else {\r\n date.month += val;\r\n val = 0;\r\n }\r\n } else {\r\n if (val >= date.month) {\r\n date.year--;\r\n val -= date.month;\r\n date.month = getHebrewMonths(date.year);\r\n } else {\r\n date.month -= val;\r\n val = 0;\r\n }\r\n }\r\n }\r\n return date;\r\n}\r\n\r\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\r\n let after = val >= 0;\r\n if (!after) {\r\n val = -val;\r\n }\r\n while (val > 0) {\r\n if (after) {\r\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\r\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\r\n date.year++;\r\n date.month = 1;\r\n date.day = 1;\r\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\r\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\r\n date.month++;\r\n date.day = 1;\r\n } else {\r\n date.day += val;\r\n val = 0;\r\n }\r\n } else {\r\n if (val >= date.day) {\r\n val -= date.day;\r\n date.month--;\r\n if (date.month === 0) {\r\n date.year--;\r\n date.month = getHebrewMonths(date.year);\r\n }\r\n date.day = getDaysInHebrewMonth(date.month, date.year);\r\n } else {\r\n date.day -= val;\r\n val = 0;\r\n }\r\n }\r\n }\r\n return date;\r\n}\r\n\r\n/**\r\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\r\n * `gdate` is a JS Date to be converted to Hebrew date.\r\n */\r\nexport function fromGregorian(gdate: Date): NgbDate {\r\n const date = new Date(gdate);\r\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\r\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\r\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\r\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\r\n julianDay = Math.floor(julianDay + 0.5);\r\n let daysSinceHebEpoch = julianDay - 347997;\r\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\r\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\r\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\r\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\r\n while (dayOfYear < 1) {\r\n hYear--;\r\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\r\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\r\n }\r\n let hMonth = 1;\r\n let hDay = dayOfYear;\r\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\r\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\r\n hMonth++;\r\n }\r\n return new NgbDate(hYear, hMonth, hDay);\r\n}\r\n\r\n/**\r\n * Returns the equivalent JS date value for a given Hebrew date.\r\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\r\n */\r\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\r\n const hYear = hebrewDate.year;\r\n const hMonth = hebrewDate.month;\r\n const hDay = hebrewDate.day;\r\n let days = numberOfFirstDayInYear(hYear);\r\n for (let i = 1; i < hMonth; i++) {\r\n days += getDaysInHebrewMonth(i, hYear);\r\n }\r\n days += hDay;\r\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\r\n let after = diffDays >= 0;\r\n if (!after) {\r\n diffDays = -diffDays;\r\n }\r\n let gYear = 1970;\r\n let gMonth = 1;\r\n let gDay = 1;\r\n while (diffDays > 0) {\r\n if (after) {\r\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\r\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\r\n gYear++;\r\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\r\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\r\n gMonth++;\r\n } else {\r\n gDay += diffDays;\r\n diffDays = 0;\r\n }\r\n } else {\r\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\r\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\r\n gYear--;\r\n } else {\r\n if (gMonth > 1) {\r\n gMonth--;\r\n } else {\r\n gMonth = 12;\r\n gYear--;\r\n }\r\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\r\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\r\n } else {\r\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\r\n diffDays = 0;\r\n }\r\n }\r\n }\r\n }\r\n return new Date(gYear, gMonth - 1, gDay);\r\n}\r\n\r\nexport function hebrewNumerals(numerals: number): string {\r\n if (!numerals) {\r\n return '';\r\n }\r\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\r\n const hArray10_19 = [\r\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\r\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\r\n ];\r\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\r\n const hArray100_900 = [\r\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\r\n '\\u05ea\\u05ea\\u05e7'\r\n ];\r\n const hArray1000_9000 = [\r\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\r\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\r\n ];\r\n const geresh = '\\u05f3', gershaim = '\\u05f4';\r\n let mem = 0;\r\n let result: string[] = [];\r\n let step = 0;\r\n while (numerals > 0) {\r\n let m = numerals % 10;\r\n if (step === 0) {\r\n mem = m;\r\n } else if (step === 1) {\r\n if (m !== 1) {\r\n result.unshift(hArray20_90[m], hArray0_9[mem]);\r\n } else {\r\n result.unshift(hArray10_19[mem]);\r\n }\r\n } else if (step === 2) {\r\n result.unshift(hArray100_900[m]);\r\n } else {\r\n if (m !== 5) {\r\n result.unshift(hArray1000_9000[m], geresh, ' ');\r\n }\r\n break;\r\n }\r\n numerals = Math.floor(numerals / 10);\r\n if (step === 0 && numerals === 0) {\r\n result.unshift(hArray0_9[m]);\r\n }\r\n step++;\r\n }\r\n result = result.join('').split('');\r\n if (result.length === 1) {\r\n result.push(geresh);\r\n } else if (result.length > 1) {\r\n result.splice(result.length - 1, 0, gershaim);\r\n }\r\n return result.join('');\r\n}\r\n","import {NgbDate} from '../ngb-date';\r\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\r\nimport {Injectable} from '@angular/core';\r\nimport {isNumber} from '../../util/util';\r\nimport {\r\n fromGregorian,\r\n getDayNumberInHebrewYear,\r\n getDaysInHebrewMonth,\r\n isHebrewLeapYear,\r\n toGregorian,\r\n setHebrewDay,\r\n setHebrewMonth\r\n} from './hebrew';\r\n\r\n/**\r\n * @since 3.2.0\r\n */\r\n@Injectable()\r\nexport class NgbCalendarHebrew extends NgbCalendar {\r\n getDaysPerWeek() { return 7; }\r\n\r\n getMonths(year?: number) {\r\n if (year && isHebrewLeapYear(year)) {\r\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\r\n } else {\r\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\r\n }\r\n }\r\n\r\n getWeeksPerMonth() { return 6; }\r\n\r\n isValid(date?: NgbDate | null): boolean {\r\n if (date != null) {\r\n let b = isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\r\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\r\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\r\n return b && !isNaN(toGregorian(date).getTime());\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\r\n date = new NgbDate(date.year, date.month, date.day);\r\n\r\n switch (period) {\r\n case 'y':\r\n date.year += number;\r\n date.month = 1;\r\n date.day = 1;\r\n return date;\r\n case 'm':\r\n date = setHebrewMonth(date, number);\r\n date.day = 1;\r\n return date;\r\n case 'd':\r\n return setHebrewDay(date, number);\r\n default:\r\n return date;\r\n }\r\n }\r\n\r\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\r\n\r\n getWeekday(date: NgbDate) {\r\n const day = toGregorian(date).getDay();\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n return day === 0 ? 7 : day;\r\n }\r\n\r\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\r\n const date = week[week.length - 1];\r\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\r\n }\r\n\r\n getToday(): NgbDate { return fromGregorian(new Date()); }\r\n\r\n /**\r\n * @since 3.4.0\r\n */\r\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\r\n\r\n /**\r\n * @since 3.4.0\r\n */\r\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\r\n}\r\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\r\nimport {NgbDateStruct} from '../../index';\r\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\r\nimport {Injectable} from '@angular/core';\r\n\r\n\r\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\r\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\r\nconst MONTHS_LEAP =\r\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\r\n\r\n/**\r\n * @since 3.2.0\r\n */\r\n@Injectable()\r\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\r\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\r\n\r\n getMonthFullName(month: number, year?: number): string {\r\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] || '' : MONTHS[month - 1] || '';\r\n }\r\n\r\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1] || ''; }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\r\n }\r\n\r\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\r\n\r\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\r\n\r\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\r\n}\r\n","import {NgbDate} from '../ngb-date';\r\n\r\n/**\r\n * Returns the equivalent JS date value for a give input Buddhist date.\r\n * `date` is an Buddhist date to be converted to Gregorian.\r\n */\r\nexport function toGregorian(date: NgbDate): Date {\r\n return new Date(date.year - 543, date.month - 1, date.day);\r\n}\r\n\r\n/**\r\n * Returns the equivalent Buddhist date value for a give input Gregorian date.\r\n * `gdate` is a JS Date to be converted to Buddhist.\r\n * utc to local\r\n */\r\nexport function fromGregorian(gdate: Date): NgbDate {\r\n return new NgbDate(gdate.getFullYear() + 543, gdate.getMonth() + 1, gdate.getDate());\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {isInteger} from '../../util/util';\r\nimport {NgbCalendarGregorian, NgbPeriod} from '../ngb-calendar';\r\nimport {NgbDate} from '../ngb-date';\r\nimport {fromGregorian, toGregorian} from './buddhist';\r\n\r\n/**\r\n * @since 9.1.0\r\n */\r\n@Injectable()\r\nexport class NgbCalendarBuddhist extends NgbCalendarGregorian {\r\n getToday(): NgbDate { return fromGregorian(new Date()); }\r\n\r\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\r\n let jsDate = toGregorian(date);\r\n let checkMonth = true;\r\n let expectedMonth = jsDate.getMonth();\r\n\r\n switch (period) {\r\n case 'y':\r\n jsDate.setFullYear(jsDate.getFullYear() + number);\r\n break;\r\n case 'm':\r\n expectedMonth += number;\r\n jsDate.setMonth(expectedMonth);\r\n expectedMonth = expectedMonth % 12;\r\n if (expectedMonth < 0) {\r\n expectedMonth = expectedMonth + 12;\r\n }\r\n break;\r\n case 'd':\r\n jsDate.setDate(jsDate.getDate() + number);\r\n checkMonth = false;\r\n break;\r\n default:\r\n return date;\r\n }\r\n\r\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\r\n // this means the destination month has less days than the initial month\r\n // let's go back to the end of the previous month:\r\n jsDate.setDate(0);\r\n }\r\n\r\n return fromGregorian(jsDate);\r\n }\r\n\r\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\r\n\r\n getWeekday(date: NgbDate) {\r\n let jsDate = toGregorian(date);\r\n let day = jsDate.getDay();\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n return day === 0 ? 7 : day;\r\n }\r\n\r\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\r\n // in JS Date Sun=0, in ISO 8601 Sun=7\r\n if (firstDayOfWeek === 7) {\r\n firstDayOfWeek = 0;\r\n }\r\n\r\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\r\n let date = week[thursdayIndex];\r\n\r\n const jsDate = toGregorian(date);\r\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\r\n const time = jsDate.getTime();\r\n jsDate.setMonth(0); // Compare with Jan 1\r\n jsDate.setDate(1);\r\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\r\n }\r\n\r\n isValid(date?: NgbDate | null): boolean {\r\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\r\n return false;\r\n }\r\n\r\n // year 0 doesn't exist in Gregorian calendar\r\n if (date.year === 0) {\r\n return false;\r\n }\r\n\r\n const jsDate = toGregorian(date);\r\n\r\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year - 543 &&\r\n jsDate.getMonth() + 1 === date.month && jsDate.getDate() === date.day;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbDateAdapter} from './ngb-date-adapter';\r\nimport {NgbDateStruct} from '../ngb-date-struct';\r\nimport {isInteger} from '../../util/util';\r\n\r\n/**\r\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\r\n * native javascript dates as a user date model.\r\n */\r\n@Injectable()\r\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\r\n /**\r\n * Converts a native `Date` to a `NgbDateStruct`.\r\n */\r\n fromModel(date: Date | null): NgbDateStruct | null {\r\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\r\n }\r\n\r\n /**\r\n * Converts a `NgbDateStruct` to a native `Date`.\r\n */\r\n toModel(date: NgbDateStruct | null): Date | null {\r\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\r\n null;\r\n }\r\n\r\n protected _fromNativeDate(date: Date): NgbDateStruct {\r\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\r\n }\r\n\r\n protected _toNativeDate(date: NgbDateStruct): Date {\r\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\r\n // avoid 30 -> 1930 conversion\r\n jsDate.setFullYear(date.year);\r\n return jsDate;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbDateStruct} from '../ngb-date-struct';\r\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\r\n\r\n/**\r\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\r\n *\r\n * @since 3.2.0\r\n */\r\n@Injectable()\r\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\r\n protected _fromNativeDate(date: Date): NgbDateStruct {\r\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\r\n }\r\n\r\n protected _toNativeDate(date: NgbDateStruct): Date {\r\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\r\n // avoid 30 -> 1930 conversion\r\n jsDate.setUTCFullYear(date.year);\r\n return jsDate;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\r\nimport {NgbDatepickerMonth} from './datepicker-month';\r\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\r\nimport {NgbInputDatepicker} from './datepicker-input';\r\nimport {NgbDatepickerDayView} from './datepicker-day-view';\r\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\r\n\r\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\r\nexport {NgbInputDatepicker} from './datepicker-input';\r\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\r\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\r\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\r\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\r\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\r\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\r\nexport {NgbCalendarBuddhist} from './buddhist/ngb-calendar-buddhist';\r\nexport {NgbDatepickerMonth} from './datepicker-month';\r\nexport {NgbDatepickerDayView} from './datepicker-day-view';\r\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\r\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\r\nexport {NgbDatepickerConfig} from './datepicker-config';\r\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\r\nexport {NgbDatepickerI18n, NgbDatepickerI18nDefault} from './datepicker-i18n';\r\nexport {NgbDateStruct} from './ngb-date-struct';\r\nexport {NgbDate} from './ngb-date';\r\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\r\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\r\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\r\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\r\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\r\n\r\n@NgModule({\r\n declarations: [\r\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\r\n NgbDatepickerDayView, NgbInputDatepicker\r\n ],\r\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\r\n imports: [CommonModule, FormsModule],\r\n entryComponents: [NgbDatepicker]\r\n})\r\nexport class NgbDatepickerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {PlacementArray} from '../util/positioning';\r\n\r\n/**\r\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the dropdowns used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbDropdownConfig {\r\n autoClose: boolean | 'outside' | 'inside' = true;\r\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\r\n container: null | 'body';\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ContentChild,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Inject,\r\n Input,\r\n NgZone,\r\n AfterContentInit,\r\n OnDestroy,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n SimpleChanges,\r\n Optional\r\n} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\nimport {fromEvent, Subject, Subscription} from 'rxjs';\r\nimport {take} from 'rxjs/operators';\r\n\r\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\r\nimport {ngbAutoClose, SOURCE} from '../util/autoclose';\r\nimport {Key} from '../util/key';\r\n\r\nimport {NgbDropdownConfig} from './dropdown-config';\r\nimport {FOCUSABLE_ELEMENTS_SELECTOR} from '../util/focus-trap';\r\n\r\n@Directive({selector: '.navbar'})\r\nexport class NgbNavbar {\r\n}\r\n\r\n/**\r\n * A directive you should put on a dropdown item to enable keyboard navigation.\r\n * Arrow keys will move focus between items marked with this directive.\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\r\nexport class NgbDropdownItem {\r\n static ngAcceptInputType_disabled: boolean | '';\r\n\r\n private _disabled = false;\r\n\r\n @Input()\r\n set disabled(value: boolean) {\r\n this._disabled = value === '' || value === true; // accept an empty attribute as true\r\n }\r\n\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n constructor(public elementRef: ElementRef) {}\r\n}\r\n\r\n/**\r\n * A directive that wraps dropdown menu content and dropdown items.\r\n */\r\n@Directive({\r\n selector: '[ngbDropdownMenu]',\r\n host: {\r\n '[class.dropdown-menu]': 'true',\r\n '[class.show]': 'dropdown.isOpen()',\r\n '[attr.x-placement]': 'placement',\r\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\r\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\r\n '(keydown.End)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Space)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\r\n }\r\n})\r\nexport class NgbDropdownMenu {\r\n nativeElement: HTMLElement;\r\n placement: Placement | null = 'bottom';\r\n isOpen = false;\r\n\r\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\r\n\r\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\r\n this.nativeElement = _elementRef.nativeElement;\r\n }\r\n}\r\n\r\n/**\r\n * A directive to mark an element to which dropdown menu will be anchored.\r\n *\r\n * This is a simple version of the `NgbDropdownToggle` directive.\r\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\r\n * for events other than click.\r\n *\r\n * @since 1.1.0\r\n */\r\n@Directive(\r\n {selector: '[ngbDropdownAnchor]', host: {'class': 'dropdown-toggle', '[attr.aria-expanded]': 'dropdown.isOpen()'}})\r\nexport class NgbDropdownAnchor {\r\n nativeElement: HTMLElement;\r\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\r\n this.nativeElement = _elementRef.nativeElement;\r\n }\r\n}\r\n\r\n/**\r\n * A directive to mark an element that will toggle dropdown via the `click` event.\r\n *\r\n * You can also use `NgbDropdownAnchor` as an alternative.\r\n */\r\n@Directive({\r\n selector: '[ngbDropdownToggle]',\r\n host: {\r\n 'class': 'dropdown-toggle',\r\n '[attr.aria-expanded]': 'dropdown.isOpen()',\r\n '(click)': 'dropdown.toggle()',\r\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\r\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\r\n '(keydown.End)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\r\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\r\n },\r\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\r\n})\r\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\r\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\r\n super(dropdown, elementRef);\r\n }\r\n}\r\n\r\n/**\r\n * A directive that provides contextual overlays for displaying lists of links and more.\r\n */\r\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\r\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\r\n static ngAcceptInputType_autoClose: boolean | string;\r\n static ngAcceptInputType_display: string;\r\n private _closed$ = new Subject();\r\n private _zoneSubscription: Subscription;\r\n private _bodyContainer: HTMLElement | null = null;\r\n\r\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\r\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\r\n\r\n /**\r\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\r\n *\r\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\r\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\r\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\r\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\r\n */\r\n @Input() autoClose: boolean | 'outside' | 'inside';\r\n\r\n /**\r\n * A custom class that is applied only to the `ngbDropdownMenu` parent element.\r\n * * In case of the inline dropdown it will be the `
`\r\n * * In case of the dropdown with `container=\"body\"` it will be the `
` attached to the ``\r\n *\r\n * Useful mainly when dropdown is attached to the body.\r\n * If the dropdown is inline just use `
` instead.\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() dropdownClass: string;\r\n\r\n /**\r\n * Defines whether or not the dropdown menu is opened initially.\r\n */\r\n @Input('open') _open = false;\r\n\r\n /**\r\n * The preferred placement of the dropdown.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() placement: PlacementArray;\r\n\r\n /**\r\n * A selector specifying the element the dropdown should be appended to.\r\n * Currently only supports \"body\".\r\n *\r\n * @since 4.1.0\r\n */\r\n @Input() container: null | 'body';\r\n\r\n /**\r\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\r\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\r\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\r\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\r\n *\r\n * @since 4.2.0\r\n */\r\n @Input() display: 'dynamic' | 'static';\r\n\r\n /**\r\n * An event fired when the dropdown is opened or closed.\r\n *\r\n * The event payload is a `boolean`:\r\n * * `true` - the dropdown was opened\r\n * * `false` - the dropdown was closed\r\n */\r\n @Output() openChange = new EventEmitter();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\r\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\r\n @Optional() ngbNavbar: NgbNavbar) {\r\n this.placement = config.placement;\r\n this.container = config.container;\r\n this.autoClose = config.autoClose;\r\n\r\n this.display = ngbNavbar ? 'static' : 'dynamic';\r\n\r\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\r\n this._applyPlacementClasses();\r\n if (this._open) {\r\n this._setCloseHandlers();\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.container && this._open) {\r\n this._applyContainer(this.container);\r\n }\r\n\r\n if (changes.placement && !changes.placement.isFirstChange) {\r\n this._applyPlacementClasses();\r\n }\r\n\r\n if (changes.dropdownClass) {\r\n const {currentValue, previousValue} = changes.dropdownClass;\r\n this._applyCustomDropdownClass(currentValue, previousValue);\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the dropdown menu is open.\r\n */\r\n isOpen(): boolean { return this._open; }\r\n\r\n /**\r\n * Opens the dropdown menu.\r\n */\r\n open(): void {\r\n if (!this._open) {\r\n this._open = true;\r\n this._applyContainer(this.container);\r\n this.openChange.emit(true);\r\n this._setCloseHandlers();\r\n if (this._anchor) {\r\n this._anchor.nativeElement.focus();\r\n }\r\n }\r\n }\r\n\r\n private _setCloseHandlers() {\r\n ngbAutoClose(\r\n this._ngZone, this._document, this.autoClose,\r\n (source: SOURCE) => {\r\n this.close();\r\n if (source === SOURCE.ESCAPE) {\r\n this._anchor.nativeElement.focus();\r\n }\r\n },\r\n this._closed$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [],\r\n '.dropdown-item,.dropdown-divider');\r\n }\r\n\r\n /**\r\n * Closes the dropdown menu.\r\n */\r\n close(): void {\r\n if (this._open) {\r\n this._open = false;\r\n this._resetContainer();\r\n this._closed$.next();\r\n this.openChange.emit(false);\r\n this._changeDetector.markForCheck();\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dropdown menu.\r\n */\r\n toggle(): void {\r\n if (this.isOpen()) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._resetContainer();\r\n\r\n this._closed$.next();\r\n this._zoneSubscription.unsubscribe();\r\n }\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n // tslint:disable-next-line:deprecation\r\n const key = event.which;\r\n const itemElements = this._getMenuElements();\r\n\r\n let position = -1;\r\n let itemElement: HTMLElement | null = null;\r\n const isEventFromToggle = this._isEventFromToggle(event);\r\n\r\n if (!isEventFromToggle && itemElements.length) {\r\n itemElements.forEach((item, index) => {\r\n if (item.contains(event.target as HTMLElement)) {\r\n itemElement = item;\r\n }\r\n if (item === this._document.activeElement) {\r\n position = index;\r\n }\r\n });\r\n }\r\n\r\n // closing on Enter / Space\r\n if (key === Key.Space || key === Key.Enter) {\r\n if (itemElement && (this.autoClose === true || this.autoClose === 'inside')) {\r\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\r\n // So we have to register a one-time click handler that will fire after any user defined click handlers\r\n // to close the dropdown\r\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\r\n }\r\n return;\r\n }\r\n\r\n if (key === Key.Tab) {\r\n if (event.target && this.isOpen() && this.autoClose) {\r\n if (this._anchor.nativeElement === event.target) {\r\n if (this.container === 'body' && !event.shiftKey) {\r\n /* This case is special: user is using [Tab] from the anchor/toggle.\r\n User expects the next focusable element in the dropdown menu to get focus.\r\n But the menu is not a sibling to anchor/toggle, it is at the end of the body.\r\n Trick is to synchronously focus the menu element, and let the [keydown.Tab] go\r\n so that browser will focus the proper element (first one focusable in the menu) */\r\n this._renderer.setAttribute(this._menu.nativeElement, 'tabindex', '0');\r\n this._menu.nativeElement.focus();\r\n this._renderer.removeAttribute(this._menu.nativeElement, 'tabindex');\r\n } else if (event.shiftKey) {\r\n this.close();\r\n }\r\n return;\r\n } else if (this.container === 'body') {\r\n const focusableElements = this._menu.nativeElement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR);\r\n if (event.shiftKey && event.target === focusableElements[0]) {\r\n this._anchor.nativeElement.focus();\r\n event.preventDefault();\r\n } else if (!event.shiftKey && event.target === focusableElements[focusableElements.length - 1]) {\r\n this._anchor.nativeElement.focus();\r\n this.close();\r\n }\r\n } else {\r\n fromEvent(event.target as HTMLElement, 'focusout').pipe(take(1)).subscribe(({relatedTarget}) => {\r\n if (!this._elementRef.nativeElement.contains(relatedTarget as HTMLElement)) {\r\n this.close();\r\n }\r\n });\r\n }\r\n }\r\n return;\r\n }\r\n\r\n // opening / navigating\r\n if (isEventFromToggle || itemElement) {\r\n this.open();\r\n\r\n if (itemElements.length) {\r\n switch (key) {\r\n case Key.ArrowDown:\r\n position = Math.min(position + 1, itemElements.length - 1);\r\n break;\r\n case Key.ArrowUp:\r\n if (this._isDropup() && position === -1) {\r\n position = itemElements.length - 1;\r\n break;\r\n }\r\n position = Math.max(position - 1, 0);\r\n break;\r\n case Key.Home:\r\n position = 0;\r\n break;\r\n case Key.End:\r\n position = itemElements.length - 1;\r\n break;\r\n }\r\n itemElements[position].focus();\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\r\n\r\n private _isEventFromToggle(event: KeyboardEvent) {\r\n return this._anchor.nativeElement.contains(event.target as HTMLElement);\r\n }\r\n\r\n private _getMenuElements(): HTMLElement[] {\r\n const menu = this._menu;\r\n if (menu == null) {\r\n return [];\r\n }\r\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\r\n }\r\n\r\n private _positionMenu() {\r\n const menu = this._menu;\r\n if (this.isOpen() && menu) {\r\n this._applyPlacementClasses(\r\n this.display === 'dynamic' ? positionElements(\r\n this._anchor.nativeElement, this._bodyContainer || this._menu.nativeElement,\r\n this.placement, this.container === 'body') :\r\n this._getFirstPlacement(this.placement));\r\n }\r\n }\r\n\r\n private _getFirstPlacement(placement: PlacementArray): Placement {\r\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\r\n }\r\n\r\n private _resetContainer() {\r\n const renderer = this._renderer;\r\n if (this._menu) {\r\n const dropdownElement = this._elementRef.nativeElement;\r\n const dropdownMenuElement = this._menu.nativeElement;\r\n\r\n renderer.appendChild(dropdownElement, dropdownMenuElement);\r\n renderer.removeStyle(dropdownMenuElement, 'position');\r\n renderer.removeStyle(dropdownMenuElement, 'transform');\r\n }\r\n if (this._bodyContainer) {\r\n renderer.removeChild(this._document.body, this._bodyContainer);\r\n this._bodyContainer = null;\r\n }\r\n }\r\n\r\n private _applyContainer(container: null | 'body' = null) {\r\n this._resetContainer();\r\n if (container === 'body') {\r\n const renderer = this._renderer;\r\n const dropdownMenuElement = this._menu.nativeElement;\r\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\r\n\r\n // Override some styles to have the positioning working\r\n renderer.setStyle(bodyContainer, 'position', 'absolute');\r\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\r\n renderer.setStyle(bodyContainer, 'z-index', '1050');\r\n\r\n renderer.appendChild(bodyContainer, dropdownMenuElement);\r\n renderer.appendChild(this._document.body, bodyContainer);\r\n }\r\n\r\n this._applyCustomDropdownClass(this.dropdownClass);\r\n }\r\n\r\n private _applyCustomDropdownClass(newClass: string, oldClass?: string) {\r\n const targetElement = this.container === 'body' ? this._bodyContainer : this._elementRef.nativeElement;\r\n if (targetElement) {\r\n if (oldClass) {\r\n this._renderer.removeClass(targetElement, oldClass);\r\n }\r\n if (newClass) {\r\n this._renderer.addClass(targetElement, newClass);\r\n }\r\n }\r\n }\r\n\r\n private _applyPlacementClasses(placement?: Placement | null) {\r\n const menu = this._menu;\r\n if (menu) {\r\n if (!placement) {\r\n placement = this._getFirstPlacement(this.placement);\r\n }\r\n\r\n const renderer = this._renderer;\r\n const dropdownElement = this._elementRef.nativeElement;\r\n\r\n // remove the current placement classes\r\n renderer.removeClass(dropdownElement, 'dropup');\r\n renderer.removeClass(dropdownElement, 'dropdown');\r\n menu.placement = this.display === 'static' ? null : placement;\r\n\r\n /*\r\n * apply the new placement\r\n * in case of top use up-arrow or down-arrow otherwise\r\n */\r\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\r\n renderer.addClass(dropdownElement, dropdownClass);\r\n\r\n const bodyContainer = this._bodyContainer;\r\n if (bodyContainer) {\r\n renderer.removeClass(bodyContainer, 'dropup');\r\n renderer.removeClass(bodyContainer, 'dropdown');\r\n renderer.addClass(bodyContainer, dropdownClass);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {\r\n NgbDropdown,\r\n NgbDropdownAnchor,\r\n NgbDropdownToggle,\r\n NgbDropdownMenu,\r\n NgbDropdownItem,\r\n NgbNavbar\r\n} from './dropdown';\r\n\r\nexport {\r\n NgbDropdown,\r\n NgbDropdownAnchor,\r\n NgbDropdownToggle,\r\n NgbDropdownMenu,\r\n NgbDropdownItem,\r\n NgbNavbar\r\n} from './dropdown';\r\nexport {NgbDropdownConfig} from './dropdown-config';\r\n\r\nconst NGB_DROPDOWN_DIRECTIVES =\r\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\r\n\r\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\r\nexport class NgbDropdownModule {\r\n}\r\n","import {Injectable, Injector} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * Options available when opening new modal windows with `NgbModal.open()` method.\r\n */\r\nexport interface NgbModalOptions {\r\n /**\r\n * If `true`, modal opening and closing will be animated.\r\n *\r\n * @since 8.0.0\r\n */\r\n animation?: boolean;\r\n\r\n /**\r\n * `aria-labelledby` attribute value to set on the modal window.\r\n *\r\n * @since 2.2.0\r\n */\r\n ariaLabelledBy?: string;\r\n\r\n /**\r\n * `aria-describedby` attribute value to set on the modal window.\r\n *\r\n * @since 6.1.0\r\n */\r\n ariaDescribedBy?: string;\r\n\r\n /**\r\n * If `true`, the backdrop element will be created for a given modal.\r\n *\r\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\r\n *\r\n * Default value is `true`.\r\n */\r\n backdrop?: boolean | 'static';\r\n\r\n /**\r\n * Callback right before the modal will be dismissed.\r\n *\r\n * If this function returns:\r\n * * `false`\r\n * * a promise resolved with `false`\r\n * * a promise that is rejected\r\n *\r\n * then the modal won't be dismissed.\r\n */\r\n beforeDismiss?: () => boolean | Promise;\r\n\r\n /**\r\n * If `true`, the modal will be centered vertically.\r\n *\r\n * Default value is `false`.\r\n *\r\n * @since 1.1.0\r\n */\r\n centered?: boolean;\r\n\r\n /**\r\n * A selector specifying the element all new modal windows should be appended to.\r\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\r\n *\r\n * If not specified, will be `body`.\r\n */\r\n container?: string | HTMLElement;\r\n\r\n /**\r\n * The `Injector` to use for modal content.\r\n */\r\n injector?: Injector;\r\n\r\n /**\r\n * If `true`, the modal will be closed when `Escape` key is pressed\r\n *\r\n * Default value is `true`.\r\n */\r\n keyboard?: boolean;\r\n\r\n /**\r\n * Scrollable modal content (false by default).\r\n *\r\n * @since 5.0.0\r\n */\r\n scrollable?: boolean;\r\n\r\n /**\r\n * Size of a new modal window.\r\n */\r\n size?: 'sm' | 'lg' | 'xl' | string;\r\n\r\n /**\r\n * A custom class to append to the modal window.\r\n */\r\n windowClass?: string;\r\n\r\n /**\r\n * A custom class to append to the modal dialog.\r\n *\r\n * @since 9.1.0\r\n */\r\n modalDialogClass?: string;\r\n\r\n /**\r\n * A custom class to append to the modal backdrop.\r\n *\r\n * @since 1.1.0\r\n */\r\n backdropClass?: string;\r\n}\r\n\r\n/**\r\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all modals used in the application.\r\n*\r\n* @since 3.1.0\r\n*/\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbModalConfig implements Required {\r\n ariaLabelledBy: string;\r\n ariaDescribedBy: string;\r\n backdrop: boolean | 'static' = true;\r\n beforeDismiss: () => boolean | Promise;\r\n centered: boolean;\r\n container: string;\r\n injector: Injector;\r\n keyboard = true;\r\n scrollable: boolean;\r\n size: 'sm' | 'lg' | 'xl' | string;\r\n windowClass: string;\r\n modalDialogClass: string;\r\n backdropClass: string;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Injector,\r\n NgZone,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ViewRef\r\n} from '@angular/core';\r\n\r\nimport {Observable, of} from 'rxjs';\r\nimport {mergeMap, take, tap} from 'rxjs/operators';\r\n\r\nimport {ngbRunTransition} from './transition/ngbTransition';\r\n\r\nexport class ContentRef {\r\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\r\n}\r\n\r\nexport class PopupService {\r\n private _windowRef: ComponentRef| null = null;\r\n private _contentRef: ContentRef | null = null;\r\n\r\n constructor(\r\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\r\n private _renderer: Renderer2, private _ngZone: NgZone,\r\n private _componentFactoryResolver: ComponentFactoryResolver, private _applicationRef: ApplicationRef) {}\r\n\r\n open(content?: string | TemplateRef, context?: any, animation = false):\r\n {windowRef: ComponentRef, transition$: Observable} {\r\n if (!this._windowRef) {\r\n this._contentRef = this._getContentRef(content, context);\r\n this._windowRef = this._viewContainerRef.createComponent(\r\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\r\n this._injector, this._contentRef.nodes);\r\n }\r\n\r\n const {nativeElement} = this._windowRef.location;\r\n const transition$ = this._ngZone.onStable.pipe(\r\n take(1), mergeMap(\r\n () => ngbRunTransition(\r\n this._ngZone, nativeElement, ({classList}) => classList.add('show'),\r\n {animation, runningTransition: 'continue'})));\r\n\r\n return {windowRef: this._windowRef, transition$};\r\n }\r\n\r\n close(animation = false): Observable {\r\n if (!this._windowRef) {\r\n return of(undefined);\r\n }\r\n\r\n return ngbRunTransition(\r\n this._ngZone, this._windowRef.location.nativeElement, ({classList}) => classList.remove('show'),\r\n {animation, runningTransition: 'stop'})\r\n .pipe(tap(() => {\r\n if (this._windowRef) {\r\n // this is required because of the container='body' option\r\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\r\n this._windowRef = null;\r\n }\r\n if (this._contentRef?.viewRef) {\r\n this._applicationRef.detachView(this._contentRef.viewRef);\r\n this._contentRef.viewRef.destroy();\r\n this._contentRef = null;\r\n }\r\n }));\r\n }\r\n\r\n private _getContentRef(content?: string | TemplateRef, context?: any): ContentRef {\r\n if (!content) {\r\n return new ContentRef([]);\r\n } else if (content instanceof TemplateRef) {\r\n const viewRef = content.createEmbeddedView(context);\r\n this._applicationRef.attachView(viewRef);\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n } else {\r\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\r\n }\r\n }\r\n}\r\n","import {Injectable, Inject} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\n\r\nconst noop = () => {};\r\n\r\n\r\n\r\n/** Type for the callback used to revert the scrollbar compensation. */\r\nexport type CompensationReverter = () => void;\r\n\r\n\r\n\r\n/**\r\n * Utility to handle the scrollbar.\r\n *\r\n * It allows to compensate the lack of a vertical scrollbar by adding an\r\n * equivalent padding on the right of the body, and to remove this compensation.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class ScrollBar {\r\n constructor(@Inject(DOCUMENT) private _document: any) {}\r\n\r\n /**\r\n * To be called right before a potential vertical scrollbar would be removed:\r\n *\r\n * - if there was a scrollbar, adds some compensation padding to the body\r\n * to keep the same layout as when the scrollbar is there\r\n * - if there was none, there is nothing to do\r\n *\r\n * @return a callback used to revert the compensation (noop if there was none,\r\n * otherwise a function removing the padding)\r\n */\r\n compensate(): CompensationReverter {\r\n const width = this._getWidth();\r\n return !this._isPresent(width) ? noop : this._adjustBody(width);\r\n }\r\n\r\n /**\r\n * Adds a padding of the given width on the right of the body.\r\n *\r\n * @return a callback used to revert the padding to its previous value\r\n */\r\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\r\n const body = this._document.body;\r\n const userSetPaddingStyle = body.style.paddingRight;\r\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\r\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\r\n return () => body.style['padding-right'] = userSetPaddingStyle;\r\n }\r\n\r\n /**\r\n * Tells whether a scrollbar is currently present on the body.\r\n *\r\n * @return true if scrollbar is present, false otherwise\r\n */\r\n private _isPresent(scrollbarWidth: number): boolean {\r\n const rect = this._document.body.getBoundingClientRect();\r\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\r\n const uncertainty = 0.1 * scrollbarWidth;\r\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\r\n }\r\n\r\n /**\r\n * Calculates and returns the width of a scrollbar.\r\n *\r\n * @return the width of a scrollbar on this page\r\n */\r\n private _getWidth(): number {\r\n const measurer = this._document.createElement('div');\r\n measurer.className = 'modal-scrollbar-measure';\r\n\r\n const body = this._document.body;\r\n body.appendChild(measurer);\r\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\r\n body.removeChild(measurer);\r\n\r\n return width;\r\n }\r\n}\r\n","import {Component, ElementRef, Input, NgZone, OnInit, ViewEncapsulation} from '@angular/core';\r\n\r\nimport {Observable} from 'rxjs';\r\nimport {take} from 'rxjs/operators';\r\n\r\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\r\nimport {reflow} from '../util/util';\r\n\r\n@Component({\r\n selector: 'ngb-modal-backdrop',\r\n encapsulation: ViewEncapsulation.None,\r\n template: '',\r\n host: {\r\n '[class]': '\"modal-backdrop\" + (backdropClass ? \" \" + backdropClass : \"\")',\r\n '[class.show]': '!animation',\r\n '[class.fade]': 'animation',\r\n 'style': 'z-index: 1050'\r\n }\r\n})\r\nexport class NgbModalBackdrop implements OnInit {\r\n @Input() animation: boolean;\r\n @Input() backdropClass: string;\r\n\r\n constructor(private _el: ElementRef, private _zone: NgZone) {}\r\n\r\n ngOnInit() {\r\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\r\n ngbRunTransition(this._zone, this._el.nativeElement, (element: HTMLElement, animation: boolean) => {\r\n if (animation) {\r\n reflow(element);\r\n }\r\n element.classList.add('show');\r\n }, {animation: this.animation, runningTransition: 'continue'});\r\n });\r\n }\r\n\r\n hide(): Observable {\r\n return ngbRunTransition(\r\n this._zone, this._el.nativeElement, ({classList}) => classList.remove('show'),\r\n {animation: this.animation, runningTransition: 'stop'});\r\n }\r\n}\r\n","import {ComponentRef} from '@angular/core';\r\n\r\nimport {Observable, of, Subject, zip} from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\nimport {NgbModalBackdrop} from './modal-backdrop';\r\nimport {NgbModalWindow} from './modal-window';\r\n\r\nimport {ContentRef} from '../util/popup';\r\n\r\n/**\r\n * A reference to the currently opened (active) modal.\r\n *\r\n * Instances of this class can be injected into your component passed as modal content.\r\n * So you can `.close()` or `.dismiss()` the modal window from your component.\r\n */\r\nexport class NgbActiveModal {\r\n /**\r\n * Closes the modal with an optional `result` value.\r\n *\r\n * The `NgbModalRef.result` promise will be resolved with the provided value.\r\n */\r\n close(result?: any): void {}\r\n\r\n /**\r\n * Dismisses the modal with an optional `reason` value.\r\n *\r\n * The `NgbModalRef.result` promise will be rejected with the provided value.\r\n */\r\n dismiss(reason?: any): void {}\r\n}\r\n\r\n/**\r\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\r\n */\r\nexport class NgbModalRef {\r\n private _closed = new Subject();\r\n private _dismissed = new Subject();\r\n private _hidden = new Subject();\r\n private _resolve: (result?: any) => void;\r\n private _reject: (reason?: any) => void;\r\n\r\n /**\r\n * The instance of a component used for the modal content.\r\n *\r\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\r\n */\r\n get componentInstance(): any {\r\n if (this._contentRef && this._contentRef.componentRef) {\r\n return this._contentRef.componentRef.instance;\r\n }\r\n }\r\n\r\n /**\r\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\r\n */\r\n result: Promise;\r\n\r\n /**\r\n * The observable that emits when the modal is closed via the `.close()` method.\r\n *\r\n * It will emit the result passed to the `.close()` method.\r\n *\r\n * @since 8.0.0\r\n */\r\n get closed(): Observable { return this._closed.asObservable().pipe(takeUntil(this._hidden)); }\r\n\r\n /**\r\n * The observable that emits when the modal is dismissed via the `.dismiss()` method.\r\n *\r\n * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\r\n * reasons like backdrop click or ESC key press.\r\n *\r\n * @since 8.0.0\r\n */\r\n get dismissed(): Observable { return this._dismissed.asObservable().pipe(takeUntil(this._hidden)); }\r\n\r\n /**\r\n * The observable that emits when both modal window and backdrop are closed and animations were finished.\r\n * At this point modal and backdrop elements will be removed from the DOM tree.\r\n *\r\n * This observable will be completed after emitting.\r\n *\r\n * @since 8.0.0\r\n */\r\n get hidden(): Observable { return this._hidden.asObservable(); }\r\n\r\n /**\r\n * The observable that emits when modal is fully visible and animation was finished.\r\n * Modal DOM element is always available synchronously after calling 'modal.open()' service.\r\n *\r\n * This observable will be completed after emitting.\r\n * It will not emit, if modal is closed before open animation is finished.\r\n *\r\n * @since 8.0.0\r\n */\r\n get shown(): Observable { return this._windowCmptRef.instance.shown.asObservable(); }\r\n\r\n constructor(\r\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\r\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\r\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\r\n\r\n this.result = new Promise((resolve, reject) => {\r\n this._resolve = resolve;\r\n this._reject = reject;\r\n });\r\n this.result.then(null, () => {});\r\n }\r\n\r\n /**\r\n * Closes the modal with an optional `result` value.\r\n *\r\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\r\n */\r\n close(result?: any): void {\r\n if (this._windowCmptRef) {\r\n this._closed.next(result);\r\n this._resolve(result);\r\n this._removeModalElements();\r\n }\r\n }\r\n\r\n private _dismiss(reason?: any) {\r\n this._dismissed.next(reason);\r\n this._reject(reason);\r\n this._removeModalElements();\r\n }\r\n\r\n /**\r\n * Dismisses the modal with an optional `reason` value.\r\n *\r\n * The `NgbModalRef.result` promise will be rejected with the provided value.\r\n */\r\n dismiss(reason?: any): void {\r\n if (this._windowCmptRef) {\r\n if (!this._beforeDismiss) {\r\n this._dismiss(reason);\r\n } else {\r\n const dismiss = this._beforeDismiss();\r\n if (dismiss && dismiss.then) {\r\n dismiss.then(\r\n result => {\r\n if (result !== false) {\r\n this._dismiss(reason);\r\n }\r\n },\r\n () => {});\r\n } else if (dismiss !== false) {\r\n this._dismiss(reason);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _removeModalElements() {\r\n const windowTransition$ = this._windowCmptRef.instance.hide();\r\n const backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\r\n\r\n // hiding window\r\n windowTransition$.subscribe(() => {\r\n const {nativeElement} = this._windowCmptRef.location;\r\n nativeElement.parentNode.removeChild(nativeElement);\r\n this._windowCmptRef.destroy();\r\n\r\n if (this._contentRef && this._contentRef.viewRef) {\r\n this._contentRef.viewRef.destroy();\r\n }\r\n\r\n this._windowCmptRef = null;\r\n this._contentRef = null;\r\n });\r\n\r\n // hiding backdrop\r\n backdropTransition$.subscribe(() => {\r\n if (this._backdropCmptRef) {\r\n const {nativeElement} = this._backdropCmptRef.location;\r\n nativeElement.parentNode.removeChild(nativeElement);\r\n this._backdropCmptRef.destroy();\r\n this._backdropCmptRef = null;\r\n }\r\n });\r\n\r\n // all done\r\n zip(windowTransition$, backdropTransition$).subscribe(() => {\r\n this._hidden.next();\r\n this._hidden.complete();\r\n });\r\n }\r\n}\r\n","export enum ModalDismissReasons {\r\n BACKDROP_CLICK,\r\n ESC\r\n}\r\n","import {DOCUMENT} from '@angular/common';\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport {fromEvent, Observable, Subject, zip} from 'rxjs';\r\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\r\n\r\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\r\nimport {Key} from '../util/key';\r\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\r\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\r\nimport {reflow} from '../util/util';\r\n\r\n@Component({\r\n selector: 'ngb-modal-window',\r\n host: {\r\n '[class]': '\"modal d-block\" + (windowClass ? \" \" + windowClass : \"\")',\r\n '[class.fade]': 'animation',\r\n 'role': 'dialog',\r\n 'tabindex': '-1',\r\n '[attr.aria-modal]': 'true',\r\n '[attr.aria-labelledby]': 'ariaLabelledBy',\r\n '[attr.aria-describedby]': 'ariaDescribedBy'\r\n },\r\n template: `\r\n
\r\n
\r\n
\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./modal.scss']\r\n})\r\nexport class NgbModalWindow implements OnInit,\r\n OnDestroy {\r\n private _closed$ = new Subject();\r\n private _elWithFocus: Element | null = null; // element that is focused prior to modal opening\r\n\r\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\r\n\r\n @Input() animation: boolean;\r\n @Input() ariaLabelledBy: string;\r\n @Input() ariaDescribedBy: string;\r\n @Input() backdrop: boolean | string = true;\r\n @Input() centered: string;\r\n @Input() keyboard = true;\r\n @Input() scrollable: string;\r\n @Input() size: string;\r\n @Input() windowClass: string;\r\n @Input() modalDialogClass: string;\r\n\r\n @Output('dismiss') dismissEvent = new EventEmitter();\r\n\r\n shown = new Subject();\r\n hidden = new Subject();\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\r\n\r\n dismiss(reason): void { this.dismissEvent.emit(reason); }\r\n\r\n ngOnInit() {\r\n this._elWithFocus = this._document.activeElement;\r\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => { this._show(); });\r\n }\r\n\r\n ngOnDestroy() { this._disableEventHandling(); }\r\n\r\n hide(): Observable {\r\n const {nativeElement} = this._elRef;\r\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'stop'};\r\n\r\n const windowTransition$ =\r\n ngbRunTransition(this._zone, nativeElement, () => nativeElement.classList.remove('show'), context);\r\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\r\n\r\n const transitions$ = zip(windowTransition$, dialogTransition$);\r\n transitions$.subscribe(() => {\r\n this.hidden.next();\r\n this.hidden.complete();\r\n });\r\n\r\n this._disableEventHandling();\r\n this._restoreFocus();\r\n\r\n return transitions$;\r\n }\r\n\r\n private _show() {\r\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'continue'};\r\n\r\n const windowTransition$ =\r\n ngbRunTransition(this._zone, this._elRef.nativeElement, (element: HTMLElement, animation: boolean) => {\r\n if (animation) {\r\n reflow(element);\r\n }\r\n element.classList.add('show');\r\n }, context);\r\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\r\n\r\n zip(windowTransition$, dialogTransition$).subscribe(() => {\r\n this.shown.next();\r\n this.shown.complete();\r\n });\r\n\r\n this._enableEventHandling();\r\n this._setFocus();\r\n }\r\n\r\n private _enableEventHandling() {\r\n const {nativeElement} = this._elRef;\r\n this._zone.runOutsideAngular(() => {\r\n fromEvent(nativeElement, 'keydown')\r\n .pipe(\r\n takeUntil(this._closed$),\r\n // tslint:disable-next-line:deprecation\r\n filter(e => e.which === Key.Escape))\r\n .subscribe(event => {\r\n if (this.keyboard) {\r\n requestAnimationFrame(() => {\r\n if (!event.defaultPrevented) {\r\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\r\n }\r\n });\r\n } else if (this.backdrop === 'static') {\r\n this._bumpBackdrop();\r\n }\r\n });\r\n\r\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\r\n // inside the modal dialog and releasing it outside\r\n let preventClose = false;\r\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\r\n .pipe(\r\n takeUntil(this._closed$), tap(() => preventClose = false),\r\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\r\n filter(({target}) => nativeElement === target))\r\n .subscribe(() => { preventClose = true; });\r\n\r\n // We're listening to 'click' to dismiss modal on modal window click, except when:\r\n // 1. clicking on modal dialog itself\r\n // 2. closing was prevented by mousedown/up handlers\r\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\r\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\r\n if (nativeElement === target) {\r\n if (this.backdrop === 'static') {\r\n this._bumpBackdrop();\r\n } else if (this.backdrop === true && !preventClose) {\r\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\r\n }\r\n }\r\n\r\n preventClose = false;\r\n });\r\n });\r\n }\r\n\r\n private _disableEventHandling() { this._closed$.next(); }\r\n\r\n private _setFocus() {\r\n const {nativeElement} = this._elRef;\r\n if (!nativeElement.contains(document.activeElement)) {\r\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\r\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\r\n\r\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\r\n elementToFocus.focus();\r\n }\r\n }\r\n\r\n private _restoreFocus() {\r\n const body = this._document.body;\r\n const elWithFocus = this._elWithFocus;\r\n\r\n let elementToFocus;\r\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\r\n elementToFocus = elWithFocus;\r\n } else {\r\n elementToFocus = body;\r\n }\r\n this._zone.runOutsideAngular(() => {\r\n setTimeout(() => elementToFocus.focus());\r\n this._elWithFocus = null;\r\n });\r\n }\r\n\r\n private _bumpBackdrop() {\r\n if (this.backdrop === 'static') {\r\n ngbRunTransition(this._zone, this._elRef.nativeElement, ({classList}) => {\r\n classList.add('modal-static');\r\n return () => classList.remove('modal-static');\r\n }, {animation: this.animation, runningTransition: 'continue'});\r\n }\r\n }\r\n}\r\n","import {DOCUMENT} from '@angular/common';\r\nimport {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EventEmitter,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n NgZone,\r\n RendererFactory2,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\nimport {ngbFocusTrap} from '../util/focus-trap';\r\nimport {ContentRef} from '../util/popup';\r\nimport {ScrollBar} from '../util/scrollbar';\r\nimport {isDefined, isString} from '../util/util';\r\nimport {NgbModalBackdrop} from './modal-backdrop';\r\nimport {NgbModalOptions} from './modal-config';\r\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\r\nimport {NgbModalWindow} from './modal-window';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbModalStack {\r\n private _activeWindowCmptHasChanged = new Subject();\r\n private _ariaHiddenValues: Map = new Map();\r\n private _backdropAttributes = ['animation', 'backdropClass'];\r\n private _modalRefs: NgbModalRef[] = [];\r\n private _windowAttributes = [\r\n 'animation', 'ariaLabelledBy', 'ariaDescribedBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size',\r\n 'windowClass', 'modalDialogClass'\r\n ];\r\n private _windowCmpts: ComponentRef[] = [];\r\n private _activeInstances: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\r\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\r\n // Trap focus on active WindowCmpt\r\n this._activeWindowCmptHasChanged.subscribe(() => {\r\n if (this._windowCmpts.length) {\r\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\r\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\r\n this._revertAriaHidden();\r\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\r\n }\r\n });\r\n }\r\n\r\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\r\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\r\n this._document.querySelector(options.container) :\r\n this._document.body;\r\n const renderer = this._rendererFactory.createRenderer(null, null);\r\n\r\n const revertPaddingForScrollBar = this._scrollBar.compensate();\r\n const removeBodyClass = () => {\r\n if (!this._modalRefs.length) {\r\n renderer.removeClass(this._document.body, 'modal-open');\r\n this._revertAriaHidden();\r\n }\r\n };\r\n\r\n if (!containerEl) {\r\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\r\n }\r\n\r\n const activeModal = new NgbActiveModal();\r\n const contentRef =\r\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\r\n\r\n let backdropCmptRef: ComponentRef| undefined =\r\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : undefined;\r\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\r\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\r\n\r\n this._registerModalRef(ngbModalRef);\r\n this._registerWindowCmpt(windowCmptRef);\r\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\r\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\r\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\r\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\r\n\r\n this._applyWindowOptions(windowCmptRef.instance, options);\r\n if (this._modalRefs.length === 1) {\r\n renderer.addClass(this._document.body, 'modal-open');\r\n }\r\n\r\n if (backdropCmptRef && backdropCmptRef.instance) {\r\n this._applyBackdropOptions(backdropCmptRef.instance, options);\r\n backdropCmptRef.changeDetectorRef.detectChanges();\r\n }\r\n windowCmptRef.changeDetectorRef.detectChanges();\r\n return ngbModalRef;\r\n }\r\n\r\n get activeInstances() { return this._activeInstances; }\r\n\r\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\r\n\r\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\r\n\r\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\r\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\r\n let backdropCmptRef = backdropFactory.create(this._injector);\r\n this._applicationRef.attachView(backdropCmptRef.hostView);\r\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\r\n return backdropCmptRef;\r\n }\r\n\r\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\r\n ComponentRef {\r\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\r\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\r\n this._applicationRef.attachView(windowCmptRef.hostView);\r\n containerEl.appendChild(windowCmptRef.location.nativeElement);\r\n return windowCmptRef;\r\n }\r\n\r\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\r\n this._windowAttributes.forEach((optionName: string) => {\r\n if (isDefined(options[optionName])) {\r\n windowInstance[optionName] = options[optionName];\r\n }\r\n });\r\n }\r\n\r\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\r\n this._backdropAttributes.forEach((optionName: string) => {\r\n if (isDefined(options[optionName])) {\r\n backdropInstance[optionName] = options[optionName];\r\n }\r\n });\r\n }\r\n\r\n private _getContentRef(\r\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\r\n options: NgbModalOptions): ContentRef {\r\n if (!content) {\r\n return new ContentRef([]);\r\n } else if (content instanceof TemplateRef) {\r\n return this._createFromTemplateRef(content, activeModal);\r\n } else if (isString(content)) {\r\n return this._createFromString(content);\r\n } else {\r\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\r\n }\r\n }\r\n\r\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\r\n const context = {\r\n $implicit: activeModal,\r\n close(result) { activeModal.close(result); },\r\n dismiss(reason) { activeModal.dismiss(reason); }\r\n };\r\n const viewRef = content.createEmbeddedView(context);\r\n this._applicationRef.attachView(viewRef);\r\n return new ContentRef([viewRef.rootNodes], viewRef);\r\n }\r\n\r\n private _createFromString(content: string): ContentRef {\r\n const component = this._document.createTextNode(`${content}`);\r\n return new ContentRef([[component]]);\r\n }\r\n\r\n private _createFromComponent(\r\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\r\n options: NgbModalOptions): ContentRef {\r\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\r\n const modalContentInjector =\r\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\r\n const componentRef = contentCmptFactory.create(modalContentInjector);\r\n const componentNativeEl = componentRef.location.nativeElement;\r\n if (options.scrollable) {\r\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\r\n }\r\n this._applicationRef.attachView(componentRef.hostView);\r\n // FIXME: we should here get rid of the component nativeElement\r\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\r\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\r\n }\r\n\r\n private _setAriaHidden(element: Element) {\r\n const parent = element.parentElement;\r\n if (parent && element !== this._document.body) {\r\n Array.from(parent.children).forEach(sibling => {\r\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\r\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\r\n sibling.setAttribute('aria-hidden', 'true');\r\n }\r\n });\r\n\r\n this._setAriaHidden(parent);\r\n }\r\n }\r\n\r\n private _revertAriaHidden() {\r\n this._ariaHiddenValues.forEach((value, element) => {\r\n if (value) {\r\n element.setAttribute('aria-hidden', value);\r\n } else {\r\n element.removeAttribute('aria-hidden');\r\n }\r\n });\r\n this._ariaHiddenValues.clear();\r\n }\r\n\r\n private _registerModalRef(ngbModalRef: NgbModalRef) {\r\n const unregisterModalRef = () => {\r\n const index = this._modalRefs.indexOf(ngbModalRef);\r\n if (index > -1) {\r\n this._modalRefs.splice(index, 1);\r\n this._activeInstances.emit(this._modalRefs);\r\n }\r\n };\r\n this._modalRefs.push(ngbModalRef);\r\n this._activeInstances.emit(this._modalRefs);\r\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\r\n }\r\n\r\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\r\n this._windowCmpts.push(ngbWindowCmpt);\r\n this._activeWindowCmptHasChanged.next();\r\n\r\n ngbWindowCmpt.onDestroy(() => {\r\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\r\n if (index > -1) {\r\n this._windowCmpts.splice(index, 1);\r\n this._activeWindowCmptHasChanged.next();\r\n }\r\n });\r\n }\r\n}\r\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\r\n\r\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\r\nimport {NgbModalRef} from './modal-ref';\r\nimport {NgbModalStack} from './modal-stack';\r\n\r\n/**\r\n * A service for opening modal windows.\r\n *\r\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\r\n * the `.open()` method.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbModal {\r\n constructor(\r\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\r\n private _config: NgbModalConfig) {}\r\n\r\n /**\r\n * Opens a new modal window with the specified content and supplied options.\r\n *\r\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\r\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\r\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\r\n *\r\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\r\n */\r\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\r\n const combinedOptions = {...this._config, animation: this._config.animation, ...options};\r\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\r\n }\r\n\r\n /**\r\n * Returns an observable that holds the active modal instances.\r\n */\r\n get activeInstances() { return this._modalStack.activeInstances; }\r\n\r\n /**\r\n * Dismisses all currently displayed modal windows with the supplied reason.\r\n *\r\n * @since 3.1.0\r\n */\r\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\r\n\r\n /**\r\n * Indicates if there are currently any open modal windows in the application.\r\n *\r\n * @since 3.3.0\r\n */\r\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {NgbModal} from './modal';\r\nimport {NgbModalBackdrop} from './modal-backdrop';\r\nimport {NgbModalWindow} from './modal-window';\r\n\r\nexport {NgbModal} from './modal';\r\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\r\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\r\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\r\n\r\n@NgModule({\r\n declarations: [NgbModalBackdrop, NgbModalWindow],\r\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\r\n providers: [NgbModal]\r\n})\r\nexport class NgbModalModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the navs used in the application.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbNavConfig {\r\n destroyOnHide = true;\r\n orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n roles: 'tablist' | false = 'tablist';\r\n keyboard: boolean | 'changeWithArrows' = false;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n Attribute,\r\n ChangeDetectorRef,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nimport {Subject} from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\nimport {isDefined} from '../util/util';\r\nimport {NgbNavConfig} from './nav-config';\r\nimport {Key} from '../util/key';\r\n\r\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\r\n\r\nlet navCounter = 0;\r\n\r\n/**\r\n * Context passed to the nav content template.\r\n *\r\n * See [this demo](#/components/nav/examples#keep-content) as the example.\r\n *\r\n * @since 5.2.0\r\n */\r\nexport interface NgbNavContentContext {\r\n /**\r\n * If `true`, current nav content is visible and active\r\n */\r\n $implicit: boolean;\r\n}\r\n\r\n\r\n/**\r\n * This directive must be used to wrap content to be displayed in the nav.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Directive({selector: 'ng-template[ngbNavContent]'})\r\nexport class NgbNavContent {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n\r\n/**\r\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\r\nexport class NgbNavItem implements AfterContentChecked, OnInit {\r\n private _nav: NgbNav;\r\n\r\n /**\r\n * If `true`, non-active current nav item content will be removed from DOM\r\n * Otherwise it will just be hidden\r\n */\r\n @Input() destroyOnHide;\r\n\r\n /**\r\n * If `true`, the current nav item is disabled and can't be toggled by user.\r\n *\r\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\r\n */\r\n @Input() disabled = false;\r\n\r\n /**\r\n * The id used for the DOM elements.\r\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\r\n *\r\n * Autogenerated as `ngb-nav-XXX` if not provided.\r\n */\r\n @Input() domId: string;\r\n\r\n /**\r\n * The id used as a model for active nav.\r\n * It can be anything, but must be unique inside one `ngbNav`.\r\n *\r\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\r\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\r\n */\r\n @Input('ngbNavItem') _id: any;\r\n\r\n /**\r\n * An event emitted when the fade in transition is finished on the related nav content\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the fade out transition is finished on the related nav content\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n contentTpl: NgbNavContent | null;\r\n\r\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\r\n\r\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\r\n // TODO: cf https://github.com/angular/angular/issues/30106\r\n this._nav = nav;\r\n }\r\n\r\n ngAfterContentChecked() {\r\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\r\n // only @ContentChildren allows us to specify the {descendants: false} option.\r\n // Without {descendants: false} we are hitting bugs described in:\r\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\r\n this.contentTpl = this.contentTpls.first;\r\n }\r\n\r\n ngOnInit() {\r\n if (!isDefined(this.domId)) {\r\n this.domId = `ngb-nav-${navCounter++}`;\r\n }\r\n }\r\n\r\n get active() { return this._nav.activeId === this.id; }\r\n\r\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\r\n\r\n get panelDomId() { return `${this.domId}-panel`; }\r\n\r\n isPanelInDom() {\r\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * A nav directive that helps with implementing tabbed navigation components.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Directive({\r\n selector: '[ngbNav]',\r\n exportAs: 'ngbNav',\r\n host: {\r\n '[class.nav]': 'true',\r\n '[class.flex-column]': `orientation === 'vertical'`,\r\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\r\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\r\n '(keydown.arrowLeft)': 'onKeyDown($event)',\r\n '(keydown.arrowRight)': 'onKeyDown($event)',\r\n '(keydown.arrowDown)': 'onKeyDown($event)',\r\n '(keydown.arrowUp)': 'onKeyDown($event)',\r\n '(keydown.Home)': 'onKeyDown($event)',\r\n '(keydown.End)': 'onKeyDown($event)'\r\n }\r\n})\r\nexport class NgbNav implements AfterContentInit,\r\n OnDestroy {\r\n static ngAcceptInputType_orientation: string;\r\n static ngAcceptInputType_roles: boolean | string;\r\n\r\n /**\r\n * The id of the nav that should be active\r\n *\r\n * You could also use the `.select()` method and the `(navChange)` event\r\n */\r\n @Input() activeId: any;\r\n\r\n /**\r\n * The event emitted after the active nav changes\r\n * The payload of the event is the newly active nav id\r\n *\r\n * If you want to prevent nav change, you should use `(navChange)` event\r\n */\r\n @Output() activeIdChange = new EventEmitter();\r\n\r\n /**\r\n * If `true`, nav change will be animated.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n /**\r\n * If `true`, non-active nav content will be removed from DOM\r\n * Otherwise it will just be hidden\r\n */\r\n @Input() destroyOnHide;\r\n\r\n /**\r\n * The orientation of navs.\r\n *\r\n * Using `vertical` will also add the `aria-orientation` attribute\r\n */\r\n @Input() orientation: 'horizontal' | 'vertical';\r\n\r\n /**\r\n * Role attribute generating strategy:\r\n * - `false` - no role attributes will be generated\r\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\r\n */\r\n @Input() roles: 'tablist' | false;\r\n\r\n /**\r\n * Keyboard support for nav focus/selection using arrow keys.\r\n *\r\n * * `false` - no keyboard support.\r\n * * `true` - navs will be focused using keyboard arrow keys\r\n * * `'changeWithArrows'` - nav will be selected using keyboard arrow keys\r\n *\r\n * See the [list of available keyboard shortcuts](#/components/nav/overview#keyboard-shortcuts).\r\n *\r\n * @since 6.1.0\r\n */\r\n @Input() keyboard: boolean | 'changeWithArrows';\r\n\r\n /**\r\n * An event emitted when the fade in transition is finished for one of the items.\r\n *\r\n * Payload of the event is the nav id that was just shown.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the fade out transition is finished for one of the items.\r\n *\r\n * Payload of the event is the nav id that was just hidden.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n @ContentChildren(NgbNavItem) items: QueryList;\r\n @ContentChildren(forwardRef(() => NgbNavLink), {descendants: true}) links: QueryList;\r\n\r\n destroy$ = new Subject();\r\n navItemChange$ = new Subject();\r\n\r\n constructor(\r\n @Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private _document: any) {\r\n this.animation = config.animation;\r\n this.destroyOnHide = config.destroyOnHide;\r\n this.orientation = config.orientation;\r\n this.roles = config.roles;\r\n this.keyboard = config.keyboard;\r\n }\r\n\r\n /**\r\n * The nav change event emitted right before the nav change happens on user click.\r\n *\r\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\r\n *\r\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\r\n */\r\n @Output() navChange = new EventEmitter();\r\n\r\n click(item: NgbNavItem) {\r\n if (!item.disabled) {\r\n this._updateActiveId(item.id);\r\n }\r\n }\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.roles !== 'tablist' || !this.keyboard) {\r\n return;\r\n }\r\n // tslint:disable-next-line: deprecation\r\n const key = event.which;\r\n const enabledLinks = this.links.filter(link => !link.navItem.disabled);\r\n const {length} = enabledLinks;\r\n\r\n let position = -1;\r\n\r\n enabledLinks.forEach((link, index) => {\r\n if (link.elRef.nativeElement === this._document.activeElement) {\r\n position = index;\r\n }\r\n });\r\n\r\n if (length) {\r\n switch (key) {\r\n case Key.ArrowLeft:\r\n if (this.orientation === 'vertical') {\r\n return;\r\n }\r\n position = (position - 1 + length) % length;\r\n break;\r\n case Key.ArrowRight:\r\n if (this.orientation === 'vertical') {\r\n return;\r\n }\r\n position = (position + 1) % length;\r\n break;\r\n case Key.ArrowDown:\r\n if (this.orientation === 'horizontal') {\r\n return;\r\n }\r\n position = (position + 1) % length;\r\n break;\r\n case Key.ArrowUp:\r\n if (this.orientation === 'horizontal') {\r\n return;\r\n }\r\n position = (position - 1 + length) % length;\r\n break;\r\n case Key.Home:\r\n position = 0;\r\n break;\r\n case Key.End:\r\n position = length - 1;\r\n break;\r\n }\r\n if (this.keyboard === 'changeWithArrows') {\r\n this.select(enabledLinks[position].navItem.id);\r\n }\r\n enabledLinks[position].elRef.nativeElement.focus();\r\n\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /**\r\n * Selects the nav with the given id and shows its associated pane.\r\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\r\n */\r\n select(id: any) { this._updateActiveId(id, false); }\r\n\r\n ngAfterContentInit() {\r\n if (!isDefined(this.activeId)) {\r\n const nextId = this.items.first ? this.items.first.id : null;\r\n if (isValidNavId(nextId)) {\r\n this._updateActiveId(nextId, false);\r\n this._cd.detectChanges();\r\n }\r\n }\r\n\r\n this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this._notifyItemChanged(this.activeId));\r\n }\r\n\r\n ngOnChanges({activeId}: SimpleChanges): void {\r\n if (activeId && !activeId.firstChange) {\r\n this._notifyItemChanged(activeId.currentValue);\r\n }\r\n }\r\n\r\n ngOnDestroy() { this.destroy$.next(); }\r\n\r\n private _updateActiveId(nextId: any, emitNavChange = true) {\r\n if (this.activeId !== nextId) {\r\n let defaultPrevented = false;\r\n\r\n if (emitNavChange) {\r\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\r\n }\r\n\r\n if (!defaultPrevented) {\r\n this.activeId = nextId;\r\n this.activeIdChange.emit(nextId);\r\n this._notifyItemChanged(nextId);\r\n }\r\n }\r\n }\r\n\r\n private _notifyItemChanged(nextItemId: any) { this.navItemChange$.next(this._getItemById(nextItemId)); }\r\n\r\n private _getItemById(itemId: any): NgbNavItem | null {\r\n return this.items && this.items.find(item => item.id === itemId) || null;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * A directive to put on the nav link.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Directive({\r\n selector: 'a[ngbNavLink]',\r\n host: {\r\n '[id]': 'navItem.domId',\r\n '[class.nav-link]': 'true',\r\n '[class.nav-item]': 'hasNavItemClass()',\r\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\r\n 'href': '',\r\n '[class.active]': 'navItem.active',\r\n '[class.disabled]': 'navItem.disabled',\r\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\r\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\r\n '[attr.aria-selected]': 'navItem.active',\r\n '[attr.aria-disabled]': 'navItem.disabled',\r\n '(click)': 'nav.click(navItem); $event.preventDefault()'\r\n }\r\n})\r\nexport class NgbNavLink {\r\n constructor(\r\n @Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav,\r\n public elRef: ElementRef) {}\r\n\r\n hasNavItemClass() {\r\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\r\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * The payload of the change event emitted right before the nav change happens on user click.\r\n *\r\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\r\n *\r\n * @since 5.2.0\r\n */\r\nexport interface NgbNavChangeEvent {\r\n /**\r\n * Id of the currently active nav.\r\n */\r\n activeId: T;\r\n\r\n /**\r\n * Id of the newly selected nav.\r\n */\r\n nextId: T;\r\n\r\n /**\r\n * Function that will prevent nav change if called.\r\n */\r\n preventDefault: () => void;\r\n}\r\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\r\nimport {reflow} from '../util/util';\r\n\r\nexport const ngbNavFadeOutTransition: NgbTransitionStartFn = ({classList}) => {\r\n classList.remove('show');\r\n return () => classList.remove('active');\r\n};\r\n\r\nexport const ngbNavFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: boolean) => {\r\n if (animation) {\r\n reflow(element);\r\n }\r\n element.classList.add('show');\r\n};\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Directive,\r\n ElementRef,\r\n Input,\r\n NgZone,\r\n QueryList,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {distinctUntilChanged, skip, startWith, takeUntil} from 'rxjs/operators';\r\n\r\nimport {ngbNavFadeInTransition, ngbNavFadeOutTransition} from './nav-transition';\r\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\r\nimport {NgbNav, NgbNavItem} from './nav';\r\n\r\n@Directive({\r\n selector: '[ngbNavPane]',\r\n host: {\r\n '[id]': 'item.panelDomId',\r\n 'class': 'tab-pane',\r\n '[class.fade]': 'nav.animation',\r\n '[attr.role]': 'role ? role : nav.roles ? \"tabpanel\" : undefined',\r\n '[attr.aria-labelledby]': 'item.domId'\r\n }\r\n})\r\nexport class NgbNavPane {\r\n @Input() item: NgbNavItem;\r\n @Input() nav: NgbNav;\r\n @Input() role: string;\r\n\r\n constructor(public elRef: ElementRef) {}\r\n}\r\n\r\n/**\r\n * The outlet where currently active nav content will be displayed.\r\n *\r\n * @since 5.2.0\r\n */\r\n@Component({\r\n selector: '[ngbNavOutlet]',\r\n host: {'[class.tab-content]': 'true'},\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n \r\n
\r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class NgbNavOutlet implements AfterViewInit {\r\n private _activePane: NgbNavPane | null = null;\r\n\r\n @ViewChildren(NgbNavPane) private _panes: QueryList;\r\n\r\n /**\r\n * A role to set on the nav pane\r\n */\r\n @Input() paneRole;\r\n\r\n /**\r\n * Reference to the `NgbNav`\r\n */\r\n @Input('ngbNavOutlet') nav: NgbNav;\r\n\r\n constructor(private _cd: ChangeDetectorRef, private _ngZone: NgZone) {}\r\n\r\n isPanelTransitioning(item: NgbNavItem) { return this._activePane ?.item === item; }\r\n\r\n ngAfterViewInit() {\r\n // initial display\r\n this._updateActivePane();\r\n\r\n // this will be emitted for all 3 types of nav changes: .select(), [activeId] or (click)\r\n this.nav.navItemChange$\r\n .pipe(takeUntil(this.nav.destroy$), startWith(this._activePane ?.item || null), distinctUntilChanged(), skip(1))\r\n .subscribe(nextItem => {\r\n const options: NgbTransitionOptions = {animation: this.nav.animation, runningTransition: 'stop'};\r\n\r\n // next panel we're switching to will only appear in DOM after the change detection is done\r\n // and `this._panes` will be updated\r\n this._cd.detectChanges();\r\n\r\n // fading out\r\n if (this._activePane) {\r\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeOutTransition, options)\r\n .subscribe(() => {\r\n const activeItem = this._activePane ?.item;\r\n this._activePane = this._getPaneForItem(nextItem);\r\n\r\n // mark for check when transition finishes as outlet or parent containers might be OnPush\r\n // without this the panes that have \"faded out\" will stay in DOM\r\n this._cd.markForCheck();\r\n\r\n // fading in\r\n if (this._activePane) {\r\n // we have to add the '.active' class before running the transition,\r\n // because it should be in place before `ngbRunTransition` does `reflow()`\r\n this._activePane.elRef.nativeElement.classList.add('active');\r\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeInTransition, options)\r\n .subscribe(() => {\r\n if (nextItem) {\r\n nextItem.shown.emit();\r\n this.nav.shown.emit(nextItem.id);\r\n }\r\n });\r\n }\r\n\r\n if (activeItem) {\r\n activeItem.hidden.emit();\r\n this.nav.hidden.emit(activeItem.id);\r\n }\r\n });\r\n } else {\r\n this._updateActivePane();\r\n }\r\n });\r\n }\r\n\r\n private _updateActivePane() {\r\n this._activePane = this._getActivePane();\r\n this._activePane ?.elRef.nativeElement.classList.add('show');\r\n this._activePane ?.elRef.nativeElement.classList.add('active');\r\n }\r\n\r\n private _getPaneForItem(item: NgbNavItem | null) {\r\n return this._panes && this._panes.find(pane => pane.item === item) || null;\r\n }\r\n\r\n private _getActivePane(): NgbNavPane | null {\r\n return this._panes && this._panes.find(pane => pane.item.active) || null;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\r\nimport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\r\n\r\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\r\nexport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\r\nexport {NgbNavConfig} from './nav-config';\r\n\r\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet, NgbNavPane];\r\n\r\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\r\nexport class NgbNavModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n/**\r\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the paginations used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbPaginationConfig {\r\n disabled = false;\r\n boundaryLinks = false;\r\n directionLinks = true;\r\n ellipses = true;\r\n maxSize = 0;\r\n pageSize = 10;\r\n rotate = false;\r\n size: 'sm' | 'lg';\r\n}\r\n","import {\r\n Component,\r\n ContentChild,\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n OnChanges,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {getValueInRange, isNumber} from '../util/util';\r\nimport {NgbPaginationConfig} from './pagination-config';\r\n\r\n/**\r\n * A context for the\r\n * * `NgbPaginationFirst`\r\n * * `NgbPaginationPrevious`\r\n * * `NgbPaginationNext`\r\n * * `NgbPaginationLast`\r\n * * `NgbPaginationEllipsis`\r\n * * `NgbPaginationPages`\r\n *\r\n * link templates in case you want to override one.\r\n *\r\n * @since 4.1.0\r\n */\r\nexport interface NgbPaginationLinkContext {\r\n /**\r\n * Page number displayed by the current link.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * If `true`, the current link is disabled.\r\n */\r\n disabled: boolean;\r\n}\r\n\r\n/**\r\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\r\n *\r\n * Extends `NgbPaginationLinkContext`.\r\n *\r\n * @since 4.1.0\r\n */\r\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\r\n /**\r\n * The page number, displayed by the current page link.\r\n */\r\n $implicit: number;\r\n}\r\n\r\n/**\r\n * A context for the `NgbPaginationPages` pages template in case you want to override\r\n * the way all pages are displayed.\r\n *\r\n * @since 9.1.0\r\n */\r\nexport interface NgbPaginationPagesContext {\r\n /**\r\n * The currently selected page number.\r\n */\r\n $implicit: number;\r\n\r\n /**\r\n * If `true`, pagination is disabled.\r\n */\r\n disabled: boolean;\r\n\r\n /**\r\n * Pages numbers that should be rendered starting with 1.\r\n */\r\n pages: number[];\r\n}\r\n\r\n/**\r\n * A directive to match the 'ellipsis' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\r\nexport class NgbPaginationEllipsis {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the 'first' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\r\nexport class NgbPaginationFirst {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the 'last' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\r\nexport class NgbPaginationLast {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the 'next' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\r\nexport class NgbPaginationNext {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the page 'number' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\r\nexport class NgbPaginationNumber {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the 'previous' link template\r\n *\r\n * @since 4.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\r\nexport class NgbPaginationPrevious {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A directive to match the 'pages' whole content\r\n *\r\n * @since 9.1.0\r\n */\r\n@Directive({selector: 'ng-template[ngbPaginationPages]'})\r\nexport class NgbPaginationPages {\r\n constructor(public templateRef: TemplateRef) {}\r\n}\r\n\r\n/**\r\n * A component that displays page numbers and allows to customize them in several ways.\r\n */\r\n@Component({\r\n selector: 'ngb-pagination',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {'role': 'navigation'},\r\n template: `\r\n ««\r\n «\r\n »\r\n »»\r\n ...\r\n \r\n {{ page }}\r\n (current)\r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
    \r\n \r\n `\r\n})\r\nexport class NgbPagination implements OnChanges {\r\n pageCount = 0;\r\n pages: number[] = [];\r\n\r\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\r\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\r\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\r\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\r\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\r\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\r\n @ContentChild(NgbPaginationPages, {static: false}) tplPages: NgbPaginationPages;\r\n\r\n /**\r\n * If `true`, pagination links will be disabled.\r\n */\r\n @Input() disabled: boolean;\r\n\r\n /**\r\n * If `true`, the \"First\" and \"Last\" page links are shown.\r\n */\r\n @Input() boundaryLinks: boolean;\r\n\r\n /**\r\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\r\n */\r\n @Input() directionLinks: boolean;\r\n\r\n /**\r\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\r\n */\r\n @Input() ellipses: boolean;\r\n\r\n /**\r\n * Whether to rotate pages when `maxSize` > number of pages.\r\n *\r\n * The current page always stays in the middle if `true`.\r\n */\r\n @Input() rotate: boolean;\r\n\r\n /**\r\n * The number of items in your paginated collection.\r\n *\r\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\r\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\r\n * you'll end up with 5 pages.\r\n */\r\n @Input() collectionSize: number;\r\n\r\n /**\r\n * The maximum number of pages to display.\r\n */\r\n @Input() maxSize: number;\r\n\r\n /**\r\n * The current page.\r\n *\r\n * Page numbers start with `1`.\r\n */\r\n @Input() page = 1;\r\n\r\n /**\r\n * The number of items per page.\r\n */\r\n @Input() pageSize: number;\r\n\r\n /**\r\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\r\n *\r\n * Event payload is the number of the newly selected page.\r\n *\r\n * Page numbers start with `1`.\r\n */\r\n @Output() pageChange = new EventEmitter(true);\r\n\r\n /**\r\n * The pagination display size.\r\n *\r\n * Bootstrap currently supports small and large sizes.\r\n */\r\n @Input() size: 'sm' | 'lg';\r\n\r\n constructor(config: NgbPaginationConfig) {\r\n this.disabled = config.disabled;\r\n this.boundaryLinks = config.boundaryLinks;\r\n this.directionLinks = config.directionLinks;\r\n this.ellipses = config.ellipses;\r\n this.maxSize = config.maxSize;\r\n this.pageSize = config.pageSize;\r\n this.rotate = config.rotate;\r\n this.size = config.size;\r\n }\r\n\r\n hasPrevious(): boolean { return this.page > 1; }\r\n\r\n hasNext(): boolean { return this.page < this.pageCount; }\r\n\r\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\r\n\r\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\r\n\r\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\r\n\r\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\r\n\r\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\r\n\r\n /**\r\n * Appends ellipses and first/last page number to the displayed pages\r\n */\r\n private _applyEllipses(start: number, end: number) {\r\n if (this.ellipses) {\r\n if (start > 0) {\r\n // The first page will always be included. If the displayed range\r\n // starts after the third page, then add ellipsis. But if the range\r\n // starts on the third page, then add the second page instead of\r\n // an ellipsis, because the ellipsis would only hide a single page.\r\n if (start > 2) {\r\n this.pages.unshift(-1);\r\n } else if (start === 2) {\r\n this.pages.unshift(2);\r\n }\r\n this.pages.unshift(1);\r\n }\r\n if (end < this.pageCount) {\r\n // The last page will always be included. If the displayed range\r\n // ends before the third-last page, then add ellipsis. But if the range\r\n // ends on third-last page, then add the second-last page instead of\r\n // an ellipsis, because the ellipsis would only hide a single page.\r\n if (end < (this.pageCount - 2)) {\r\n this.pages.push(-1);\r\n } else if (end === (this.pageCount - 2)) {\r\n this.pages.push(this.pageCount - 1);\r\n }\r\n this.pages.push(this.pageCount);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Rotates page numbers based on maxSize items visible.\r\n * Currently selected page stays in the middle:\r\n *\r\n * Ex. for selected page = 6:\r\n * [5,*6*,7] for maxSize = 3\r\n * [4,5,*6*,7] for maxSize = 4\r\n */\r\n private _applyRotation(): [number, number] {\r\n let start = 0;\r\n let end = this.pageCount;\r\n let leftOffset = Math.floor(this.maxSize / 2);\r\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\r\n\r\n if (this.page <= leftOffset) {\r\n // very beginning, no rotation -> [0..maxSize]\r\n end = this.maxSize;\r\n } else if (this.pageCount - this.page < leftOffset) {\r\n // very end, no rotation -> [len-maxSize..len]\r\n start = this.pageCount - this.maxSize;\r\n } else {\r\n // rotate\r\n start = this.page - leftOffset - 1;\r\n end = this.page + rightOffset;\r\n }\r\n\r\n return [start, end];\r\n }\r\n\r\n /**\r\n * Paginates page numbers based on maxSize items per page.\r\n */\r\n private _applyPagination(): [number, number] {\r\n let page = Math.ceil(this.page / this.maxSize) - 1;\r\n let start = page * this.maxSize;\r\n let end = start + this.maxSize;\r\n\r\n return [start, end];\r\n }\r\n\r\n private _setPageInRange(newPageNo) {\r\n const prevPageNo = this.page;\r\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\r\n\r\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\r\n this.pageChange.emit(this.page);\r\n }\r\n }\r\n\r\n private _updatePages(newPage: number) {\r\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\r\n\r\n if (!isNumber(this.pageCount)) {\r\n this.pageCount = 0;\r\n }\r\n\r\n // fill-in model needed to render pages\r\n this.pages.length = 0;\r\n for (let i = 1; i <= this.pageCount; i++) {\r\n this.pages.push(i);\r\n }\r\n\r\n // set page within 1..max range\r\n this._setPageInRange(newPage);\r\n\r\n // apply maxSize if necessary\r\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\r\n let start = 0;\r\n let end = this.pageCount;\r\n\r\n // either paginating or rotating page numbers\r\n if (this.rotate) {\r\n [start, end] = this._applyRotation();\r\n } else {\r\n [start, end] = this._applyPagination();\r\n }\r\n\r\n this.pages = this.pages.slice(start, end);\r\n\r\n // adding ellipses\r\n this._applyEllipses(start, end);\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {\r\n NgbPagination,\r\n NgbPaginationEllipsis,\r\n NgbPaginationFirst,\r\n NgbPaginationLast,\r\n NgbPaginationNext,\r\n NgbPaginationNumber,\r\n NgbPaginationPrevious,\r\n NgbPaginationPages\r\n} from './pagination';\r\n\r\nexport {\r\n NgbPagination,\r\n NgbPaginationEllipsis,\r\n NgbPaginationFirst,\r\n NgbPaginationLast,\r\n NgbPaginationNext,\r\n NgbPaginationNumber,\r\n NgbPaginationPrevious,\r\n NgbPaginationPages\r\n} from './pagination';\r\nexport {NgbPaginationConfig} from './pagination-config';\r\n\r\nconst DIRECTIVES = [\r\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\r\n NgbPaginationPrevious, NgbPaginationPages\r\n];\r\n\r\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\r\nexport class NgbPaginationModule {\r\n}\r\n","import {Observable, merge} from 'rxjs';\r\nimport {share, filter, delay, map} from 'rxjs/operators';\r\nimport {Renderer2} from '@angular/core';\r\n\r\nexport class Trigger {\r\n constructor(public open: string, public close?: string) {\r\n if (!close) {\r\n this.close = open;\r\n }\r\n }\r\n\r\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\r\n}\r\n\r\nconst DEFAULT_ALIASES = {\r\n 'hover': ['mouseenter', 'mouseleave'],\r\n 'focus': ['focusin', 'focusout'],\r\n};\r\n\r\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\r\n const trimmedTriggers = (triggers || '').trim();\r\n\r\n if (trimmedTriggers.length === 0) {\r\n return [];\r\n }\r\n\r\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\r\n let alias = aliases[triggerPair[0]] || triggerPair;\r\n return new Trigger(alias[0], alias[1]);\r\n });\r\n\r\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\r\n\r\n if (manualTriggers.length > 1) {\r\n throw 'Triggers parse error: only one manual trigger is allowed';\r\n }\r\n\r\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\r\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\r\n }\r\n\r\n return parsedTriggers;\r\n}\r\n\r\nexport function observeTriggers(\r\n renderer: Renderer2, nativeElement: HTMLElement, triggers: Trigger[], isOpenedFn: () => boolean) {\r\n return new Observable(subscriber => {\r\n const listeners: Function[] = [];\r\n const openFn = () => subscriber.next(true);\r\n const closeFn = () => subscriber.next(false);\r\n const toggleFn = () => subscriber.next(!isOpenedFn());\r\n\r\n triggers.forEach((trigger: Trigger) => {\r\n if (trigger.open === trigger.close) {\r\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\r\n } else {\r\n listeners.push(\r\n renderer.listen(nativeElement, trigger.open, openFn),\r\n renderer.listen(nativeElement, trigger.close !, closeFn));\r\n }\r\n });\r\n\r\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\r\n });\r\n}\r\n\r\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\r\n\r\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\r\n return (input$: Observable) => {\r\n let pending: {open: boolean} | null = null;\r\n const filteredInput$ = input$.pipe(\r\n map(open => ({open})), filter(event => {\r\n const currentlyOpen = isOpenedFn();\r\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\r\n pending = event;\r\n return true;\r\n }\r\n if (pending && pending.open !== event.open) {\r\n pending = null;\r\n }\r\n return false;\r\n }),\r\n share());\r\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\r\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\r\n return merge(delayedOpen$, delayedClose$)\r\n .pipe(\r\n filter(event => {\r\n if (event === pending) {\r\n pending = null;\r\n return event.open !== isOpenedFn();\r\n }\r\n return false;\r\n }),\r\n map(event => event.open));\r\n };\r\n}\r\n\r\nexport function listenToTriggers(\r\n renderer: Renderer2, nativeElement: HTMLElement, triggers: string, isOpenedFn: () => boolean, openFn: Function,\r\n closeFn: Function, openDelay = 0, closeDelay = 0) {\r\n const parsedTriggers = parseTriggers(triggers);\r\n\r\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\r\n return () => {};\r\n }\r\n\r\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\r\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\r\n .subscribe(open => (open ? openFn() : closeFn()));\r\n\r\n return () => subscription.unsubscribe();\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {PlacementArray} from '../util/positioning';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the popovers used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbPopoverConfig {\r\n autoClose: boolean | 'inside' | 'outside' = true;\r\n placement: PlacementArray = 'auto';\r\n triggers = 'click';\r\n container: string;\r\n disablePopover = false;\r\n popoverClass: string;\r\n openDelay = 0;\r\n closeDelay = 0;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {\r\n Component,\r\n Directive,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n OnChanges,\r\n Inject,\r\n Injector,\r\n Renderer2,\r\n ComponentRef,\r\n ElementRef,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n NgZone,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n ChangeDetectorRef,\r\n ApplicationRef\r\n} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nimport {listenToTriggers} from '../util/triggers';\r\nimport {ngbAutoClose} from '../util/autoclose';\r\nimport {positionElements, PlacementArray} from '../util/positioning';\r\nimport {PopupService} from '../util/popup';\r\n\r\nimport {NgbPopoverConfig} from './popover-config';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'ngb-popover-window',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n '[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")',\r\n '[class.fade]': 'animation',\r\n 'role': 'tooltip',\r\n '[id]': 'id'\r\n },\r\n template: `\r\n
    \r\n

    \r\n {{title}}\r\n \r\n

    \r\n
    `,\r\n styleUrls: ['./popover.scss']\r\n})\r\nexport class NgbPopoverWindow {\r\n @Input() animation: boolean;\r\n @Input() title: string | TemplateRef| null | undefined;\r\n @Input() id: string;\r\n @Input() popoverClass: string;\r\n @Input() context: any;\r\n\r\n isTitleTemplate() { return this.title instanceof TemplateRef; }\r\n}\r\n\r\n/**\r\n * A lightweight and extensible directive for fancy popover creation.\r\n */\r\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\r\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\r\n static ngAcceptInputType_autoClose: boolean | string;\r\n\r\n /**\r\n * If `true`, popover opening and closing will be animated.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n /**\r\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\r\n *\r\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\r\n * * `false` - disables the autoClose feature (NB: triggers still apply)\r\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\r\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\r\n * as well as `Escape` presses\r\n *\r\n * @since 3.0.0\r\n */\r\n @Input() autoClose: boolean | 'inside' | 'outside';\r\n\r\n /**\r\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\r\n *\r\n * If the title and the content are falsy, the popover won't open.\r\n */\r\n @Input() ngbPopover: string | TemplateRef| null | undefined;\r\n\r\n /**\r\n * The title of the popover.\r\n *\r\n * If the title and the content are falsy, the popover won't open.\r\n */\r\n @Input() popoverTitle: string | TemplateRef| null | undefined;\r\n\r\n /**\r\n * The preferred placement of the popover.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"auto\"` (same as the sequence above).\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() placement: PlacementArray;\r\n\r\n /**\r\n * Specifies events that should trigger the tooltip.\r\n *\r\n * Supports a space separated list of event names.\r\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\r\n */\r\n @Input() triggers: string;\r\n\r\n /**\r\n * A selector specifying the element the popover should be appended to.\r\n *\r\n * Currently only supports `body`.\r\n */\r\n @Input() container: string;\r\n\r\n /**\r\n * If `true`, popover is disabled and won't be displayed.\r\n *\r\n * @since 1.1.0\r\n */\r\n @Input() disablePopover: boolean;\r\n\r\n /**\r\n * An optional class applied to the popover window element.\r\n *\r\n * @since 2.2.0\r\n */\r\n @Input() popoverClass: string;\r\n\r\n /**\r\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\r\n *\r\n * @since 4.1.0\r\n */\r\n @Input() openDelay: number;\r\n\r\n /**\r\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\r\n *\r\n * @since 4.1.0\r\n */\r\n @Input() closeDelay: number;\r\n\r\n /**\r\n * An event emitted when the popover opening animation has finished. Contains no payload.\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the popover closing animation has finished. Contains no payload.\r\n *\r\n * At this point popover is not in the DOM anymore.\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\r\n private _popupService: PopupService;\r\n private _windowRef: ComponentRef| null = null;\r\n private _unregisterListenersFn;\r\n private _zoneSubscription: any;\r\n private _isDisabled(): boolean {\r\n if (this.disablePopover) {\r\n return true;\r\n }\r\n if (!this.ngbPopover && !this.popoverTitle) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n constructor(\r\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\r\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\r\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\r\n applicationRef: ApplicationRef) {\r\n this.animation = config.animation;\r\n this.autoClose = config.autoClose;\r\n this.placement = config.placement;\r\n this.triggers = config.triggers;\r\n this.container = config.container;\r\n this.disablePopover = config.disablePopover;\r\n this.popoverClass = config.popoverClass;\r\n this.openDelay = config.openDelay;\r\n this.closeDelay = config.closeDelay;\r\n this._popupService = new PopupService(\r\n NgbPopoverWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\r\n applicationRef);\r\n\r\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\r\n if (this._windowRef) {\r\n positionElements(\r\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\r\n this.container === 'body', 'bs-popover');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Opens the popover.\r\n *\r\n * This is considered to be a \"manual\" triggering.\r\n * The `context` is an optional value to be injected into the popover template when it is created.\r\n */\r\n open(context?: any) {\r\n if (!this._windowRef && !this._isDisabled()) {\r\n // this type assertion is safe because otherwise _isDisabled would return true\r\n const {windowRef, transition$} =\r\n this._popupService.open(this.ngbPopover as(string | TemplateRef), context, this.animation);\r\n this._windowRef = windowRef;\r\n this._windowRef.instance.animation = this.animation;\r\n this._windowRef.instance.title = this.popoverTitle;\r\n this._windowRef.instance.context = context;\r\n this._windowRef.instance.popoverClass = this.popoverClass;\r\n this._windowRef.instance.id = this._ngbPopoverWindowId;\r\n\r\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\r\n\r\n if (this.container === 'body') {\r\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\r\n }\r\n\r\n // We need to detect changes, because we don't know where .open() might be called from.\r\n // Ex. opening popover from one of lifecycle hooks that run after the CD\r\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\r\n this._windowRef.changeDetectorRef.detectChanges();\r\n\r\n // We need to mark for check, because popover won't work inside the OnPush component.\r\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\r\n // inside the template of an OnPush component and we change the popover from\r\n // open -> closed, the expression in question won't be updated unless we explicitly\r\n // mark the parent component to be checked.\r\n this._windowRef.changeDetectorRef.markForCheck();\r\n\r\n ngbAutoClose(\r\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\r\n [this._windowRef.location.nativeElement]);\r\n\r\n transition$.subscribe(() => this.shown.emit());\r\n }\r\n }\r\n\r\n /**\r\n * Closes the popover.\r\n *\r\n * This is considered to be a \"manual\" triggering of the popover.\r\n */\r\n close() {\r\n if (this._windowRef) {\r\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\r\n this._popupService.close(this.animation).subscribe(() => {\r\n this._windowRef = null;\r\n this.hidden.emit();\r\n this._changeDetector.markForCheck();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the popover.\r\n *\r\n * This is considered to be a \"manual\" triggering of the popover.\r\n */\r\n toggle(): void {\r\n if (this._windowRef) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /**\r\n * Returns `true`, if the popover is currently shown.\r\n */\r\n isOpen(): boolean { return this._windowRef != null; }\r\n\r\n ngOnInit() {\r\n this._unregisterListenersFn = listenToTriggers(\r\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\r\n this.close.bind(this), +this.openDelay, +this.closeDelay);\r\n }\r\n\r\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\r\n if (popoverClass && this.isOpen()) {\r\n this._windowRef !.instance.popoverClass = popoverClass.currentValue;\r\n }\r\n // close popover if title and content become empty, or disablePopover set to true\r\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\r\n this.close();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.close();\r\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\r\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\r\n if (this._unregisterListenersFn) {\r\n this._unregisterListenersFn();\r\n }\r\n this._zoneSubscription.unsubscribe();\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {NgbPopover, NgbPopoverWindow} from './popover';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nexport {NgbPopover} from './popover';\r\nexport {NgbPopoverConfig} from './popover-config';\r\nexport {Placement} from '../util/positioning';\r\n\r\n@NgModule({\r\n declarations: [NgbPopover, NgbPopoverWindow],\r\n exports: [NgbPopover],\r\n imports: [CommonModule],\r\n entryComponents: [NgbPopoverWindow]\r\n})\r\nexport class NgbPopoverModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n/**\r\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the progress bars used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbProgressbarConfig {\r\n max = 100;\r\n animated = false;\r\n striped = false;\r\n textType: string;\r\n type: string;\r\n showValue = false;\r\n height: string;\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation, HostBinding} from '@angular/core';\r\nimport {getValueInRange, isNumber} from '../util/util';\r\nimport {NgbProgressbarConfig} from './progressbar-config';\r\n\r\n/**\r\n * A directive that provides feedback on the progress of a workflow or an action.\r\n */\r\n@Component({\r\n selector: 'ngb-progressbar',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {class: 'progress'},\r\n template: `\r\n
    \r\n {{getValue() / max | percent}}\r\n
    \r\n `\r\n})\r\nexport class NgbProgressbar {\r\n private _max: number;\r\n\r\n /**\r\n * The maximal value to be displayed in the progress bar.\r\n *\r\n * Should be a positive number. Will default to 100 otherwise.\r\n */\r\n @Input()\r\n set max(max: number) {\r\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\r\n }\r\n\r\n get max(): number { return this._max; }\r\n\r\n /**\r\n * If `true`, the stripes on the progress bar are animated.\r\n *\r\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\r\n */\r\n @Input() animated: boolean;\r\n\r\n /**\r\n * If `true`, the progress bars will be displayed as striped.\r\n */\r\n @Input() striped: boolean;\r\n\r\n /**\r\n * If `true`, the current percentage will be shown in the `xx%` format.\r\n */\r\n @Input() showValue: boolean;\r\n\r\n /**\r\n * Optional text variant type of the progress bar.\r\n *\r\n * Supports types based on Bootstrap background color variants, like:\r\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\r\n *\r\n * @since 5.2.0\r\n */\r\n @Input() textType: string;\r\n\r\n /**\r\n * The type of the progress bar.\r\n *\r\n * Supports types based on Bootstrap background color variants, like:\r\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\r\n */\r\n @Input() type: string;\r\n\r\n /**\r\n * The current value for the progress bar.\r\n *\r\n * Should be in the `[0, max]` range.\r\n */\r\n @Input() value = 0;\r\n\r\n /**\r\n * The height of the progress bar.\r\n *\r\n * Accepts any valid CSS height values, ex. `\"2rem\"`\r\n */\r\n @Input() @HostBinding('style.height') height: string;\r\n\r\n constructor(config: NgbProgressbarConfig) {\r\n this.max = config.max;\r\n this.animated = config.animated;\r\n this.striped = config.striped;\r\n this.textType = config.textType;\r\n this.type = config.type;\r\n this.showValue = config.showValue;\r\n this.height = config.height;\r\n }\r\n\r\n getValue() { return getValueInRange(this.value, this.max); }\r\n\r\n getPercentValue() { return 100 * this.getValue() / this.max; }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbProgressbar} from './progressbar';\r\n\r\nexport {NgbProgressbar} from './progressbar';\r\nexport {NgbProgressbarConfig} from './progressbar-config';\r\n\r\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\r\nexport class NgbProgressbarModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n/**\r\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the ratings used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbRatingConfig {\r\n max = 10;\r\n readonly = false;\r\n resettable = false;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {NgbRatingConfig} from './rating-config';\r\nimport {getValueInRange} from '../util/util';\r\nimport {Key} from '../util/key';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\n/**\r\n * The context for the custom star display template defined in the `starTemplate`.\r\n */\r\nexport interface StarTemplateContext {\r\n /**\r\n * The star fill percentage, an integer in the `[0, 100]` range.\r\n */\r\n fill: number;\r\n\r\n /**\r\n * Index of the star, starts with `0`.\r\n */\r\n index: number;\r\n}\r\n\r\n/**\r\n * A directive that helps visualising and interacting with a star rating bar.\r\n */\r\n@Component({\r\n selector: 'ngb-rating',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n 'class': 'd-inline-flex',\r\n '[tabindex]': 'disabled ? -1 : 0',\r\n 'role': 'slider',\r\n 'aria-valuemin': '0',\r\n '[attr.aria-valuemax]': 'max',\r\n '[attr.aria-valuenow]': 'nextRate',\r\n '[attr.aria-valuetext]': 'ariaValueText()',\r\n '[attr.aria-disabled]': 'readonly ? true : null',\r\n '(blur)': 'handleBlur()',\r\n '(keydown)': 'handleKeyDown($event)',\r\n '(mouseleave)': 'reset()'\r\n },\r\n template: `\r\n {{ fill === 100 ? '★' : '☆' }}\r\n \r\n ({{ index < nextRate ? '*' : ' ' }})\r\n \r\n \r\n \r\n \r\n \r\n `,\r\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRating), multi: true}]\r\n})\r\nexport class NgbRating implements ControlValueAccessor,\r\n OnInit, OnChanges {\r\n contexts: StarTemplateContext[] = [];\r\n disabled = false;\r\n nextRate: number;\r\n\r\n\r\n /**\r\n * The maximal rating that can be given.\r\n */\r\n @Input() max: number;\r\n\r\n /**\r\n * The current rating. Could be a decimal value like `3.75`.\r\n */\r\n @Input() rate: number;\r\n\r\n /**\r\n * If `true`, the rating can't be changed.\r\n */\r\n @Input() readonly: boolean;\r\n\r\n /**\r\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\r\n */\r\n @Input() resettable: boolean;\r\n\r\n /**\r\n * The template to override the way each star is displayed.\r\n *\r\n * Alternatively put an `` as the only child of your `` element\r\n */\r\n @Input() starTemplate: TemplateRef;\r\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\r\n\r\n /**\r\n * An event emitted when the user is hovering over a given rating.\r\n *\r\n * Event payload equals to the rating being hovered over.\r\n */\r\n @Output() hover = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the user stops hovering over a given rating.\r\n *\r\n * Event payload equals to the rating of the last item being hovered over.\r\n */\r\n @Output() leave = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the user selects a new rating.\r\n *\r\n * Event payload equals to the newly selected rating.\r\n */\r\n @Output() rateChange = new EventEmitter(true);\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\r\n this.max = config.max;\r\n this.readonly = config.readonly;\r\n }\r\n\r\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\r\n\r\n isInteractive(): boolean { return !this.readonly && !this.disabled; }\r\n\r\n enter(value: number): void {\r\n if (this.isInteractive()) {\r\n this._updateState(value);\r\n }\r\n this.hover.emit(value);\r\n }\r\n\r\n handleBlur() { this.onTouched(); }\r\n\r\n handleClick(value: number) {\r\n if (this.isInteractive()) {\r\n this.update(this.resettable && this.rate === value ? 0 : value);\r\n }\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent) {\r\n // tslint:disable-next-line:deprecation\r\n switch (event.which) {\r\n case Key.ArrowDown:\r\n case Key.ArrowLeft:\r\n this.update(this.rate - 1);\r\n break;\r\n case Key.ArrowUp:\r\n case Key.ArrowRight:\r\n this.update(this.rate + 1);\r\n break;\r\n case Key.Home:\r\n this.update(0);\r\n break;\r\n case Key.End:\r\n this.update(this.max);\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n // note 'return' in default case\r\n event.preventDefault();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rate']) {\r\n this.update(this.rate);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\r\n this._updateState(this.rate);\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\r\n\r\n reset(): void {\r\n this.leave.emit(this.nextRate);\r\n this._updateState(this.rate);\r\n }\r\n\r\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\r\n\r\n update(value: number, internalChange = true): void {\r\n const newRate = getValueInRange(value, this.max, 0);\r\n if (this.isInteractive() && this.rate !== newRate) {\r\n this.rate = newRate;\r\n this.rateChange.emit(this.rate);\r\n }\r\n if (internalChange) {\r\n this.onChange(this.rate);\r\n this.onTouched();\r\n }\r\n this._updateState(this.rate);\r\n }\r\n\r\n writeValue(value) {\r\n this.update(value, false);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n private _updateState(nextValue: number) {\r\n this.nextRate = nextValue;\r\n this.contexts.forEach(\r\n (context, index) => context.fill = Math.round(getValueInRange(nextValue - index, 1, 0) * 100));\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbRating} from './rating';\r\n\r\nexport {NgbRating} from './rating';\r\nexport {NgbRatingConfig} from './rating-config';\r\n\r\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\r\nexport class NgbRatingModule {\r\n}\r\n","import {isNumber, toInteger} from '../util/util';\r\n\r\nexport class NgbTime {\r\n hour: number;\r\n minute: number;\r\n second: number;\r\n\r\n constructor(hour?: number, minute?: number, second?: number) {\r\n this.hour = toInteger(hour);\r\n this.minute = toInteger(minute);\r\n this.second = toInteger(second);\r\n }\r\n\r\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\r\n\r\n updateHour(hour: number) {\r\n if (isNumber(hour)) {\r\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\r\n } else {\r\n this.hour = NaN;\r\n }\r\n }\r\n\r\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\r\n\r\n updateMinute(minute: number) {\r\n if (isNumber(minute)) {\r\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\r\n this.changeHour(Math.floor(minute / 60));\r\n } else {\r\n this.minute = NaN;\r\n }\r\n }\r\n\r\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\r\n\r\n updateSecond(second: number) {\r\n if (isNumber(second)) {\r\n this.second = second < 0 ? 60 + second % 60 : second % 60;\r\n this.changeMinute(Math.floor(second / 60));\r\n } else {\r\n this.second = NaN;\r\n }\r\n }\r\n\r\n isValid(checkSecs = true) {\r\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\r\n }\r\n\r\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n/**\r\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the timepickers used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbTimepickerConfig {\r\n meridian = false;\r\n spinners = true;\r\n seconds = false;\r\n hourStep = 1;\r\n minuteStep = 1;\r\n secondStep = 1;\r\n disabled = false;\r\n readonlyInputs = false;\r\n size: 'small' | 'medium' | 'large' = 'medium';\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbTimeStruct} from './ngb-time-struct';\r\nimport {isInteger} from '../util/util';\r\n\r\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\r\n return new NgbTimeStructAdapter();\r\n}\r\n\r\n/**\r\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\r\n * any provided user time model `T`, ex. a string, a native date, etc.\r\n *\r\n * The adapter is used **only** for conversion when binding timepicker to a form control,\r\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\r\n *\r\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\r\n *\r\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\r\n *\r\n * @since 2.2.0\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\r\nexport abstract class NgbTimeAdapter {\r\n /**\r\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\r\n */\r\n abstract fromModel(value: T | null): NgbTimeStruct | null;\r\n\r\n /**\r\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\r\n */\r\n abstract toModel(time: NgbTimeStruct | null): T | null;\r\n}\r\n\r\n@Injectable()\r\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\r\n /**\r\n * Converts a NgbTimeStruct value into NgbTimeStruct value\r\n */\r\n fromModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\r\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\r\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\r\n null;\r\n }\r\n\r\n /**\r\n * Converts a NgbTimeStruct value into NgbTimeStruct value\r\n */\r\n toModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\r\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\r\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\r\n null;\r\n }\r\n}\r\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\r\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\r\n\r\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\r\n return new NgbTimepickerI18nDefault(locale);\r\n}\r\n\r\n/**\r\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\r\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\r\n * as explained in the Angular i18n guide.\r\n */\r\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\r\nexport abstract class NgbTimepickerI18n {\r\n /**\r\n * Returns the name for the period before midday.\r\n */\r\n abstract getMorningPeriod(): string;\r\n\r\n /**\r\n * Returns the name for the period after midday.\r\n */\r\n abstract getAfternoonPeriod(): string;\r\n}\r\n\r\n@Injectable()\r\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\r\n private _periods: Readonly<[string, string]>;\r\n\r\n constructor(@Inject(LOCALE_ID) locale: string) {\r\n super();\r\n\r\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\r\n }\r\n\r\n getMorningPeriod(): string { return this._periods[0]; }\r\n\r\n getAfternoonPeriod(): string { return this._periods[1]; }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\n\r\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\r\nimport {NgbTime} from './ngb-time';\r\nimport {NgbTimepickerConfig} from './timepicker-config';\r\nimport {NgbTimeAdapter} from './ngb-time-adapter';\r\nimport {NgbTimepickerI18n} from './timepicker-i18n';\r\n\r\nconst FILTER_REGEX = /[^0-9]/g;\r\n\r\n/**\r\n * A directive that helps with wth picking hours, minutes and seconds.\r\n */\r\n@Component({\r\n selector: 'ngb-timepicker',\r\n encapsulation: ViewEncapsulation.None,\r\n styleUrls: ['./timepicker.scss'],\r\n template: `\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    :
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    :
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n `,\r\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTimepicker), multi: true}]\r\n})\r\nexport class NgbTimepicker implements ControlValueAccessor,\r\n OnChanges {\r\n static ngAcceptInputType_size: string;\r\n\r\n disabled: boolean;\r\n model: NgbTime;\r\n\r\n private _hourStep: number;\r\n private _minuteStep: number;\r\n private _secondStep: number;\r\n\r\n /**\r\n * Whether to display 12H or 24H mode.\r\n */\r\n @Input() meridian: boolean;\r\n\r\n /**\r\n * If `true`, the spinners above and below inputs are visible.\r\n */\r\n @Input() spinners: boolean;\r\n\r\n /**\r\n * If `true`, it is possible to select seconds.\r\n */\r\n @Input() seconds: boolean;\r\n\r\n /**\r\n * The number of hours to add/subtract when clicking hour spinners.\r\n */\r\n @Input()\r\n set hourStep(step: number) {\r\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\r\n }\r\n\r\n get hourStep(): number { return this._hourStep; }\r\n\r\n /**\r\n * The number of minutes to add/subtract when clicking minute spinners.\r\n */\r\n @Input()\r\n set minuteStep(step: number) {\r\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\r\n }\r\n\r\n get minuteStep(): number { return this._minuteStep; }\r\n\r\n /**\r\n * The number of seconds to add/subtract when clicking second spinners.\r\n */\r\n @Input()\r\n set secondStep(step: number) {\r\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\r\n }\r\n\r\n get secondStep(): number { return this._secondStep; }\r\n\r\n /**\r\n * If `true`, the timepicker is readonly and can't be changed.\r\n */\r\n @Input() readonlyInputs: boolean;\r\n\r\n /**\r\n * The size of inputs and buttons.\r\n */\r\n @Input() size: 'small' | 'medium' | 'large';\r\n\r\n constructor(\r\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\r\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\r\n this.meridian = _config.meridian;\r\n this.spinners = _config.spinners;\r\n this.seconds = _config.seconds;\r\n this.hourStep = _config.hourStep;\r\n this.minuteStep = _config.minuteStep;\r\n this.secondStep = _config.secondStep;\r\n this.disabled = _config.disabled;\r\n this.readonlyInputs = _config.readonlyInputs;\r\n this.size = _config.size;\r\n }\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n writeValue(value) {\r\n const structValue = this._ngbTimeAdapter.fromModel(value);\r\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\r\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\r\n this.model.second = 0;\r\n }\r\n this._cd.markForCheck();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\r\n\r\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\r\n\r\n changeHour(step: number) {\r\n this.model.changeHour(step);\r\n this.propagateModelChange();\r\n }\r\n\r\n changeMinute(step: number) {\r\n this.model.changeMinute(step);\r\n this.propagateModelChange();\r\n }\r\n\r\n changeSecond(step: number) {\r\n this.model.changeSecond(step);\r\n this.propagateModelChange();\r\n }\r\n\r\n updateHour(newVal: string) {\r\n const isPM = this.model.hour >= 12;\r\n const enteredHour = toInteger(newVal);\r\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\r\n this.model.updateHour(enteredHour + 12);\r\n } else {\r\n this.model.updateHour(enteredHour);\r\n }\r\n this.propagateModelChange();\r\n }\r\n\r\n updateMinute(newVal: string) {\r\n this.model.updateMinute(toInteger(newVal));\r\n this.propagateModelChange();\r\n }\r\n\r\n updateSecond(newVal: string) {\r\n this.model.updateSecond(toInteger(newVal));\r\n this.propagateModelChange();\r\n }\r\n\r\n toggleMeridian() {\r\n if (this.meridian) {\r\n this.changeHour(12);\r\n }\r\n }\r\n\r\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\r\n\r\n formatHour(value?: number) {\r\n if (isNumber(value)) {\r\n if (this.meridian) {\r\n return padNumber(value % 12 === 0 ? 12 : value % 12);\r\n } else {\r\n return padNumber(value % 24);\r\n }\r\n } else {\r\n return padNumber(NaN);\r\n }\r\n }\r\n\r\n formatMinSec(value?: number) { return padNumber(isNumber(value) ? value : NaN); }\r\n\r\n handleBlur() { this.onTouched(); }\r\n\r\n get isSmallSize(): boolean { return this.size === 'small'; }\r\n\r\n get isLargeSize(): boolean { return this.size === 'large'; }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\r\n this.model.second = 0;\r\n this.propagateModelChange(false);\r\n }\r\n }\r\n\r\n private propagateModelChange(touched = true) {\r\n if (touched) {\r\n this.onTouched();\r\n }\r\n if (this.model.isValid(this.seconds)) {\r\n this.onChange(\r\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\r\n } else {\r\n this.onChange(this._ngbTimeAdapter.toModel(null));\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbTimepicker} from './timepicker';\r\n\r\nexport {NgbTimepicker} from './timepicker';\r\nexport {NgbTimepickerConfig} from './timepicker-config';\r\nexport {NgbTimeStruct} from './ngb-time-struct';\r\nexport {NgbTimeAdapter} from './ngb-time-adapter';\r\nexport {NgbTimepickerI18n} from './timepicker-i18n';\r\n\r\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\r\nexport class NgbTimepickerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * Interface used to type all toast config options. See `NgbToastConfig`.\r\n *\r\n * @since 5.0.0\r\n */\r\nexport interface NgbToastOptions {\r\n /**\r\n * Specify if the toast component should emit the `hide()` output\r\n * after a certain `delay` in ms.\r\n */\r\n autohide?: boolean;\r\n\r\n /**\r\n * Delay in ms after which the `hide()` output should be emitted.\r\n */\r\n delay?: number;\r\n\r\n /**\r\n * Type of aria-live attribute to be used.\r\n *\r\n * Could be one of these 2 values (as string):\r\n * - `polite` (default)\r\n * - `alert`\r\n */\r\n ariaLive?: 'polite' | 'alert';\r\n}\r\n\r\n/**\r\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\r\n * and customize the values of its properties in order to provide default values for all the toasts used in the\r\n * application.\r\n *\r\n * @since 5.0.0\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbToastConfig implements NgbToastOptions {\r\n autohide = true;\r\n delay = 500;\r\n ariaLive: 'polite' | 'alert' = 'polite';\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\r\nimport {reflow} from '../util/util';\r\n\r\nexport const ngbToastFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: true) => {\r\n const {classList} = element;\r\n\r\n if (!animation) {\r\n classList.add('show');\r\n return;\r\n }\r\n\r\n classList.remove('hide');\r\n reflow(element);\r\n classList.add('showing');\r\n\r\n return () => {\r\n classList.remove('showing');\r\n classList.add('show');\r\n };\r\n};\r\n\r\nexport const ngbToastFadeOutTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\r\n classList.remove('show');\r\n return () => { classList.add('hide'); };\r\n};\r\n","import {\r\n AfterContentInit,\r\n Attribute,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n NgZone,\r\n} from '@angular/core';\r\n\r\nimport {Observable} from 'rxjs';\r\nimport {take} from 'rxjs/operators';\r\n\r\nimport {NgbToastConfig} from './toast-config';\r\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\r\nimport {ngbToastFadeInTransition, ngbToastFadeOutTransition} from './toast-transition';\r\n\r\n\r\n/**\r\n * This directive allows the usage of HTML markup or other directives\r\n * inside of the toast's header.\r\n *\r\n * @since 5.0.0\r\n */\r\n@Directive({selector: '[ngbToastHeader]'})\r\nexport class NgbToastHeader {\r\n}\r\n\r\n/**\r\n * Toasts provide feedback messages as notifications to the user.\r\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\r\n *\r\n * @since 5.0.0\r\n */\r\n@Component({\r\n selector: 'ngb-toast',\r\n exportAs: 'ngbToast',\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n 'role': 'alert',\r\n '[attr.aria-live]': 'ariaLive',\r\n 'aria-atomic': 'true',\r\n 'class': 'toast',\r\n '[class.fade]': 'animation',\r\n },\r\n template: `\r\n \r\n {{header}}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n `,\r\n styleUrls: ['./toast.scss']\r\n})\r\nexport class NgbToast implements AfterContentInit,\r\n OnChanges {\r\n /**\r\n * If `true`, toast opening and closing will be animated.\r\n *\r\n * Animation is triggered only when the `.hide()` or `.show()` functions are called\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n private _timeoutID;\r\n\r\n /**\r\n * Delay after which the toast will hide (ms).\r\n * default: `500` (ms) (inherited from NgbToastConfig)\r\n */\r\n @Input() delay: number;\r\n\r\n /**\r\n * Auto hide the toast after a delay in ms.\r\n * default: `true` (inherited from NgbToastConfig)\r\n */\r\n @Input() autohide: boolean;\r\n\r\n /**\r\n * Text to be used as toast's header.\r\n * Ignored if a ContentChild template is specified at the same time.\r\n */\r\n @Input() header: string;\r\n\r\n /**\r\n * A template like `` can be\r\n * used in the projected content to allow markup usage.\r\n */\r\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\r\n\r\n /**\r\n * An event fired after the animation triggered by calling `.show()` method has finished.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event fired after the animation triggered by calling `.hide()` method has finished.\r\n *\r\n * It can only occur in 2 different scenarios:\r\n * - `autohide` timeout fires\r\n * - user clicks on a closing cross\r\n *\r\n * Additionally this output is purely informative. The toast won't be removed from DOM automatically, it's up\r\n * to the user to take care of that.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n constructor(\r\n @Attribute('aria-live') public ariaLive: string, config: NgbToastConfig, private _zone: NgZone,\r\n private _element: ElementRef) {\r\n if (this.ariaLive == null) {\r\n this.ariaLive = config.ariaLive;\r\n }\r\n this.delay = config.delay;\r\n this.autohide = config.autohide;\r\n this.animation = config.animation;\r\n }\r\n\r\n ngAfterContentInit() {\r\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\r\n this._init();\r\n this.show();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if ('autohide' in changes) {\r\n this._clearTimeout();\r\n this._init();\r\n }\r\n }\r\n\r\n /**\r\n * Triggers toast closing programmatically.\r\n *\r\n * The returned observable will emit and be completed once the closing transition has finished.\r\n * If the animations are turned off this happens synchronously.\r\n *\r\n * Alternatively you could listen or subscribe to the `(hidden)` output\r\n *\r\n * @since 8.0.0\r\n */\r\n hide(): Observable {\r\n this._clearTimeout();\r\n const transition = ngbRunTransition(\r\n this._zone, this._element.nativeElement, ngbToastFadeOutTransition,\r\n {animation: this.animation, runningTransition: 'stop'});\r\n transition.subscribe(() => { this.hidden.emit(); });\r\n return transition;\r\n }\r\n\r\n /**\r\n * Triggers toast opening programmatically.\r\n *\r\n * The returned observable will emit and be completed once the opening transition has finished.\r\n * If the animations are turned off this happens synchronously.\r\n *\r\n * Alternatively you could listen or subscribe to the `(shown)` output\r\n *\r\n * @since 8.0.0\r\n */\r\n show(): Observable {\r\n const transition = ngbRunTransition(this._zone, this._element.nativeElement, ngbToastFadeInTransition, {\r\n animation: this.animation,\r\n runningTransition: 'continue',\r\n });\r\n transition.subscribe(() => { this.shown.emit(); });\r\n return transition;\r\n }\r\n\r\n private _init() {\r\n if (this.autohide && !this._timeoutID) {\r\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\r\n }\r\n }\r\n\r\n private _clearTimeout() {\r\n if (this._timeoutID) {\r\n clearTimeout(this._timeoutID);\r\n this._timeoutID = null;\r\n }\r\n }\r\n}\r\n","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\n\r\nimport {NgbToast, NgbToastHeader} from './toast';\r\n\r\nexport {NgbToast, NgbToastHeader} from './toast';\r\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\r\n\r\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\r\nexport class NgbToastModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {PlacementArray} from '../util/positioning';\r\nimport {NgbConfig} from '../ngb-config';\r\n\r\n/**\r\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the tooltips used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbTooltipConfig {\r\n autoClose: boolean | 'inside' | 'outside' = true;\r\n placement: PlacementArray = 'auto';\r\n triggers = 'hover focus';\r\n container: string;\r\n disableTooltip = false;\r\n tooltipClass: string;\r\n openDelay = 0;\r\n closeDelay = 0;\r\n\r\n private _animation: boolean;\r\n\r\n constructor(private _ngbConfig: NgbConfig) {}\r\n\r\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\r\n set animation(animation: boolean) { this._animation = animation; }\r\n}\r\n","import {\r\n Component,\r\n Directive,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnDestroy,\r\n Inject,\r\n Injector,\r\n Renderer2,\r\n ComponentRef,\r\n ElementRef,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n NgZone,\r\n ViewEncapsulation,\r\n ChangeDetectorRef,\r\n ApplicationRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nimport {listenToTriggers} from '../util/triggers';\r\nimport {ngbAutoClose} from '../util/autoclose';\r\nimport {positionElements, PlacementArray} from '../util/positioning';\r\nimport {PopupService} from '../util/popup';\r\n\r\nimport {NgbTooltipConfig} from './tooltip-config';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'ngb-tooltip-window',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n '[class]': '\"tooltip\" + (tooltipClass ? \" \" + tooltipClass : \"\")',\r\n '[class.fade]': 'animation',\r\n 'role': 'tooltip',\r\n '[id]': 'id'\r\n },\r\n template: `
    `,\r\n styleUrls: ['./tooltip.scss']\r\n})\r\nexport class NgbTooltipWindow {\r\n @Input() animation: boolean;\r\n @Input() id: string;\r\n @Input() tooltipClass: string;\r\n}\r\n\r\n/**\r\n * A lightweight and extensible directive for fancy tooltip creation.\r\n */\r\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\r\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\r\n static ngAcceptInputType_autoClose: boolean | string;\r\n\r\n /**\r\n * If `true`, tooltip opening and closing will be animated.\r\n *\r\n * @since 8.0.0\r\n */\r\n @Input() animation: boolean;\r\n\r\n /**\r\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\r\n *\r\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\r\n * * `false` - disables the autoClose feature (NB: triggers still apply)\r\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\r\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\r\n * as well as `Escape` presses\r\n *\r\n * @since 3.0.0\r\n */\r\n @Input() autoClose: boolean | 'inside' | 'outside';\r\n\r\n /**\r\n * The preferred placement of the tooltip.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"auto\"` (same as the sequence above).\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() placement: PlacementArray;\r\n\r\n /**\r\n * Specifies events that should trigger the tooltip.\r\n *\r\n * Supports a space separated list of event names.\r\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\r\n */\r\n @Input() triggers: string;\r\n\r\n /**\r\n * A selector specifying the element the tooltip should be appended to.\r\n *\r\n * Currently only supports `\"body\"`.\r\n */\r\n @Input() container: string;\r\n\r\n /**\r\n * If `true`, tooltip is disabled and won't be displayed.\r\n *\r\n * @since 1.1.0\r\n */\r\n @Input() disableTooltip: boolean;\r\n\r\n /**\r\n * An optional class applied to the tooltip window element.\r\n *\r\n * @since 3.2.0\r\n */\r\n @Input() tooltipClass: string;\r\n\r\n /**\r\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\r\n *\r\n * @since 4.1.0\r\n */\r\n @Input() openDelay: number;\r\n\r\n /**\r\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\r\n *\r\n * @since 4.1.0\r\n */\r\n @Input() closeDelay: number;\r\n\r\n /**\r\n * An event emitted when the tooltip opening animation has finished. Contains no payload.\r\n */\r\n @Output() shown = new EventEmitter();\r\n\r\n /**\r\n * An event emitted when the tooltip closing animation has finished. Contains no payload.\r\n */\r\n @Output() hidden = new EventEmitter();\r\n\r\n private _ngbTooltip: string | TemplateRef| null | undefined;\r\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\r\n private _popupService: PopupService;\r\n private _windowRef: ComponentRef| null = null;\r\n private _unregisterListenersFn;\r\n private _zoneSubscription: any;\r\n\r\n constructor(\r\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\r\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\r\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\r\n applicationRef: ApplicationRef) {\r\n this.animation = config.animation;\r\n this.autoClose = config.autoClose;\r\n this.placement = config.placement;\r\n this.triggers = config.triggers;\r\n this.container = config.container;\r\n this.disableTooltip = config.disableTooltip;\r\n this.tooltipClass = config.tooltipClass;\r\n this.openDelay = config.openDelay;\r\n this.closeDelay = config.closeDelay;\r\n this._popupService = new PopupService(\r\n NgbTooltipWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\r\n applicationRef);\r\n\r\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\r\n if (this._windowRef) {\r\n positionElements(\r\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\r\n this.container === 'body', 'bs-tooltip');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\r\n *\r\n * If the content if falsy, the tooltip won't open.\r\n */\r\n @Input()\r\n set ngbTooltip(value: string | TemplateRef| null | undefined) {\r\n this._ngbTooltip = value;\r\n if (!value && this._windowRef) {\r\n this.close();\r\n }\r\n }\r\n\r\n get ngbTooltip() { return this._ngbTooltip; }\r\n\r\n /**\r\n * Opens the tooltip.\r\n *\r\n * This is considered to be a \"manual\" triggering.\r\n * The `context` is an optional value to be injected into the tooltip template when it is created.\r\n */\r\n open(context?: any) {\r\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\r\n const {windowRef, transition$} = this._popupService.open(this._ngbTooltip, context, this.animation);\r\n this._windowRef = windowRef;\r\n this._windowRef.instance.animation = this.animation;\r\n this._windowRef.instance.tooltipClass = this.tooltipClass;\r\n this._windowRef.instance.id = this._ngbTooltipWindowId;\r\n\r\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\r\n\r\n if (this.container === 'body') {\r\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\r\n }\r\n\r\n // We need to detect changes, because we don't know where .open() might be called from.\r\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\r\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\r\n this._windowRef.changeDetectorRef.detectChanges();\r\n\r\n // We need to mark for check, because tooltip won't work inside the OnPush component.\r\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\r\n // inside the template of an OnPush component and we change the tooltip from\r\n // open -> closed, the expression in question won't be updated unless we explicitly\r\n // mark the parent component to be checked.\r\n this._windowRef.changeDetectorRef.markForCheck();\r\n\r\n ngbAutoClose(\r\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\r\n [this._windowRef.location.nativeElement]);\r\n\r\n transition$.subscribe(() => this.shown.emit());\r\n }\r\n }\r\n\r\n /**\r\n * Closes the tooltip.\r\n *\r\n * This is considered to be a \"manual\" triggering of the tooltip.\r\n */\r\n close(): void {\r\n if (this._windowRef != null) {\r\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\r\n this._popupService.close(this.animation).subscribe(() => {\r\n this._windowRef = null;\r\n this.hidden.emit();\r\n this._changeDetector.markForCheck();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the tooltip.\r\n *\r\n * This is considered to be a \"manual\" triggering of the tooltip.\r\n */\r\n toggle(): void {\r\n if (this._windowRef) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /**\r\n * Returns `true`, if the popover is currently shown.\r\n */\r\n isOpen(): boolean { return this._windowRef != null; }\r\n\r\n ngOnInit() {\r\n this._unregisterListenersFn = listenToTriggers(\r\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\r\n this.close.bind(this), +this.openDelay, +this.closeDelay);\r\n }\r\n\r\n ngOnChanges({tooltipClass}: SimpleChanges) {\r\n if (tooltipClass && this.isOpen()) {\r\n this._windowRef !.instance.tooltipClass = tooltipClass.currentValue;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.close();\r\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\r\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\r\n if (this._unregisterListenersFn) {\r\n this._unregisterListenersFn();\r\n }\r\n this._zoneSubscription.unsubscribe();\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\r\n\r\nexport {NgbTooltipConfig} from './tooltip-config';\r\nexport {NgbTooltip} from './tooltip';\r\nexport {Placement} from '../util/positioning';\r\n\r\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\r\nexport class NgbTooltipModule {\r\n}\r\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\r\nimport {regExpEscape, toString, removeAccents} from '../util/util';\r\n\r\n/**\r\n * A component that helps with text highlighting.\r\n *\r\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\r\n * highlighting:\r\n *\r\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\r\n */\r\n@Component({\r\n selector: 'ngb-highlight',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n template: `` +\r\n `{{part}}{{part}}` +\r\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\r\n styleUrls: ['./highlight.scss']\r\n})\r\nexport class NgbHighlight implements OnChanges {\r\n parts: string[];\r\n\r\n /**\r\n * The CSS class for `` elements wrapping the `term` inside the `result`.\r\n */\r\n @Input() highlightClass = 'ngb-highlight';\r\n\r\n /**\r\n * The text highlighting is added to.\r\n *\r\n * If the `term` is found inside this text, it will be highlighted.\r\n * If the `term` contains array then all the items from it will be highlighted inside the text.\r\n */\r\n @Input() result?: string | null;\r\n\r\n /**\r\n * The term or array of terms to be highlighted.\r\n * Since version `v4.2.0` term could be a `string[]`\r\n */\r\n @Input() term: string | readonly string[];\r\n\r\n /**\r\n * Boolean option to determine if the highlighting should be sensitive to accents or not.\r\n *\r\n * This feature is only available for browsers that implement the `String.normalize` function\r\n * (typically not Internet Explorer).\r\n * If you want to use this feature in a browser that does not implement `String.normalize`,\r\n * you will have to include a polyfill in your application (`unorm` for example).\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() accentSensitive = true;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!this.accentSensitive && !String.prototype.normalize) {\r\n console.warn(\r\n 'The `accentSensitive` input in `ngb-highlight` cannot be set to `false` in a browser ' +\r\n 'that does not implement the `String.normalize` function. ' +\r\n 'You will have to include a polyfill in your application to use this feature in the current browser.');\r\n this.accentSensitive = true;\r\n }\r\n const result = toString(this.result);\r\n\r\n const terms = Array.isArray(this.term) ? this.term : [this.term];\r\n const prepareTerm = term => this.accentSensitive ? term : removeAccents(term);\r\n const escapedTerms = terms.map(term => regExpEscape(prepareTerm(toString(term)))).filter(term => term);\r\n const toSplit = this.accentSensitive ? result : removeAccents(result);\r\n\r\n const parts = escapedTerms.length ? toSplit.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\r\n\r\n if (this.accentSensitive) {\r\n this.parts = parts;\r\n } else {\r\n let offset = 0;\r\n this.parts = parts.map(part => result.substring(offset, offset += part.length));\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\r\n\r\nimport {toString} from '../util/util';\r\n\r\n/**\r\n * The context for the typeahead result template in case you want to override the default one.\r\n */\r\nexport interface ResultTemplateContext {\r\n /**\r\n * Your typeahead result item.\r\n */\r\n result: any;\r\n\r\n /**\r\n * Search term from the `` used to get current result.\r\n */\r\n term: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ngb-typeahead-window',\r\n exportAs: 'ngbTypeaheadWindow',\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n '(mousedown)': '$event.preventDefault()',\r\n '[class]': '\"dropdown-menu show\" + (popupClass ? \" \" + popupClass : \"\")',\r\n 'role': 'listbox',\r\n '[id]': 'id'\r\n },\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\nexport class NgbTypeaheadWindow implements OnInit {\r\n activeIdx = 0;\r\n\r\n /**\r\n * The id for the typeahead window. The id should be unique and the same\r\n * as the associated typeahead's id.\r\n */\r\n @Input() id: string;\r\n\r\n /**\r\n * Flag indicating if the first row should be active initially\r\n */\r\n @Input() focusFirst = true;\r\n\r\n /**\r\n * Typeahead match results to be displayed\r\n */\r\n @Input() results;\r\n\r\n /**\r\n * Search term used to get current results\r\n */\r\n @Input() term: string;\r\n\r\n /**\r\n * A function used to format a given result before display. This function should return a formatted string without any\r\n * HTML markup\r\n */\r\n @Input() formatter = toString;\r\n\r\n /**\r\n * A template to override a matching result default display\r\n */\r\n @Input() resultTemplate: TemplateRef;\r\n\r\n /**\r\n * A custom class to append to the typeahead window\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() popupClass: string;\r\n\r\n /**\r\n * Event raised when user selects a particular result row\r\n */\r\n @Output('select') selectEvent = new EventEmitter();\r\n\r\n @Output('activeChange') activeChangeEvent = new EventEmitter();\r\n\r\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\r\n\r\n getActive() { return this.results[this.activeIdx]; }\r\n\r\n markActive(activeIdx: number) {\r\n this.activeIdx = activeIdx;\r\n this._activeChanged();\r\n }\r\n\r\n next() {\r\n if (this.activeIdx === this.results.length - 1) {\r\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\r\n } else {\r\n this.activeIdx++;\r\n }\r\n this._activeChanged();\r\n }\r\n\r\n prev() {\r\n if (this.activeIdx < 0) {\r\n this.activeIdx = this.results.length - 1;\r\n } else if (this.activeIdx === 0) {\r\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\r\n } else {\r\n this.activeIdx--;\r\n }\r\n this._activeChanged();\r\n }\r\n\r\n resetActive() {\r\n this.activeIdx = this.focusFirst ? 0 : -1;\r\n this._activeChanged();\r\n }\r\n\r\n select(item) { this.selectEvent.emit(item); }\r\n\r\n ngOnInit() { this.resetActive(); }\r\n\r\n private _activeChanged() {\r\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\r\n }\r\n}\r\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\n\r\n\r\n// usefulness (and default value) of delay documented in Material's CDK\r\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\r\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\r\nexport const ARIA_LIVE_DELAY = new InjectionToken(\r\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\r\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\r\n return 100;\r\n}\r\n\r\n\r\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\r\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\r\n\r\n if (element == null && lazyCreate) {\r\n element = document.createElement('div');\r\n\r\n element.setAttribute('id', 'ngb-live');\r\n element.setAttribute('aria-live', 'polite');\r\n element.setAttribute('aria-atomic', 'true');\r\n\r\n element.classList.add('sr-only');\r\n\r\n document.body.appendChild(element);\r\n }\r\n\r\n return element;\r\n}\r\n\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class Live implements OnDestroy {\r\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\r\n\r\n ngOnDestroy() {\r\n const element = getLiveElement(this._document);\r\n if (element) {\r\n // if exists, it will always be attached to the \r\n element.parentElement !.removeChild(element);\r\n }\r\n }\r\n\r\n say(message: string) {\r\n const element = getLiveElement(this._document, true);\r\n const delay = this._delay;\r\n\r\n if (element != null) {\r\n element.textContent = '';\r\n const setText = () => element.textContent = message;\r\n if (delay === null) {\r\n setText();\r\n } else {\r\n setTimeout(setText, delay);\r\n }\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {PlacementArray} from '../util/positioning';\r\n\r\n/**\r\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\r\n *\r\n * You can inject this service, typically in your root component, and customize the values of its properties in\r\n * order to provide default values for all the typeaheads used in the application.\r\n */\r\n@Injectable({providedIn: 'root'})\r\nexport class NgbTypeaheadConfig {\r\n container;\r\n editable = true;\r\n focusFirst = true;\r\n showHint = false;\r\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Inject,\r\n Injector,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n ApplicationRef,\r\n OnChanges,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {DOCUMENT} from '@angular/common';\r\nimport {BehaviorSubject, fromEvent, Observable, of, OperatorFunction, Subject, Subscription} from 'rxjs';\r\nimport {map, switchMap, tap} from 'rxjs/operators';\r\n\r\nimport {Live} from '../util/accessibility/live';\r\nimport {ngbAutoClose} from '../util/autoclose';\r\nimport {Key} from '../util/key';\r\nimport {PopupService} from '../util/popup';\r\nimport {PlacementArray, positionElements} from '../util/positioning';\r\nimport {isDefined, toString} from '../util/util';\r\n\r\nimport {NgbTypeaheadConfig} from './typeahead-config';\r\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\r\n\r\n/**\r\n * An event emitted right before an item is selected from the result list.\r\n */\r\nexport interface NgbTypeaheadSelectItemEvent {\r\n /**\r\n * The item from the result list about to be selected.\r\n */\r\n item: T;\r\n\r\n /**\r\n * Calling this function will prevent item selection from happening.\r\n */\r\n preventDefault: () => void;\r\n}\r\n\r\nlet nextWindowId = 0;\r\n\r\n/**\r\n * A directive providing a simple way of creating powerful typeaheads from any text input.\r\n */\r\n@Directive({\r\n selector: 'input[ngbTypeahead]',\r\n exportAs: 'ngbTypeahead',\r\n host: {\r\n '(blur)': 'handleBlur()',\r\n '[class.open]': 'isPopupOpen()',\r\n '(keydown)': 'handleKeyDown($event)',\r\n '[autocomplete]': 'autocomplete',\r\n 'autocapitalize': 'off',\r\n 'autocorrect': 'off',\r\n 'role': 'combobox',\r\n 'aria-multiline': 'false',\r\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\r\n '[attr.aria-activedescendant]': 'activeDescendant',\r\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\r\n '[attr.aria-expanded]': 'isPopupOpen()'\r\n },\r\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTypeahead), multi: true}]\r\n})\r\nexport class NgbTypeahead implements ControlValueAccessor,\r\n OnInit, OnChanges, OnDestroy {\r\n private _popupService: PopupService;\r\n private _subscription: Subscription | null = null;\r\n private _closed$ = new Subject();\r\n private _inputValueBackup: string | null = null;\r\n private _valueChanges: Observable;\r\n private _resubscribeTypeahead: BehaviorSubject;\r\n private _windowRef: ComponentRef| null = null;\r\n private _zoneSubscription: any;\r\n\r\n /**\r\n * The value for the `autocomplete` attribute for the `` element.\r\n *\r\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\r\n *\r\n * @since 2.1.0\r\n */\r\n @Input() autocomplete = 'off';\r\n\r\n /**\r\n * A selector specifying the element the typeahead popup will be appended to.\r\n *\r\n * Currently only supports `\"body\"`.\r\n */\r\n @Input() container: string;\r\n\r\n /**\r\n * If `true`, model values will not be restricted only to items selected from the popup.\r\n */\r\n @Input() editable: boolean;\r\n\r\n /**\r\n * If `true`, the first item in the result list will always stay focused while typing.\r\n */\r\n @Input() focusFirst: boolean;\r\n\r\n /**\r\n * The function that converts an item from the result list to a `string` to display in the `` field.\r\n *\r\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\r\n * be updated.\r\n */\r\n @Input() inputFormatter: (item: any) => string;\r\n\r\n /**\r\n * The function that converts a stream of text values from the `` element to the stream of the array of items\r\n * to display in the typeahead popup.\r\n *\r\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\r\n * popup will be closed.\r\n *\r\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\r\n *\r\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\r\n */\r\n @Input() ngbTypeahead: OperatorFunction| null | undefined;\r\n\r\n /**\r\n * The function that converts an item from the result list to a `string` to display in the popup.\r\n *\r\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\r\n *\r\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\r\n */\r\n @Input() resultFormatter: (item: any) => string;\r\n\r\n /**\r\n * The template to override the way resulting items are displayed in the popup.\r\n *\r\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\r\n *\r\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\r\n */\r\n @Input() resultTemplate: TemplateRef;\r\n\r\n /**\r\n * If `true`, will show the hint in the `` when an item in the result list matches.\r\n */\r\n @Input() showHint: boolean;\r\n\r\n /**\r\n * The preferred placement of the typeahead.\r\n *\r\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n * `\"right-bottom\"`\r\n *\r\n * Accepts an array of strings or a string with space separated possible values.\r\n *\r\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n *\r\n * Please see the [positioning overview](#/positioning) for more details.\r\n */\r\n @Input() placement: PlacementArray = 'bottom-left';\r\n\r\n /**\r\n * A custom class to append to the typeahead popup window\r\n *\r\n * Accepts a string containing CSS class to be applied on the `ngb-typeahead-window`.\r\n *\r\n * This can be used to provide instance-specific styling, ex. you can override popup window `z-index`\r\n *\r\n * @since 9.1.0\r\n */\r\n @Input() popupClass: string;\r\n\r\n /**\r\n * An event emitted right before an item is selected from the result list.\r\n *\r\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\r\n */\r\n @Output() selectItem = new EventEmitter();\r\n\r\n activeDescendant: string | null = null;\r\n popupId = `ngb-typeahead-${nextWindowId++}`;\r\n\r\n private _onTouched = () => {};\r\n private _onChange = (_: any) => {};\r\n\r\n constructor(\r\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\r\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\r\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\r\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\r\n this.container = config.container;\r\n this.editable = config.editable;\r\n this.focusFirst = config.focusFirst;\r\n this.showHint = config.showHint;\r\n this.placement = config.placement;\r\n\r\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\r\n .pipe(map($event => ($event.target as HTMLInputElement).value));\r\n\r\n this._resubscribeTypeahead = new BehaviorSubject(null);\r\n\r\n this._popupService = new PopupService(\r\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\r\n applicationRef);\r\n\r\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\r\n if (this.isPopupOpen()) {\r\n positionElements(\r\n this._elementRef.nativeElement, this._windowRef !.location.nativeElement, this.placement,\r\n this.container === 'body');\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void { this._subscribeToUserInput(); }\r\n\r\n ngOnChanges({ngbTypeahead}: SimpleChanges): void {\r\n if (ngbTypeahead && !ngbTypeahead.firstChange) {\r\n this._unsubscribeFromUserInput();\r\n this._subscribeToUserInput();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._closePopup();\r\n this._unsubscribeFromUserInput();\r\n this._zoneSubscription.unsubscribe();\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\r\n\r\n writeValue(value) {\r\n this._writeInputValue(this._formatItemForInput(value));\r\n if (this.showHint) {\r\n this._inputValueBackup = value;\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\r\n }\r\n\r\n /**\r\n * Dismisses typeahead popup window\r\n */\r\n dismissPopup() {\r\n if (this.isPopupOpen()) {\r\n this._resubscribeTypeahead.next(null);\r\n this._closePopup();\r\n if (this.showHint && this._inputValueBackup !== null) {\r\n this._writeInputValue(this._inputValueBackup);\r\n }\r\n this._changeDetector.markForCheck();\r\n }\r\n }\r\n\r\n /**\r\n * Returns true if the typeahead popup window is displayed\r\n */\r\n isPopupOpen() { return this._windowRef != null; }\r\n\r\n handleBlur() {\r\n this._resubscribeTypeahead.next(null);\r\n this._onTouched();\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent) {\r\n if (!this.isPopupOpen()) {\r\n return;\r\n }\r\n\r\n // tslint:disable-next-line:deprecation\r\n switch (event.which) {\r\n case Key.ArrowDown:\r\n event.preventDefault();\r\n this._windowRef !.instance.next();\r\n this._showHint();\r\n break;\r\n case Key.ArrowUp:\r\n event.preventDefault();\r\n this._windowRef !.instance.prev();\r\n this._showHint();\r\n break;\r\n case Key.Enter:\r\n case Key.Tab:\r\n const result = this._windowRef !.instance.getActive();\r\n if (isDefined(result)) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._selectResult(result);\r\n }\r\n this._closePopup();\r\n break;\r\n }\r\n }\r\n\r\n private _openPopup() {\r\n if (!this.isPopupOpen()) {\r\n this._inputValueBackup = this._elementRef.nativeElement.value;\r\n const {windowRef} = this._popupService.open();\r\n this._windowRef = windowRef;\r\n this._windowRef.instance.id = this.popupId;\r\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\r\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\r\n this._windowRef.instance.popupClass = this.popupClass;\r\n\r\n if (this.container === 'body') {\r\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\r\n }\r\n\r\n this._changeDetector.markForCheck();\r\n\r\n ngbAutoClose(\r\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\r\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\r\n }\r\n }\r\n\r\n private _closePopup() {\r\n this._popupService.close().subscribe(() => {\r\n this._closed$.next();\r\n this._windowRef = null;\r\n this.activeDescendant = null;\r\n });\r\n }\r\n\r\n private _selectResult(result: any) {\r\n let defaultPrevented = false;\r\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\r\n this._resubscribeTypeahead.next(null);\r\n\r\n if (!defaultPrevented) {\r\n this.writeValue(result);\r\n this._onChange(result);\r\n }\r\n }\r\n\r\n private _selectResultClosePopup(result: any) {\r\n this._selectResult(result);\r\n this._closePopup();\r\n }\r\n\r\n private _showHint() {\r\n if (this.showHint && this._windowRef?.instance.hasActive() && this._inputValueBackup != null) {\r\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\r\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\r\n\r\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\r\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\r\n this._elementRef.nativeElement['setSelectionRange'].apply(\r\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\r\n } else {\r\n this._writeInputValue(formattedVal);\r\n }\r\n }\r\n }\r\n\r\n private _formatItemForInput(item: any): string {\r\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\r\n }\r\n\r\n private _writeInputValue(value: string): void {\r\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\r\n }\r\n\r\n private _subscribeToUserInput(): void {\r\n const results$ = this._valueChanges.pipe(\r\n tap(value => {\r\n this._inputValueBackup = this.showHint ? value : null;\r\n this._onChange(this.editable ? value : undefined);\r\n }),\r\n this.ngbTypeahead ? this.ngbTypeahead : () => of([]));\r\n\r\n this._subscription = this._resubscribeTypeahead.pipe(switchMap(() => results$)).subscribe(results => {\r\n if (!results || results.length === 0) {\r\n this._closePopup();\r\n } else {\r\n this._openPopup();\r\n\r\n this._windowRef !.instance.focusFirst = this.focusFirst;\r\n this._windowRef !.instance.results = results;\r\n this._windowRef !.instance.term = this._elementRef.nativeElement.value;\r\n if (this.resultFormatter) {\r\n this._windowRef !.instance.formatter = this.resultFormatter;\r\n }\r\n if (this.resultTemplate) {\r\n this._windowRef !.instance.resultTemplate = this.resultTemplate;\r\n }\r\n this._windowRef !.instance.resetActive();\r\n\r\n // The observable stream we are subscribing to might have async steps\r\n // and if a component containing typeahead is using the OnPush strategy\r\n // the change detection turn wouldn't be invoked automatically.\r\n this._windowRef !.changeDetectorRef.detectChanges();\r\n\r\n this._showHint();\r\n }\r\n\r\n // live announcer\r\n const count = results ? results.length : 0;\r\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\r\n });\r\n }\r\n\r\n private _unsubscribeFromUserInput() {\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n this._subscription = null;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {NgbHighlight} from './highlight';\r\nimport {NgbTypeaheadWindow} from './typeahead-window';\r\nimport {NgbTypeahead} from './typeahead';\r\n\r\nexport {NgbHighlight} from './highlight';\r\nexport {NgbTypeaheadWindow} from './typeahead-window';\r\nexport {NgbTypeaheadConfig} from './typeahead-config';\r\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\r\n\r\n@NgModule({\r\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\r\n exports: [NgbTypeahead, NgbHighlight],\r\n imports: [CommonModule],\r\n entryComponents: [NgbTypeaheadWindow]\r\n})\r\nexport class NgbTypeaheadModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\n\r\nimport {NgbAccordionModule} from './accordion/accordion.module';\r\nimport {NgbAlertModule} from './alert/alert.module';\r\nimport {NgbButtonsModule} from './buttons/buttons.module';\r\nimport {NgbCarouselModule} from './carousel/carousel.module';\r\nimport {NgbCollapseModule} from './collapse/collapse.module';\r\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\r\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\r\nimport {NgbModalModule} from './modal/modal.module';\r\nimport {NgbNavModule} from './nav/nav.module';\r\nimport {NgbPaginationModule} from './pagination/pagination.module';\r\nimport {NgbPopoverModule} from './popover/popover.module';\r\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\r\nimport {NgbRatingModule} from './rating/rating.module';\r\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\r\nimport {NgbToastModule} from './toast/toast.module';\r\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\r\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\r\n\r\n\r\n\r\nexport {\r\n NgbAccordion,\r\n NgbAccordionConfig,\r\n NgbAccordionModule,\r\n NgbPanel,\r\n NgbPanelChangeEvent,\r\n NgbPanelContent,\r\n NgbPanelHeader,\r\n NgbPanelHeaderContext,\r\n NgbPanelTitle,\r\n NgbPanelToggle\r\n} from './accordion/accordion.module';\r\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\r\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\r\nexport {\r\n NgbCarousel,\r\n NgbCarouselConfig,\r\n NgbCarouselModule,\r\n NgbSlide,\r\n NgbSlideEvent,\r\n NgbSlideEventDirection,\r\n NgbSlideEventSource\r\n} from './carousel/carousel.module';\r\nexport {NgbCollapse, NgbCollapseConfig, NgbCollapseModule} from './collapse/collapse.module';\r\nexport {\r\n NgbCalendar,\r\n NgbCalendarGregorian,\r\n NgbCalendarHebrew,\r\n NgbCalendarIslamicCivil,\r\n NgbCalendarIslamicUmalqura,\r\n NgbCalendarPersian,\r\n NgbCalendarBuddhist,\r\n NgbDate,\r\n NgbDateAdapter,\r\n NgbDateNativeAdapter,\r\n NgbDateNativeUTCAdapter,\r\n NgbDateParserFormatter,\r\n NgbDatepicker,\r\n NgbDatepickerConfig,\r\n NgbInputDatepickerConfig,\r\n NgbDatepickerContent,\r\n NgbDatepickerI18n,\r\n NgbDatepickerI18nDefault,\r\n NgbDatepickerI18nHebrew,\r\n NgbDatepickerKeyboardService,\r\n NgbDatepickerModule,\r\n NgbDatepickerMonth,\r\n NgbDatepickerNavigateEvent,\r\n NgbDatepickerState,\r\n NgbDateStruct,\r\n NgbInputDatepicker,\r\n NgbPeriod\r\n} from './datepicker/datepicker.module';\r\nexport {\r\n NgbDropdown,\r\n NgbDropdownAnchor,\r\n NgbDropdownConfig,\r\n NgbDropdownItem,\r\n NgbDropdownMenu,\r\n NgbDropdownModule,\r\n NgbDropdownToggle,\r\n NgbNavbar\r\n} from './dropdown/dropdown.module';\r\nexport {\r\n ModalDismissReasons,\r\n NgbActiveModal,\r\n NgbModal,\r\n NgbModalConfig,\r\n NgbModalModule,\r\n NgbModalOptions,\r\n NgbModalRef\r\n} from './modal/modal.module';\r\nexport {\r\n NgbNavChangeEvent,\r\n NgbNavConfig,\r\n NgbNav,\r\n NgbNavContent,\r\n NgbNavContentContext,\r\n NgbNavItem,\r\n NgbNavLink,\r\n NgbNavModule,\r\n NgbNavOutlet,\r\n NgbNavPane\r\n} from './nav/nav.module';\r\nexport {\r\n NgbPagination,\r\n NgbPaginationConfig,\r\n NgbPaginationEllipsis,\r\n NgbPaginationFirst,\r\n NgbPaginationLast,\r\n NgbPaginationModule,\r\n NgbPaginationNext,\r\n NgbPaginationNumber,\r\n NgbPaginationPrevious,\r\n NgbPaginationPages\r\n} from './pagination/pagination.module';\r\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\r\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\r\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\r\nexport {\r\n NgbTimeAdapter,\r\n NgbTimepickerI18n,\r\n NgbTimepicker,\r\n NgbTimepickerConfig,\r\n NgbTimepickerModule,\r\n NgbTimeStruct\r\n} from './timepicker/timepicker.module';\r\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\r\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\r\nexport {\r\n NgbHighlight,\r\n NgbTypeahead,\r\n NgbTypeaheadConfig,\r\n NgbTypeaheadModule,\r\n NgbTypeaheadSelectItemEvent\r\n} from './typeahead/typeahead.module';\r\nexport {Placement} from './util/positioning';\r\n\r\nexport {NgbConfig} from './ngb-config';\r\n\r\n\r\nconst NGB_MODULES = [\r\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\r\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\r\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule\r\n];\r\n\r\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\r\nexport class NgbModule {\r\n}\r\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 ɵg,NgbDateStructAdapter as ɵh} from './datepicker/adapters/ngb-date-adapter';\nexport {NgbDatepickerDayView as ɵc} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵf} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵd} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵe} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵr} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵz} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵb} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵi,NgbDateISOParserFormatter as ɵj} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵs} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵu} from './modal/modal-stack';\nexport {NgbModalWindow as ɵt} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵk} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵl,NgbTimeStructAdapter as ɵm} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵn,NgbTimepickerI18nDefault as ɵo} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵp} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵq} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵw,ARIA_LIVE_DELAY_FACTORY as ɵx,Live as ɵy} from './util/accessibility/live';\nexport {ContentRef as ɵba} from './util/popup';\nexport {ScrollBar as ɵv} from './util/scrollbar';","import baseFlatten from './_baseFlatten.js';\nimport baseOrderBy from './_baseOrderBy.js';\nimport baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nexport default sortBy;\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","/**\n * @license Angular v10.1.6\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 constructor(start, end, details = null) {\n this.start = start;\n this.end = end;\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 return new ParseSourceSpan(start, end);\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 cloned = false;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (!cloned) {\n start = start.clone();\n cloned = true;\n }\n start.advance();\n }\n }\n return new ParseSourceSpan(new ParseLocation(start.file, start.state.offset, start.state.line, start.state.column), new ParseLocation(this.file, this.state.offset, this.state.line, this.state.column));\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}\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);\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);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);\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);\n const el = new Element$1(fullName, attrs, [], span, span, 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), 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));\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